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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Шаблонизатор Smarty

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как объединить разные части шаблона в один файл?
igosja
Отправлено: 04 Февраля, 2015 - 22:26:37
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Не смог нагуглить решение следующей проблемы.

Я использую Smarty. Код страницы у меня выглядят следующим образом:

PHP:
скопировать код в буфер обмена
  1. $smarty->display('header.html');
  2.  
  3. //Здесь много кода по обработке данных и подготовке переменных для передачи в шаблон
  4.  
  5. $smarty->assign('var', $var);
  6.  
  7. $smarty->display('body.html');
  8. $smarty->display('footer.html');


Подключение кусков header и footer происходит на всех страницах. Можно ли как-то настроить систему, чтобы эти два файла подключались автоматически, а мне нужно было только прописать, какой шаблон подключать в середину?
 
 Top
and_07
Отправлено: 05 Февраля, 2015 - 08:51:53
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. {include file="header.tpl"}
  2. ........
  3. {include file="footer.tpl"}
 
 Top
igosja
Отправлено: 05 Февраля, 2015 - 10:04:37
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




and_07 пишет:
CODE (html):
скопировать код в буфер обмена
  1. {include file="header.tpl"}
  2. ........
  3. {include file="footer.tpl"}


Это все равно нужно писать в каждой странице.
На пример, на Yii шаблонах есть layout с верхом и низом, а внутри есть вывод <?php echo $content; ?>. Мы редактируем страницы контента, а layout подтягивается сам.

Можно ли что-то подобное настроить на Smarty?
 
 Top
and_07
Отправлено: 05 Февраля, 2015 - 11:33:07
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




не понял зачем на каждой

один файл main.tpl в нем

CODE (html):
скопировать код в буфер обмена
  1.  
  2. {include file="header.tpl"}
  3. ........
  4.                                 {if $tpl}                      
  5.                                         {include file=$tpl}
  6.                                 {/if}
  7. .......
  8. {include file="footer.tpl"}
  9.  
  10.  
 
 Top
igosja
Отправлено: 05 Февраля, 2015 - 11:43:34
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




and_07 пишет:
один файл main.tpl в нем

Спасибо, это то, что нужно. Все гениальное просто.

(Отредактировано автором: 05 Февраля, 2015 - 11:43:59)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB