Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: smarty динамичный header
Форумы портала PHP.SU » » Вопросы новичков » smarty динамичный header

Страниц (1): [1]
 

1. qwerty - 04 Августа, 2011 - 21:39:56 - перейти к сообщению
привет! начал изучать smarty - столкнулся в проблемой.
у меня дизайн шапки не одинаковый для всех страниц - для главной он один, для страницы сообщений он другой (различие в количестве, размерах и расположении divов).
как это лучше реализовать? разные header(_home,_message).tpl для этих страниц? (но тогда в них будет много повторяющегося когда типа html, css, js)
или один шаблон но в нем логика (if home) дизайн_шапки_главной {elseif message} дизайн_шапки_сообщений {/if} ?
2. qwerty - 05 Августа, 2011 - 11:17:42 - перейти к сообщению
видимо я задал слишком глупый вопрос...сорри
3. dropoff - 05 Августа, 2011 - 20:40:26 - перейти к сообщению
можно один header.tpl
и при переходы на разные страницы ставить что-то типа
к примеру
$page = $_GET['contacts'];
if ($page == 'contacts')
{
$smarty->assign('contacts', true);
}

а в файле header.tpl

{if $contacts == true}
тут код для контактов
{/if}

и т.д..

может в таком роде что-то. точнее так вроде самое удобное, чем плодить кучи файлов и т.д..
4. smumrik - 05 Августа, 2011 - 20:57:44 - перейти к сообщению
dropoff ну то есть это то, что я имелл ввиду под вторым мной описанным вариантом...
получается в каждом скрипте нужно создавать свою смарти-переменную-идентификатор страницы сайта. Хм

а не лучше ли тогда создать один смарти конфиг с секциями для каждой страницы сайта?

типа
[Home]
pageName = "Home"
[Contacts]
pageName = "Contacts"
[Messages]
pageName = "Messages"

и подгружать его в начале каждого шаблона перед инклюдом шапки - {config_load file='config.conf' section='Contacts'}

ведь этот конфиг будет действовать в шаблоне шапки подключенном ниже?
5. dropoff - 05 Августа, 2011 - 21:01:59 - перейти к сообщению
Зачем в каждом скрипте?

файл index.php
$page = $_GET['contacts'];
if ($page == 'contacts')
{
$smarty->assign('contacts', true);
}
elseif ($page == 'messages')
{
$smarty->assign('messages', true);
}
6. smumrik - 05 Августа, 2011 - 21:21:35 - перейти к сообщению
dropoff пишет:
Зачем в каждом скрипте?

файл index.php
$page = $_GET['contacts'];
if ($page == 'contacts')
{
$smarty->assign('contacts', true);
}
elseif ($page == 'messages')
{
$smarty->assign('messages', true);
}


у меня один скрипт php = одна страница (то бишь логика для неё)

 

Powered by ExBB FM 1.0 RC1