Building a Site Engine with PHP, Part 5 - Improve your Blocking Skills (
Page 4 of 5 )
Installing the blocks is where that paper that you should have been writing the plug-in and module ID’s down will come in handy. If you didn’t make a list of them, now would be a good time to do so. The blocks and block_location tables are where you’ll spend most of the time installing components because most blocks will share the same plug-in and module. In fact I have one plug-in that runs 27 blocks in my set up.
Blocks Table -- Five Fields
The blocks table is where you need to start. This table contains five fields that you need to fill in.
The first is block_title, which contains the title of the block. The block_title can be whatever you want it to be; this is where you’ll put the title that will show up on the top of your blocks (each one is different). You can even put tags in here that will get replaced at runtime.
Then you need to fill in the block_file field, which works just like the module_file field. Just put in the name of the actual PHP file that contains your block data.
Then you have the group_ID field which corresponds with the group_ID in groups table. This enables the engine know if it should load a block depending on who’s logged in.
Following that is the plugin_ID and the mod_ID, which you should fill in with the ID of the plug-in and module that the block is dependant on. This step is really important, because if a plug-in or module fails to load, the block will not load, therefore you won’t get any errors due to the missing information provided by the plug-in or module.
Block_location Table -- Four Fields
Now in the block_location table there are four fields to fill in. The block_ID contains the ID for the block in the blocks table that is generated by an auto increment field when you install a new block. The block_col tells the engine what column the block loads in. You simply put the number of the column you want it to load in; for example if you want a block to load in column2, you just put in a 2. After that is block_row which is the number in line that the block loads from top down. If a block is the top block you just put in a 1, if it’s the last in a column with 5 blocks, you’d put in a 5. And finally the blocks page. This field is rather important; it tells the engine what page to load specific block to load on. If you have a block that should show up when a person looks at the page with the URL that looks like this www.yoursite.com/?page=news_details, then you’d want your news details block to load on the news details page and not on the news summary page. For this field just put in the word that would be shown after the page= in the URL.
Not too complicated but it can get confusing after you get in the area of fifty blocks.
| | Discuss Building a Site Engine with PHP, Part 5 | | | | | | | great articles... thanks :) | | | | | | Thank you for the articles!
My question is: why it is necessary to have a... | | | | | | it would still be very helpful to me if a complete directory structure of a working... | | | | | | If anyone has gotten this to somewhat work. (ie knows which files should go where)... | | | | | | i'm taking a very good look at it and i almost have it up and running...
i'll keep... | | | | | | I was thinking of designing something very similar but I'm working backward. I... | | | | | | I read just the first article. I didn't read the rest 4 just because:
1) they were... | | | | | | Just copy and paste the code from here into your favorite editor (Crimson Editor),... | | | | | | I wouldn't call comments 'breaking up the code', quite the opposite, they make it... | | | | | | Yeah really, its not that hard to do. ;) | | | | | | I too have gotten most of it to work. The only thing I am still struggling with is... | | | | | | ok for the people who like to have a zip package with a working version how i see... | | | | | | damn... link formatting wont work >(
well here goes for the sql... | | | | | | scroll down :) | | | | | | Thats great! Thanks.
I see you have not used any of the modules though im still... | | | | | | Link formatting works if you are logged in. You can create a free blog account. It... | | | | | | yes i was looking for that too... where can a do that? | | | | | | i didnt have the time to look at the module system.
i'm not sure how they suppose... | | | | | | You can create your fee blog account... | | | | | | i've got it al working now, but i have one question.
How can I make a difference... | | | | | | I think this article is for beginners php.........
but its good overall | | | | | | when you make an instance of the site class, it looks if the page var is set.
You... | | | | | | but, this is my blcok_location table:
bl_ID block_ID block_row block_col ... | | | | | | in the [color=red]SITE_ROOT\plugins\blocks\main.plug.php[/color] find the... | | | | | | That's great!
I really couldn't understand that piece of code and i knew Jaimz... | | | | | | I get a few notices (
Notice: Array to string conversion in... | | | | | | The exact same thing happens for me. Regardless of what I set the page variable as,... | | | | | | you need to change you php.ini so that it does not report notices (search for error... | | | | | | struggling with this PHP thing, tried your package and got the following... | | | | | |
Hello
I am not php programmer, but I have been motivated by these great... | | | | | | output your SQL string to the screen and look for wrong SQL parts. Probably there is... | | | | | | for the php4 conversion, look at the discussion of the previous parts of this... | | | | | | i'm happy i just made this system work and it looks good ... but i have a few... | | | | | | everythign is controlled via the database, depending on what PAGE and what SITE... | | | | | | ok... and how about the first question.? | | | | | | let's say i have a link on my main page - "News". how do i do the... | | | | | | Nice article! | | | | | | Same problem for me too.. I've looked at it for 1 hour or so, it seems correct...... | | | | | | i'm having the same problem? did anyone find a solution yet? | | | | | | i've found a temporary solution, and i don't know if it's the best one. in... | | | | | | ok... everything is working nice and smooth... but i have a question. does anyone... | | | | | | Thanks for the superb articles! Great work indeed :)
Ok, so now I've begun to... | | | | | | Hehe, yeah, that works :) but the moment you want to do a page that only some users... | | | | | | Sorry I meant parentheses not comas :)
Btw, great articles! Helped me a lot in my... | | | | | | um, there is no "wrong" way of doing anything Jaimz provided everyone with a... | | | | | | hi,
i have problem with CURRENT TEMPLATE
if i want different template for each... | | | | | | good | | | | | | Don't get me wrong this is a very useful article which is almost exactly the same... | | | | | | replace your dbhost, dbuser, dbpass and dbname in config.inc.php with your database... | | | | | | replace your dbhost, dbuser, dbpass and dbname in config.inc.php with your database... | | | | | | libxml2-2.6.13-1.i386.rpm
libxml2-devel-2.6.13-1.i386.rpm
install both of em adn... | | | | | | I really liked the article series, it is a good starting point for building a site... | | | | | | Hi,
your articles are really very good for newbie PHP programmers trying to... | | | | | | I saved the auth, blocks and templates files as includes which is more logical... | | | | | | this type of engine is being used on a high-traffic production server. dont doubt... | | | | | | um your not understanding how this engine works, you define what pages the blocks... | | | | | | Help me please! It is possible to give an example operations on such site of the... | | | | | | Hey Jefrey,
This link is not accessible anymore, coul dyou please make the file... | | | | | | Thanks for the articles it has been an interesting read.
To my knowledge and I... | | | | | | Hi,
are these two files aviable somewhere to download? The original sourc is... | | | | | | Forgive for, probably, silly question.
For example, I have a class gallery and... | | | | | | this code doesnt work i allways get a mysql connection error and the php files are... | | | | | | The tutorial is meant as a base to work out from. you need to think out the rest for... | | | | | | I registred member but I cant download the script.
Somebody please send me this... | | | | | | Authors who are confident in their subject and what they have written usually post... | | | | | | Does anyone still have a copy of the source in a zip file for this? | | | | | | Sure. Why does someone write an article anyway? Some people simply build code and... | | | | | | If 10 people read this article and attempted to build the source code, you'd have 10... | | | | | | I think, that sources must exists! 'cause the article is not so full to show the... | | | | | | I agree that the point of this article was to teach and not provide a download for... | | | | | | umm.. this article is YEARS old.. and back when i first found it, it didnt take me... | | | | | | I've read through all five articles and really appreciate the effort the OP put in... | | | | | | Hopefully some one still reads these discussions about the site engine :) The idea... | | | | | | When you ask about the 'main.plugin.php' file, I am thinking that you may not be... | | | | | | Hi everyone,
I apologize for being too late with this post. I have just found... | | | | | | Yeah,
I would also like to encourage James to update and continue this article... | | | | | | >>> Post your comment now! | | | | | |
|
 |
|