Одинаковые шаблоны в Smarty

shiko

Guest
Одинаковые шаблоны в Smarty

Здравствуйте.
Подскажите, как в смарти сделать так, чтобы одинаковые части разных страниц (к примеру меню) находились в одном шаблоне,
т.е. для боди у всех свой собственный шаблон, а для меню для всех один и тот же шаблон.
Как я понял, в смарти для каждой отличающейся дизайном страницы должен быть свой шаблон.
Скажем для главной создаем папку main, в которой и располагаются папки cache, configs, templates, templates_c, и файл index.php.
Для гостевой - guestbook с теми же папками и т.д.
Так вот, в примере для смарти шаблон для боди и шаблоны для одинаковых частей лежат в одной папке templates, а значит доступны только main, а мне надо, чтобы и guestbook.
Надеюсь, понятно изъяснился...
 

Demiurg

Guest
что то ты путаешь ... есть настройки smarty, которые указывают где лежат шаблоны, где лежат скомпилированые шаблоны, где лежит кеш и тд. Это первое.

Второе. Если у тебя есть общая часть, которая повторяется во всех шаблонах, то стоит эту часть вынести в отдельный шаблон и подключать его с помощью {include file = .. }
 

shiko

Guest
Demiurg
Настройки smarty, я так понимаю, вот это:

$smarty->template_dir = "main/templates";
$smarty->compile_dir = "main/templates_c";
$smarty->config_dir = "main/configs";

У меня это все прописано. В templates у меня лежат 3 шаблона: header.tpl, footer.tpl и index.tpl.
header.tpl, footer.tpl - это одинаковые части и они подключаются в index.tpl как ты и сказал с помощью {include file = .. }. Но мне ведь надо подключить шаблон, находящийся вне указанной в настройках директории "main/templates" (скажем из "common/templates"). Т.е. я выношу одинаковые части (header.tpl, footer.tpl) в директорию "common/templates", а в "main/templates", "guestbook/templates" и т.д. оставляю только index.tpl, в которых прописываю что-то типа этого:

{include file = "../../common/templates/header.tpl" }
{include file = "../../common/templates/footer.tpl" }

Но вот как раз это-то и не получается, какие бы я пути не указывал, полные или относительные - выходит ошибка "не могу найти файл"

Может вот этот вопрос будет более конкретным:
для каждой страницы со своим отличным от других шаблоном должны быть собственные папки templates, configs, cache и т.д., или же ВСЕ шаблоны должны лежать в ОДНОЙ ЕДИНСТВЕННОЙ папке templates? Или по-другому, сколько папок templates должно быть на сайте?

P.S. извините, писать могу только раз в 12 часов. Спасибо.
 

Demiurg

Guest
зачем тебе разбрасывть шаблоны ? шаблоны должны лешать все в одной папке (при этом в папке могут быть подпапки в которых тоже будут шаблоны)
 

shiko

Guest
Последний логичный вопрос.
Каждому шаблону должен соответствовать свой index.php (название может быть другим) или не возбраняется "один на всех"
 

Demiurg

Guest
>Каждому шаблону должен соответствовать свой index.php
поподробнее
 
Сверху