...

View Full Version : Theming



Forsaken
03-24-2007, 10:58 PM
Well, I'm working on a mini project I took upon my self which will have different languages, themes ect.

What would be the best way to theme, I know cookies and stuff but I want a user friendly template / designing method so others can easily customize / make new templates for this application.

the-dream
03-24-2007, 11:50 PM
Base the whole thing in CSS!

Then people can edit the css to create differnt themes n' such

Forsaken
03-25-2007, 08:33 PM
well out of curiosity how do tpl files work? how do you transfer a variable from lets say PHP to a tpl file that just gets information using {USER_NAME} or something of that nature?

iLLin
03-25-2007, 09:28 PM
I use smarty templating... Everbody has there own favorite or you can just create your own.

Forsaken
03-25-2007, 09:48 PM
heh, just trying to learn some stuff out, cause i notice that tpl files use

a bunch of html like


<html>
<title>{TITLE_NAME}</title>
<body>
blablbablabla
</body>
</html>


and in another file have


$something = array("
'TITLE_NAME' => 'Something
");


and the {TITLE_NAME} would actually display "Something" which i dont understand how..

iLLin
03-25-2007, 10:15 PM
You need to assign the variables a name, and then run the template with the variables through your function to parse it.

Inigoesdr
03-26-2007, 03:56 AM
Presumably you would add all of your php variables to an array(like you did), then search for text in the template with the same name, and then replace it with the value from your array using a custom function or split the array and use preg_replace() to do both of the last steps at once.

Forsaken
03-26-2007, 05:55 AM
So if I had {SITE_NAME}, {TITLE_NAME} ect.. in another file (template file)

with an array of



$something = array('SITE_NAME' => 'YOURISLAND.COM',
'TITLE_NAME' => 'MY TITLE'
);


I would then I would have to make a function or something that would run at the start with like a loop or something that has



foreach($something as $key=>$definition)
{
// search for {$something} and replace it
}


this seem about right?

Inigoesdr
03-26-2007, 06:28 AM
preg_replace() will take arrays for search patterns & replacements for them so you wouldn't need a loop. If you already had the array you would probably want to use array_keys() & array_values() to split the array for preg_replace()

Forsaken
03-26-2007, 07:22 AM
alright im having bit of trouble here...

i have

english.lang


'UPLOAD' => 'Upload Files',
'MANAGE' => 'Manage Files',
'SHARE' => 'Share Files'


grab-template.php


$words_arr = array(file_get_contents('language/english.lang'));
print_r($words_arr);


whats happening is that it thinks the file_get_contents is one entire string which it is making and then sends it to the array so there is one thing in the array

$words_arr[0]

and when you echo that it displays



Array ( [0] => 'UPLOAD' => 'Upload Files', 'MANAGE' => 'Manage Files', 'SHARE' => 'Share Files' )


how can i fix this problem / go around it



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum