В результате экспериментов пришёл к такому выводу: лучше самого PHP лучшего шаблонизатора нет.
Сейчас файл темплейта примерно такой:
PHP/HTML | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| <?php if(!defined('SIBB_OK')){die('Access denied!');}
function sibb_logomenuTpl()
{
global $Skin;
?>
<table width="100%" cellspacing="6" id="logomenu" border="0">
<tr>
<td align="left" valign="bottom" nowrap>
<img src="./templates/<?php echo $Skin?>/im/help.gif" title="Переход на страницу помощи" border="0" alt="">
<a href="index.php?action=15" title="Переход на страницу помощи">
<b>Помощь</b>
</a>
<img src="./templates/<?php echo $Skin?>/im/members.gif" title="Пользователи" border="0" alt="">
<a href="index.php?action=15" title="Список пользователей форума">
<b>Пользователи</b>
</a>
<img src="./templates/<?php echo $Skin?>/im/rules.png" title="Правила" border="0" alt="">
<a href="index.php?action=15" title="Прежде чем использовать данный форум внимательно прочитайте правила!">
<b>Правила</b>
</a>
<img src="./templates/<?php echo $Skin?>/im/search.gif" title="Поиск" border="0" alt="">
<a href="index.php?action=15" title="Поиск по форуму">
<b>Поиск</b>
</a>
</td>
</tr>
</table>
<?php
}
sibb_logomenuTpl();
?> |
|
Это блок основного меню. Как хорошо видно я отказался от языковой поддержки, а также от конфигов, в которых прописывались пункты меню. Всё ради упрощения движка. За описанием функции сразу следует её вызов. Файл просто инклюдится в нужном месте. Я против универсальных решений.
В данном варианте, как отлично видно PHP полностью отделён от HTML, хоть и находится вместе с ним в одном файле, поэтому проблем с правками не возникает. Да и подсветка работает как надо в любом редакторе кода. |