我为一个小代码工作了几个小时。我仍然不明白为什么它不起作用,或者更好的是,为什么图像没有显示。
我有最新的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
那是因为跨度
所以,我所做的并不难,只是将跨度替换为 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 代码并且itemExtraFieldsLabel,额外字段的名称,也没有显示。
如果我放置一个新字段,只是一个文本字段,例如日期 14/08/2015,那么它会显示为无法创建的图像,这是正确的,因为我将标签更改为 IMG。
但是由于我已经添加了该字段的 id 代码,因此可以说它可以正常工作。
<?php if(isset($extrafields[4]) === true):?>
<li>
<span class="itemExtraFieldsValue" >
<?php echo $extraField->value; ?>
</span>
</li>
<?php endif; ?>
但正如我所说,我不能使用 id。
有人需要帮助我解决这个问题。我认为这并不难,但我不能这样做,奇怪的是图像没有显示为跨度标记,因为它在 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; ?> -->
真的需要有人帮助我!
问候