Создание Темплейта.

D4RK 4NG3L

Новичок
Создание Темплейта.

Здрасьте. Не хочу показаться идиотом, но у меня есть вопрос. Я делаю свою CMS и хочу сделать её на темплейтах, чтобы вид был приблизительно такой:
PHP:
...
<tr>
<td>
[NAV_MENU]
</td>
<td>
[CONTENT]
</td>
Но суть проблемы в том, что я никак не пойму как сделать так, чтобы элементы [NAV_MENU] и [CONTENT] заменялись на вывод меню навигации и собственно содержания сайта. Вся информация берётся из БД. Сначала думал попробовать str_replace'ом но там никак нельзя. Пожалуйста помогите...
 

D4RK 4NG3L

Новичок
млин, наверно плохо изъяснил суть вопроса :)
Там такая ситуация, когда я выбираю из БД меню навигации, то простым методом его распределение выглядит вот таким образом:
PHP:
  while ($mas_menu = mysql_fetch_array($res_menu))
                {
                                print "<tr><td class=table_text><a href=".$mas_menu['page_open']."&uid=".$uid."
                                title=".$mas_menu['opys_menu'].">
                                <b>".$mas_menu['name_menu']."</b></a>";
                }
И тут даже вопрос могу так поставить :) Ткните меня носом в правильное использование темплейта, при работе с массивами :)
 

Bambuk

Новичок
Зачем тебе шаблонная система, если ты данные сразу перемешиваешь с представлением?
 

D4RK 4NG3L

Новичок
Там токо меню навигации выводится в таблице, а шаблонка нужна чтоб те кто дизайн будут переделывать не парились по поводу РНР, там договорено, что нав. меню будет выводится в таблице, это не начто не повлияет :)
____
Там главная задача дизайнера составлять листы стилей + общий дизайн страницы, все классы в стилях обговорены заранее...
А на мой вопрос всё таки ответят?
 

Фанат

oncle terrible
Команда форума
окей.
ну раз тебе меню надо в переменной, то почему ты его сразу выводишь ?
 

P.Anton

Новичок
И чего тут не понятного?
$sMenu = "";
while ($mas_menu = mysql_fetch_array($res_menu))
{
$sMenu .= "<tr><td class=table_text><a href=".$mas_menu['page_open']."&uid=".$uid."
title=".$mas_menu['opys_menu'].">
<b>".$mas_menu['name_menu']."</b></a>";
}
$sTemplate = file_get_contents("test.html");
$sAnswer = str_replace("[NAV_MENU]",$sMenu,$sTemplate );
$sAnswer = str_replace("[CONTENT]","test",$sAnswer );

echo $sAnswer;
 

Crystal

Новичок
D4RK 4NG3L
или возьми какой-нибудь шаблонизатор типа Смарти, с ним это все очень просто делается.
 

Crystal

Новичок
Фанат
Ну это имхо. На глобальность утверждения не претендую. Может, для вывода двух переменных это и не надо, но впоследствии может пригодится.
 

mozz

Новичок
PHP:
<tr> 
<td> 
<? @include("includes/NAV_MENU.inc.php"); ?>
</td> 
<td> 
<? @include("includes/CONTENT.inc.php"); ?> 
</td>
А в инк файлах описываешь что пишешь в хтмл
 

D4RK 4NG3L

Новичок
Всё большое спасибо для P.Anton .
2Crystal:
Смарти недолюбливаю... Страшный он :)
2mozz:
Мне шаблон был нужен без откровенного РНР :)
 

kolobok

fPanel Billing Coder
mozz
гмм .... интересно, видел ли твой пост фанат ;)
собак то зачем понаклепал это раз, полный открывающий тег надо ставить <?php
 

Фанат

oncle terrible
Команда форума
видел, но про собак сил уже нету.
а тег - не преступление...
 

kolobok

fPanel Billing Coder
а тег - не преступление...
блин ... ну неправильно выразился. не преступление конечно, но удобноваримей ИМХО.

видел, но про собак сил уже нету.
Может выкусывать их из пхп кода а? ;) и язык обрывать не надо будет, доказывая что дебагить нормально надо, а не затыкать ошибки.
 

D4RK 4NG3L

Новичок
Ыыыы, это снова я :) Теперь появилась проблема потруднее.. и моих мозгов для неё точно не хватит...
Вот суть:
PHP:
if (!isset($p))
{
if(isset($u))
{
if (file_exists("users/".$u.".php"))
{
include "users/".$u.".php";
}
else
{
include "modulez/news.php";
}
}
else
{
include "modulez/news.php";
}
}
else
{
if (file_exists("modulez/".$p.".php"))
{
include "modulez/".$p.".php";
}
else
{
include "modulez/news.php";
}
}
Здесь:
$p - Собственно имя раздела, который запросил юзер, по совместительству также имя файла-обработчика на РНР.
$u - Это запрошенная авторизированным пользователем страничка(профиль, список пользователей и т.д.).
___
Вот именно вот это код будет обрабатывать то самое [CONTENT] . Посоветуйте здесь что-нибудь...

-~{}~ 21.10.05 14:00:

Ап, помогите пожалуйсто :(
 

kvf77

Red Devil
D4RK 4NG3L

если ты сам признаешь, что твоих мозгов на это не хватает - может логичнее отложить программирование в сторону?

твой последний вопрос вообще лишен смысла - что тебе посоветовать? на ум тока приходит один совет - не занимайся не своим делом
 

Фанат

oncle terrible
Команда форума
чёта не нравится мне это "апанье" совсем.
может закрывать тему за такие шутки нафиг?
 
Сверху