4images Forum & Community
Welcome, Guest. Please login or register.
Did you miss your activation email?
February 23, 2019, 09:24:05 AM

Login with username, password and session length
Search:     Advanced search
Follow 4images on twitter: Click here to follow!
Togle to toolbar
Translate this page with =>
Translate this page >
* Home Help Search Login Register
+  4images Forum & Community
|-+  4images Modifications / Modifikationen
| |-+  Templates & Styles (Releases & Support)
| | |-+  To Template Developers: avoid using PHP code in templates (Moderator: Rembrandt)
| | | |-+  Thank You Post List (Complete)
Author Topic: To Template Developers: avoid using PHP code in templates  (Read 47337 times)
4images Moderator
4images Guru
Offline Offline

Posts: 4487

Did u ever stop to think and then forget to start?

View Profile
« on: March 17, 2005, 04:00:46 AM »

If u are making templates avalable for the public, try to avoid using PHP code inside the template, because many people experiensing lots of problems just cause of that!
Yes, I know, that by including "menu.php" file u can do changes in that file and without need editing each template. Agreed, that's the easiest way to do, but the side effect of that can cause number 2 problem discusing on this forum: eval() error.

so, what u can do about that? - simply replace all your <?php ... ?> code with {...} tag.
let me give u an idea how to do it.
lets say in your template u have this PHP code:
this inserts in the template what ever is in /menu.php file.
most of the time the file contains plain HTML code.

now, you replace the PHP code (as above) with this tag: {4images_menu} (Explanation let's make it "standard" tag, that everyone would use same tag everywhere Wink). Then, u create a new template: /templates/<yourtemplate>/4images_menu.html with the code from menu.php
In the installation.txt guide u state, that if this is a first time installation of new template, then they should add two lines, in /includes/page_header.php file, at the end, just before closing ?>
$menu = (file_exists(TEMPLATE_PATH."/4images_menu.html")) ? $site_template->parse_template("4images_menu") : "";
$site_template->register_vars("4images_menu", $menu);

that's all, now all {4images_menu} tags will be replaces with whatever u put into 4mages_menu.html template.

Hope this will go as some sort of guide for templete developers, cause as I mentioned above, eval() error is number 2 problem after SAFE MODE, but work around it is much easier.

Follow members gave a thank to your post:


For this post, 1 member gave a thank you!
« Last Edit: September 27, 2008, 11:32:04 AM by KurtW » Logged

Powered by MySQL Powered by PHP Powered by SMF | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.047 seconds with 18 queries.