2017-01-11 8 views
0

Я создал 3 пользовательские поля для моих JOOMLA com_content статей, как описано в данном руководстве: 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-> articles для извлечения этого списка.

0

Вы можете попробовать ниже кода в петлях

<?php 
$attribs = json_decode($article->attribs); 
echo $attribs->custom_field_1; 
?> 

 Смежные вопросы

  • Нет связанных вопросов^_^