2017-01-11 166 views
0

我創造了我的Joomla com_content第3個的自定義字段,如在本教程中描述: https://docs.joomla.org/Adding_custom_fields_to_core_components_using_a_plugin/de從插件添加自定義字段到Joomla文章循環

現在我需要建立在一個類別中的所有產品進行了概述(43)並在joomla查詢中顯示這些自定義字段。

的文章模板文件覆蓋在我的實際的Joomla查詢:

 <?php 
      $catId = 43; 
      $query = "SELECT * FROM #__content WHERE catid ='" . $catId . "'"; 
      $db = JFactory::getDBO(); 
      $db->setQuery($query); 
      $articles = $db->loadObjectList(); 
      foreach($articles as $article){ 
       echo 'ID: ' . $article->id; 
       echo '<br />'; 
       echo 'Name: ' . $article->title; 
       echo '<br />'; 
       echo '<a href="' . JRoute::_('index.php?option=com_content&view=article&id='.$article->id) . '">Link</a>'; 
       echo '<br /><br />'; 
      } 
     ?> 

自定義字段可以被添加到文章的輸出搭配:

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

但這不是循環內的工作。我如何添加名爲custom_field_1的自定義字段到此循環?

+0

你爲什麼不作出同樣的插件,這裏面的查詢?用onContentPrepare方法? – Yoleth

+0

我需要在特定的網站模板中添加此循環。我不知道你的意思。你能給我一個例子的鏈接嗎? – Peesen87

回答

0

你應該使用內容插件的方法onContentPrepare,同樣你習慣在表單中添加字段:

public function onContentPrepare($context, &$row, $params, $page = 0){ 

    if (JFactory::getApplication()->getTemplate() !== 'your_template_name'){ 
     return; 
    } 

    $catId = 43; 
    $query = "SELECT * FROM #__content WHERE catid ='" . $catId . "'"; 
    $db = JFactory::getDBO(); 
    $db->setQuery($query); 
    $row->articles = $db->loadObjectList(); 

} 

現在,在您的項目你已經有了與類別的所有物品列表中選擇一個領域的文章43.

在您看來,您將能夠使用$ this-> item->文章檢索此列表。

0

你可以試試下面的代碼中環 -

<?php 
$attribs = json_decode($article->attribs); 
echo $attribs->custom_field_1; 
?> 
相關問題