このサイトは株式会社オープンソース・ワークショップの旧サイトです。
新サイトを参照していただけますようお願いいたします。
https://opensource-workshop.jp/
お知らせ
NetCommons開発TIPS
NetCommons2 使用しているテンプレート名をphpで取得する
こんにちは、牟田口です。
php側でテンプレート名を使ってプラグラムの動きを変えたかったので、
やり方を調査しました。
下記PHPで実現できます。
componentsの場合
$container =& DIContainerFactory::getContainer();
$block =& $container->getComponent("blocksView");
$block_id = intval($request->getParameter("block_id"));
$block_obj = $block->getBlockById($block_id);
// $block_obj['temp_name']; //←テンプレート名が取得できる
(2018/09/28追記)
view・actionの場合
PHP
var $block_id = null;
var $blocksView = null;
function execute()
{
$block_obj = $this->blocksView->getBlockById($this->block_id);
$block_obj['temp_name']; //←テンプレート名が取得できる
}
maple.ini
[Action]
blocksView = "ref:blocksView"
参考になれば幸いです。
ではでは。