From Mahara Wiki

< カスタマイズ/テーマ
Revision as of 04:32, 11 June 2011 by Mits (talk | contribs)

作成中です - mits

Mahara 1.2ではテンプレートエンジンとして、Smartyの代わりにDwooを使用します。両テンプレートエンジンには多くの互換性がありますが、既存のテンプレートにおいて、変更すべき点がいくつかあります。



In Smarty, {cycle} arguments don't need to be quoted. In Dwoo, they must be. For example, {cycle values=r0,r1} works in Smarty, but must be changed to {cycle values='r0,r1} in Dwoo.


Insert is used in Smarty to insert the return value of a function call, and skip caching. Eg {insert name="messages"} would call the php function insert_messages, and insert what it returned into the resulting template.

In Dwoo, this should be done using a native php call {insert_messages} and to bypass caching, be wrapped inside {dynamic} tags, like {dynamic}{insert_messages}{/dynamic}

Use of "data" when including templates

Both Smarty and Dwoo support including templates from within other templates, using {include}, and both support passing data between templates, using {include something='something'}. However, if you pass a variable called "data" in Dwoo, it will overwrite the existing data, because of naming collision. Therefore {include file='something.tpl' innerdata=$foo} must be used instead.


In some places in Mahara 1.1, we were using {section} instead of Loops. This is really not properly compatible with Dwoo, it makes much more sense to just switch to a loop instead.