0

だから私は../html/com_k2/template/default/item.phpでこのコードを変更しました:

    <?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ?>
      <!-- Item extra fields -->
      <div class="itemExtraFields">
          <h3><?php echo JText::_('Additional Info:'); ?></h3>
          <ul>
            <?php foreach ($this->item->extra_fields as $key=>$extraField):?>
<?php $user =& JFactory::getUser(); ?>
<?php if($extraField->name == "Price" && $user->get('Guest') ==1): ?>

     <?php else: ?>   
                <li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
                    <span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
                    <span class="itemExtraFieldsValue"><?php echo ($extraField->type=='date')?JHTML::_('date', $extraField->value, JText::_('K2_DATE_FORMAT_LC')):$extraField->value; ?></span>
                </li>
                <?php endif; ?>
            <?php endforeach; ?>
            </ul>
        <div class="clr"></div>
      </div>
      <?php endif; ?>

私が達成しようとしているのは、フロントページのゲスト ビューアーのエクストラフィールドを非表示にすることです。そのエクストラフィールドは、特定のユーザー グループにのみ表示されます。私はすでにこの行を3回変更しようとしました:

  • name == "価格" && $user->get('Guest')==1): ?>
  • name == "itemExtraFields" &&$user->get('Guest') ==1): ?>
  • name == "itemExtraFieldsValue" &&$user->get('Guest') ==1): ?>

(カスタムフィールドに価格という名前を付けました)

そのため、コードに何かが欠けているのか、itemFields の名前が間違っているのかわかりません。どんな助けでも大歓迎です。私はすでに k2 フォーラムと joomla フォーラムで質問しましたが、誰も答えていません。

4

1 に答える 1

0

このコードを試してください。正常に動作しています。

<?php foreach ($this->item->extra_fields as $key=>$extraField):?>
        <?php if($extraField->name === "Price" && $this->user->guest){}
            else{ ?>
            <li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
                <span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
                <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
            </li>
        <?php }?>
<?php endforeach; ?>

if else 条件の名前と括弧に厳密な比較を追加しました。ゲストユーザーの確認方法も変更。

于 2011-09-23T14:06:45.170 に答える