אם אתה מתכנן ליותר מלקוח אחד, אתה צריך להכין לך משהו שיהיה קל לעריכה:
PHP קוד:
<?php
defined ("PHP_FILE") or exit;
$TEMPLATE = <<<CONTENT
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="rtl">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1255" />
<link rel='stylesheet' href='style.css.php' type='text/css' />
<%META%>
<title><%TITLE%></title>
</head>
<body><center>
<table cellspacing='0' cellpadding='0' id='main'>
<tr><td colspan='2'><%LOGO%></td></tr>
<tr><td class='wmenu'><%UPDATES%><br /></td>
<td rowspan='2' class='lmenu'><%THIS%></td></tr>
<tr><td class='wmenu'><%PAGES%></td></tr>
<tr><td colspan='2'><%BOTTOM%></td></tr>
</table>
</center></body>
</html>
CONTENT;
?>
אולי זה יתן לך השראה - קובץ סקינים ראשי. אני מבצע החלפה לפי משתנים, ומתאים כל עיצוב בקלות..
חוץ מזה, במערכת צריך שיהיה כמה שיותר אפשרויות עמודים, ממשק ניהול נחמד (וידידותי), אפשרויות מנהלים מתקדמות כמה שאתה יכול ובלוקים דינאמים - במקרה שלי פתרתי את זה ע"י משתנים <% VAR %>, קל ליצור אותם (לא STR_REPLACE פשוט), ואין בעיה לשנות את המיקום..
ובגלל שראיתי שאתה חושב שזה לא יעיל, במיוחד בשבילך קוד ההחלפה, היעיל מאוד לפי בדיקות תזמונים:
PHP קוד:
function skinvars($var)
{
global $vars, $DB;
extract ($GLOBALS);
require (SKIN."Vars.php");
foreach ($vars['html'] as $key => $val)
{
$keys[] = "<%".$key."%>";
$vals[] = $val;
}
echo str_replace ($keys, $vals, $var);
}
אני מכניס לתוך $vars['html'] תאים עם תוכן להחלפה.. וזהו, ביעילות מפתיעה.