2011-09-16 46 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條件。還改變了檢查訪客用戶的方式。