Несколько дополнительных групп полей для K2 (Joomla)

Я использую плагин, который позволяет назначать несколько дополнительных групп полей категории 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», я был бы очень признателен. Спасибо!


person Tyler Ancell    schedule 17.12.2014    source источник
comment
Привет! С некоторых пор у Joomla есть собственный сайт StackExchange: joomla.stackexchange.com. Возможно, там вы получите ответы. Пожалуйста, рассмотрите возможность перемещения вашего вопроса туда (удалите его из Stack Overflow и вставьте текст вопроса на joomla.stackexchange.com).   -  person miroxlav    schedule 21.01.2015


Ответы (1)


Дополнительные поля K2 хранятся в формате json - и, возможно, это причина, по которой вам трудно их получить. См.: http://www.itoctopus.com/on-leveraging-the-power-of-k2s-extra-items

Кроме того, если вы предоставите больше информации о том, что именно нужно сделать, я уверен, что смогу ответить на ваш вопрос более подробно.

person itoctopus    schedule 06.11.2015