Как создать динамические блоки сайта

Robin

Новичок
Как создать динамические блоки сайта

Извиняюсь возможно за офтоп но вот есть такая проблемка задали курсак поп построению CMS системы все как-то и хорошо идет начел с админ-панели, тоесть сделал уже добавление и редактирование новости и настройка конфигурации сайта, кучу функций классов написал. НО НЕКАК НЕСООБРАЖУ как сделать главный файл index.php, а именно автоматическую загрузку блока.
Всю шкурку сайта делаю с помосту шаблонов
Шаблон вида
PHP:
<head>
<meta http-equiv="Content-Language" content="en-us">
</head>

<div><table border="1" width="100%" height="0%">
	<tr>
		<td colspan="3">{%TITLE%}</td>
	</tr>
	<tr>
		<td colspan="3">
			<p align="right">
		        <a title="$s_home" href="#"><b>{%s_home%}</b></a> |
       			<a title="$s_news" href="#"><b>{%s_news%}</b></a> |
				<a title="$s_forum" href="#"><b>{%s_forum%}</b></a>
			</p>
		</td>
	</tr>
	<tr>
		<td width="180" valign="top">{%LEFT_BLOCK%}</td>
		<td width="100%" valign="top"><center>{%BLOCKS center%}{%MODULE%}{%BLOCKS down%}</center></td>
		<td width="180" valign="top">{%RIGTH_BLOCK%}</td>
	</tr>
	<tr>
		<td height="20" colspan="3">
			<center>
				<a title="$s_home" href="#"><b>{%s_home%}</b></a> |
				<a title="$s_news" href="#"><b>{%s_news%}</b></a> |
				<a title="$s_forum" href="#"><b>{%s_forum%}</b></a> |
				<a title="$s_topic" href="#"><b>{%s_topic%}</b></a> |
				<a title="$s_album" href="#"><b>{%s_album%}</b></a> |
				<a title="$s_faq" href="#"><b>{%s_faq%}</b></a> |
				<a title="$s_pages" href="#"><b>{%s_pages%}</b></a> |
				<a title="$s_recomm" href="#"><b>{%s_recomm%}</b></a> |
				<a title="$s_feed" href="#"><b>{%s_feed%}</b></a>
			</center>
		</td>
	</tr>
</table>
</div>
Ну и вот например как на это место {%LEFT_BLOCK%} влепить какой-то блок который написан в отдельном файле
:rolleyes:
 

Vallar_ultra

Любитель выпить :)
Блин, ну вот чем вам нормальные шаблонизаторы не нравятся???? Чего не хватает в Smarty или xTPL, раз все упорно стремяться написать очередной велосипед на гусеницах???

Если всё-таки это зачем-то надо:

Распарсиваешь шаблон и находишь все вызываемые там блоки, потом соответственно по какой-то своей логике вызываешь эти самые блоки и подпихиваешь на место вызова.
 

Robin

Новичок
Vallar_ultra почему я не использовал Smarty?? по очевидной причине это мне на курсовую работу код нужно будет защитить. :) иногда легче самому написать что-то чем разобраться в чужом коде. Если кто стыкался с таким опишите пожалуйста кусок кода буду очень благодарен :) или дайте линк на статью я с удовольствием почитаю
 

Vallar_ultra

Любитель выпить :)
regular expressions и вперёд. А вообще рекомендую разобраться как работает xTPL(он по-проще чем Smarty) и вперёд!
 

Alexander Coral

Новичок
Re: Как создать динамические блоки сайта

Автор оригинала: Robin
Ну и вот например как на это место {%LEFT_BLOCK%} влепить какой-то блок который написан в отдельном файле
:rolleyes:
PHP:
$template = '<code>... {%LEFT_BLOCK%} ...</code>';
echo str_replace('{%LEFT_BLOCK%}', file_get_contents('file.txt'), $template);
А дальше сам ^_^
 

Robin

Новичок
Alexander Coral спасибо именно это мне и надо было наверное сейчс будем пробывать :)
 
Сверху