K2 (Joomla) 的多个额外字段组

Posted

技术标签:

【中文标题】K2 (Joomla) 的多个额外字段组【英文标题】:Multiple Extra Field Groups for K2 (Joomla) 【发布时间】:2015-02-15 22:37:22 【问题描述】:

我正在使用允许将多个额外字段组分配给 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”内的额外字段值创建一个循环,将不胜感激。谢谢!

【问题讨论】:

嗨!一段时间以来,Joomla 拥有自己的 StackExchange 站点:joomla.stackexchange.com。你可能会在那里得到答案。请考虑将您的问题移到那里(从Stack Overflow 中删除并在joomla.stackexchange.com 上粘贴问题文本)。 【参考方案1】:

K2 的额外字段以 json 格式存储 - 这可能是您难以检索它们的原因。见:http://www.itoctopus.com/on-leveraging-the-power-of-k2s-extra-items

另外,如果您提供更多关于需要做什么的背景信息,我相信我将能够更彻底地回答您的问题。

【讨论】:

以上是关于K2 (Joomla) 的多个额外字段组的主要内容,如果未能解决你的问题,请参考以下文章

Joomla! K2 - K2 类别的额外字段

列出 Joomla 中的兄弟项目! K2项目页面

在 Joomla K2 中更改图像重命名

从 Joomla K2 中移除 RSS Feed 图标(链接)

如何将 Joomla K2 迁移到 Wordpress

如果作者对前端进行了微小的更改,则 Joomla 中的 k2 篇文章将变为未发布