2011-01-09 51 views
1

我想在我的Joomla模板中放置一些PHP來在非常特定的位置調用活動部分名稱。Joomla - echo部分名稱

我可以得到活動的菜單標題與此代碼

(at the top of my file, also used for something else) 
<?php 
    $menu =& JSite::getMenu(); 
    $active = $menu->getActive(); 
    $params = $menu->getParams($active->id); 
    $class = $params->get('pageclass_sfx'); 
?> 

<?php echo JSite::getMenu()->getActive()->name ?> 

,但我還沒有找到一個方法來調用活動部分的標題。

讓我知道你是否可以提供幫助。謝謝。

回答

0

無法真正測試這一點,但它應該把它做

$db =& JFactory::getDBO(); // if you havent included already 
$thisArticle=JRequest::getInt('id');// gets current article id 
$query = 'SELECT sectionid FROM #__content WHERE id = ' . $thisArticle;// query to get the secton id 
$db->setQuery($query, 0, 1); 
$thisSectionID = $db->loadResult(); 
$query2 = 'SELECT * FROM jos_sections WHERE id = "$thisSectionID"'; // query to get the section title from section id 
$db->setQuery($query2); 
$column= $db->loadResultArray(); 
$sectionTitle = $column['2'] ; // variable to post section title 

你也許可以做到這一切在一個查詢中也有加入

+0

感謝您的幫助。看起來不錯,乾淨,但不幸的是我無法得到它的工作:( – 2011-01-14 15:52:32

0

發現的代碼塊在網絡上 - 我修改,以適合我的需要:

原代碼(輸出部分:分類)

<?php 
    defined('_JEXEC') OR defined('_VALID_MOS') OR die("Direct Access Is Not Allowed"); 
    $str = ''; 
    $str =& JRequest::getVar('id'); 
    $aStr = explode(":",$str); 
    $id = $aStr[0]; 

    if ($id > 0) { 
      $db = JFactory::getDBO(); 
      $query = "SELECT jos_sections.title as stitle, jos_categories.title as ctitle 
      FROM jos_content 
      LEFT JOIN jos_sections ON jos_content.sectionid = jos_sections.id 
      LEFT JOIN jos_categories ON jos_content.catid = jos_categories.id 
      WHERE jos_content.id = " . $id; 
      $db->setQuery($query); 
     $titles = $db->loadObjectList(); 
     echo " " . $titles[0]->stitle . ": " . $titles[0]->ctitle; 

    } 
?> 

我的版本:

<?php 
    defined('_JEXEC') OR defined('_VALID_MOS') OR die("Direct Access Is Not Allowed"); 
    $str = ''; 
    $str =& JRequest::getVar('id'); 
    $aStr = explode(":",$str); 
    $id = $aStr[0]; 

    if ($id > 0) { 
      $db = JFactory::getDBO(); 
      $query = "SELECT jos_sections.title as stitle 
      FROM jos_content 
      LEFT JOIN jos_sections ON jos_content.sectionid = jos_sections.id 
      WHERE jos_content.id = ".$id; 
      $db->setQuery($query); 
      $titles = $db->loadObjectList(); 
     echo '<span class="componentheading">'.$titles[0]->stitle.'</span>'; 

    } 

    else { 
     echo '<h1>'.JSite::getMenu()->getActive()->name.'</h1>'; 
    } 

?> 

它得到了節名,如果它不能得到什麼,它會得到活動的菜單項相關的,如果有一個。

希望它可以幫助別人!花了我一段時間纔得到這個工作。

最後一件事:它適用於Joomfish - 翻譯組件