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]   

> Без описания
metra
Отправлено: 09 Февраля, 2011 - 08:42:37
Post Id



Гость


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


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




Есть CMS.
Хочу, что бы в шаблоне index.tpl.php был такой код

<div>{$header}</div>
<div>{foreach from $news....}</div>

а index.php его обрабатывал так:
1. В {$news} загоняю массив строк (новостей).
2. А в {$header} мне нужно загнать шаблон (header.tpl.php).

Все хорошо - ведь есть же функция fetch, НО в дочернем шаблоне header.tpl.php тоже есть переменные для подстаноки ({$menu} к примеру) и по моему предположению просто надо их так же ассигнировать ($smarty -> assign) в родительском файле (index.php)...

В общем суть - вложенные до бесконечности щаблоны, данные для переменных которых задаются в 1 файле (в идеале конечно в разных для каждого шаблона, но к сожалению я пока не придумал как это сделать).

Гуглил - нифига, гуглил на форуме - нифига.
Очень критичная проблема.
 
 Top
grefon
Отправлено: 09 Февраля, 2011 - 13:20:04
Post Id



Частый посетитель


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


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




Как-то вообще не понял в чем проблема. Попробуйте сформулировать вопрос в форме "Как сделать так, чтобы ......".


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
metra
Отправлено: 09 Февраля, 2011 - 14:14:12
Post Id



Гость


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


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




Попробую.

Как сделать так, что бы имея файлы header.tpl.php, login_form.tpl.php, news.tpl.php, content.tpl.php, каждый из которых отвечает за вывод определенного типа информации из БД, либо просто вписываемого посредством assign.

И все этим шаблоны являются дочерними к другому шаблону и вставляются как переменные. К примеру содержание главного шаблона:

<div>{$header}</div>
{$login_form}

и т.п.

Как мне написать PHP-файл который будет выводить этот главный шаблон? И написать его так, что бы все переменные, используемые в дочерних шаблонах, я ассигнил в файле главного шаблона (не в tpl, а там где вызываю display).

Если ассигнить $smarty -> fetch ("header.tpl.php") и т.п. Переменные дочерних шаблонов не вставляются. Так как они вставляются только те, которые на момент display() заассигнуты... В общем как то так...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB