Joomler!.net - Decided on Joomla!

デル株式会社

Jboard is Multiple Board!

Home » Blog » クラス接尾辞
0 votes
Written by:Joomler! 2708 hits Tuesday, 10 March 2009 16:35

第四回は、メニューで設定したクラス接尾辞をテンプレートで利用してみます。

ページ毎(メニュー毎)にクラスの値を変えたり表示を変更するのは、$Itemid(メニューID)を下記のように取得すれば良いことをご存じの方は多いと思います。

$Itemid = JRequest::getInt('Itemid');

これで取得したメニューIDでモジュールを表示したり、非表示にすることは、Joomla!1.0.xからも、普通に今まで行ってきました。ですが、これだとクラスの値だけをページ毎に設定したくてもコンテンツなどには、接尾辞は反映されるが、テンプレートまでは来ません。

そこで以下のようにしてメニューで設定したクラス接尾辞をテンプレートで利用できるようにしました。

$Itemid = JRequest::getInt('Itemid');
$pageclass_sfx = '';
if($Itemid > 0){
	$menu = &JSite::getMenu();
	$params = & $menu->getParams($Itemid);
	$pageclass_sfx = $params->get('pageclass_sfx', '');
}

$this->params->set('pageclass_sfx', $pageclass_sfx);

こうすることで、通常テンプレートのパラメータ(設定値)を得るように

$this->params->get('pageclass_sfx');

で現在のメニューで設定した、クラス接尾辞が得られます。$Itemidで分岐してやることと大きな差はありませんが、最初に上記のコードを書いておく事で面倒な複数の分岐処理を書く必要がなくなります。

全く同じようにする必要はありませんが、何かの足しにはと・・・。

 

JContentPlus for Joomla!1.5 powered by Joomler!.net

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.