Я использую плагин, который позволяет назначать несколько дополнительных групп полей категории K2 - плагин работает нормально, проблема, с которой я сталкиваюсь, заключается в том, что я могу извлекать данные из определенной группы дополнительных полей, а не циклически все группы.
Это код, который у меня есть (который был указан на сайте разработчика):
<?php
$extraFieldsByGroup = JArrayHelper::pivot($this->item->extra_fields, 'group');
$db = JFactory::getDbo();
$query = "SELECT * FROM #__k2_extra_fields_groups";
$db->setQuery($query);
$groups = $db->loadAssocList('id');
foreach ($extraFieldsByGroup as $key=>$extrafields){
$defaultGroup = '';
if(!is_array($extrafields)) $extrafields = array($extrafields);
if($key == $this->item->category->extraFieldsGroup)
$defaultGroup = "class='mefg_default'";
?>
<div id="group" class="<?php echo $groups[$key]['name'];?>" >
<div class="<?php echo $groups[$key]['name'];?>">
<div>
<h3><?php echo JText::_($groups[$key]['name']); ?></h3>
</div>
<ul>
<?php foreach ($extrafields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<?php if($extraField->type == 'header'): ?>
<h4 class="itemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
<?php else: ?>
<div>
<span class="itemExtraFieldsLabel"><?php echo JText::_($extraField->name); ?>:</span>
<span class="itemExtraFieldsValue <?php echo $extraField->alias; ?>"><?php echo $extraField->value; ?></span></div>
<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div></div>
<?php
}
?>
<div class="clr"></div>
Что я хотел бы сделать, так это вытащить дополнительные поля из определенной группы и отображать только их (значения) в цикле.
Существуют определенные способы сделать это, например
<?php echo $item->extraFields->EXTRA_FIELD_ALIAS_HERE->value; ?>
но некоторые поля будут пустыми или будут иметь нулевые значения, поэтому создание множества пустых элементов div для меня не вариант.
Переменная $extraFieldsByGroup извлекается из всех «групп», и я ищу «2». Мои навыки работы с php ограничены, но если бы кто-нибудь мог указать мне правильное направление, чтобы создать цикл для дополнительных значений поля внутри группы «2», я был бы очень признателен. Спасибо!