1

我为一个小代码工作了几个小时。我仍然不明白为什么它不起作用,或者更好的是,为什么图像没有显示。

我有最新的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

但是使用idimg是不正确的,我需要更多的字段,而且我不能每次都添加一个新的 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; ?> -->

真的需要有人帮助我!

问候

4

0 回答 0