だから私は../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 フォーラムで質問しましたが、誰も答えていません。