У меня следующая проблема.
У меня есть страница, которая:
- читает сеанс из базы данных и все содержимое базы данных.
- «Примените» логику.
- и, наконец, презентацию, которая представляет собой файл шаблона (.tpl)
И это работает.Файл шаблона представляет собой сеть с сеткой и формой, в которой я могу CRUDL базу данных, поэтому она может варьироваться в зависимости от пользователя, который обращается к ней.Например, , если текущий пользователь является администратором, тогда он должен отобразить все опции, а если пользователь с ограниченными правами, то он должен скрыть некоторые поля .
Однако я не знаюкак действовать дальше.Как лучше взаимодействовать между бизнес-логикой и шаблоном?
a) Используйте шаблон с логикой ( Presentation Logic ).Например, если пользователи (которые имеют к нему доступ) имеют ограниченные права доступа, тогда логика удаляет кнопку «сохранить»:
...
{if current_user!=limited}
<input type='button' value='save' />
..
{endif}
...
- Преимущество заключается в том, что используется только один шаблон.
- Минусы: добавьте логику к уровню представления.
b) Используйте различные файлы шаблонов и решите в бизнес-логике, какой шаблон загрузить.
if ($current_user!="limited") {
load_template("template_complete.tpl");
} else {
load_template("template_limited.tpl");
}
- "за" - это шаблон более понятный (без логики)
- "против" - он многословен, он требует разных шаблонов.
или существует другое решение?.