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) 的多个额外字段组的主要内容,如果未能解决你的问题,请参考以下文章