parserALT
Страницы форума: ← Назад | 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 600 | Дальше →

Использование базового шаблона, используя Templet

#1hash3g
11.11.09 18:34
www.parser.ru → | ответить → | в избранное →

Использование базового шаблона, используя Templet

Вопрос скорее всего касается людей, использующих PF.

При рендеринге шаблона используя Templet не нашел возможности использовать базовый шаблон. В самом шаблоне я выполняю @USE для вызова базового шаблона, а сам необходимый контент оборачиваю в метод @content[]. В базовом шаблоне в @main[] происходит вызов этого метода. Это в идеале. В итоге же я получаю ошибку

_pattern
is 'string', not a method or junction, can not call it

Хотелось бы знать, как при помощи движка Templet возможно реализовать такую структуру?

Заранее спасибо =)
#2Sumo
→ hash3g [#1] | 11.11.09 18:57 / 19:00
www.parser.ru → | ответить → | в избранное →

Сейчас Темплет не поддерживает наследолвание...

Я в таких случаях использую shared-шаблоны, т.е. выношу общие блоки в отдельную папку и из шаблока вызываю метод include:
/shared/block.p:
 <h1>$someTitle</h1>

template.p:
  ^include[/shared/block.p;$.vars[$.someTitle[Заголовок]]]


Если функционала метода include не хватает, то всегда можно расширить набор методов шаблона своими:
controller.p:
@renderMy[aName;aOptions]
  $result[^render[/shared/$aName;$aOptions]]

@onSomeAction[aRequest]
  ^assignVar[renderMy;$renderMy]
  ^render[template.p]

template.p:
  ^renderMy[block.p;$.vars[...]]
Страницы форума: ← Назад | 1 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 600 | Дальше →