2011-09-16 49 views
0

所以我有这个代码../html/com_k2/template/default/item.php改变:Extrafields可视性。 K2扩展

<?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; ?> 

我试图做到的,是隐藏在游客的extrafield查看器在头版,并且该extrafield将只对某些用户组可见。我已经试图改变这一行三次:

  • 名== “价格” & & $用户>获取( '游客')== 1):>
  • 名== “itemExtraFields” & & $用户>获取( '游客') == 1):>
  • 名== “itemExtraFieldsValue” & & $用户>获取( '游客')== 1):>

(我叫我的自定义字段的价格)

,所以我不知道如果我错过的东西代码或我得到了itemFields名字拼错了。任何帮助,将不胜感激吨。我已经在k2论坛和joomla论坛上发过帖,但没有人回答。

回答

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条件。还改变了检查访客用户的方式。