2011-09-15 3 views
0
 <?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(); ?> 
<strong><?php if($extraField->name == "Price" && $user->get('guest') ==1) { ?></strong> 


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

여기에 무슨 문제가있는 것 같습니까? 구문 분석 오류 : 구문 오류, 예기치 않은 T_ELSE ()가 반환됩니다. 기타 구문 반환 오류

는 K2 Extrafield 가시성

+0

좋아요. 감사. 그러나 누군가 나에게 그것을 지적 할 수 있습니다. 나는 PHP에 익숙하지 않고 이미 잠을 자고 있습니다. =} – posneg

답변

2

당신은 if() :if() { 구문을 혼합하고위한 것입니다. 다른 모든 것들이 :을 사용하는 중간에 하나의 if() {이 있습니다.

디버깅 정보 : 오류는 매우 자주 한 줄로 표시됩니다. 전에 앞에 오류 메시지가 가리키는 줄이 있습니다.

0

if-else 문을 사용하는 여러 가지 방법이 혼합되어 있습니다. 그 코드의 중간에, {, 그리고 else :를 사용하여 if 문을 엽니 다. 당신은 또한 그것을 닫지 않을 것입니다.

0

변경이 -이에

<?php if($extraField->name == "Price" && $user->get('guest') ==1) { ?> 

-

<?php if($extraField->name == "Price" && $user->get('guest') ==1): ?>