Joomla 3.1 を SEF と mod の書き換えで使用します。
「メニュー項目エイリアス」が参照するメニュー項目のリンクを取得するにはどうすればよいですか?
以下のコードを使用すると、「メニュー エイリアス」宛先ではなく、メニュー項目エイリアスのエイリアス フィールドがレンダリングされます。
$menu->getItem($men->id)->route
これが最善のアプローチだとは思いませんが、たとえば、データベースからこれをロードできます...
$menuLink=""; //to be used to store the result of our query
$alias='somealias'; //I am guessing you will already have the alias ready from some source
//query the database to find the link corresponding to this alias
$db=JFactory::getDbo();
$query=$db->getQuery(true);
$query->select('link');
$query->from('#__menu');
$query->where("alias='" . $alias . "'");
$db->setQuery($query);
try
{
$result=$db->loadObject();
$menuLink=$result->link;
}
catch(RuntimeException $e)
{
JError::raiseError(500, $e->getMessage());
}
誰かがより良い方法を思いついたら、それも良いでしょう:)これは私が通常行う方法ですが、私にとってはうまくいきます。お役に立てれば。