今ごろMojavi2用Smartyプラグイン作成。
<?php
function smarty_function_mojavi_action($params, &$smarty) {
$controller =& Controller::getInstance();
$actionChain =& new ActionChain();
$actionChain->register($params["module"]."_".$params["action"], $params["module"], $params["action"]);
$actionChain->execute($controller, $controller->request, $controller->user);
return $actionChain->fetchResult($params["module"]."_".$params["action"]);
}
?>
これをこんな感じで使う。
<html>
<body>
<div id="menu">
<strong>{mojavi_action module="Menu" action="List"}</strong>
</div>
<div id="contents">
foo
bar
ontent
</div>
</body>
</html>
テンプレ中でActionChainでパーツを呼び出す。
なんで今までこれ気づかなかったんだろ。