我正在为一个小代码工作几个小时。我仍然不明白为什么它不起作用,或更好,为什么图像没有显示。
我有最新的k2版本。 (Joomla 3)
如您所见,在项目页面中,您会看到“其他信息”。好吧,我想在 Latest_items 类别中添加它。
这是item.php(附加信息)中的代码
<div class="itemExtraFields">
<h3><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h3>
<ul>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<?php if($extraField->type == 'header'): ?>
<h4 class="itemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
<?php else: ?>
<span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span> <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
如果我把它放在Latest_items.php中,我得到的就是全文。 http://i.stack.imgur.com/j2Pnz.png
那是因为 span
所以,我所做的并不难,只是将跨度替换为img:
<?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
<div class="matches_logo_li">
<h4>-</h4>
<ul>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<img class="itemExtraFieldsValue" src="<?php echo $extraField->value; ?>">
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php if(isset($extrafields[4]) === true):?>
<li>
<span class="itemExtraFieldsValue" >
<?php echo $extraField->value; ?>
</span>
</li>
<?php endif; ?>
</div>
<?php endif; ?>
这就是我想要的:http://i.stack.imgur.com/aw633.png
但是使用 id 和 img 是不对的,我需要更多字段,我不能每次添加新的id字段php代码和< strong> itemExtraFieldsLabel ,额外字段的名称,也没有显示。
如果我放置一个新字段,只是一个文本字段,如日期为2015年8月14日,那么它的显示为无法创建的图像,这是正确的,因为我将标记更改为IMG。
但是因为我已经添加了该字段的id代码,可以说它正在工作。
<?php if(isset($extrafields[4]) === true):?>
<li>
<span class="itemExtraFieldsValue" >
<?php echo $extraField->value; ?>
</span>
</li>
<?php endif; ?>
但正如我所说,我无法使用id。
有人需要帮我解决这个问题。我认为它并不难,但我不能这样做,很奇怪,图像没有显示为span标签,因为它在item.php中有效。
修改
我的整个代码不希望在没有此代码的情况下显示:
<!--
<?php $extra = json_decode($item->extra_fields); ?>
<?php if (isset($this->item->extra_fields)) : ?>
<div class="catItemExtraFields">
<ul>
<?php if (is_string($this->item->extra_fields)) {
$this->item->extra_fields = json_decode($this->item->extra_fields);
}
foreach ($this->item->extra_fields as $key=>$extraField) {
if ($extraField->value != '') {
echo "<li>".$extraField->name.": ".$extraField->value."</li>";
}
}
?>
</ul>
</div>
<?php endif; ?> -->
有人真的需要帮助我!
此致