2014-09-26 109 views
1

我想從joomla獲取關於我所在的菜單ID /文章/類別的一些信息。joomla 3獲取類別/關聯ID和菜單

$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
$whichMenu = $active->alias; 

這似乎很好。

兩個問題: 1)是上面的代碼'速度快' - 我在論壇上找到它。

2)如何獲取文章和類別ID - 假設我處於單個文章佈局中。

非常感謝

回答

2

爲了得到類別,文章編號,你可以迴應的文章佈局內這些變量:

/components/com_content/views/article/tmpl/default.php 

,並得到:

echo $this->item->id; 
echo $this->item->catid; 

文章的佈局可以在這裏找到覆蓋(如果不存在):

/templates/*your_template_name/html/com_content/article/default.php 

至於第一個代碼(問題1)似乎很好。

編輯:

爲了得到模板文件中的結果,你必須增加流動代碼:

$app = JFactory::getApplication(); 

    if($app->input->getCmd('option') == "com_content" && $app->input->getCmd('view') == "article") { 
    $article_id = $app->input->getCmd('id'); 

    $db = JFactory::getDbo(); 
    $query = $db->getQuery(true); 
    $query->select($db->quoteName('catid')); 
    $query->from($db->quoteName('#__content')); 
    $query->where($db->quoteName('id') . ' = '. $db->quote($article_id)); 
    $db->setQuery($query); 

    $cat_id = $db->loadResult(); 

    echo $article_id . " - " . $cat_id; 
    } 

希望這有助於

+0

感謝。這可以在default.php(或其他)佈局中正常工作。但是,我需要從我的index.php文件中獲取這些數字,但它們在那裏似乎不可用。 – maxelcat 2014-09-27 10:49:52

+0

請檢查我的編輯。 – emmanuel 2014-09-27 11:20:36

+0

再次感謝 - 非常有幫助 – maxelcat 2014-10-02 15:19:28