<?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 Visibility
答案 0 :(得分:2)
您正在混合使用if() :
和if() {
语法。当其他所有内容都使用if() {
时,中间会有一个:
。
调试提示:在错误消息所指向的行之前,错误经常出现在行中。
答案 1 :(得分:0)
你混淆了使用if-else语句的不同方法。在该代码的中间,使用{打开if语句,然后使用else:。你也永远不会关闭它。
答案 2 :(得分:0)
改变这个 -
<?php if($extraField->name == "Price" && $user->get('guest') ==1) { ?>
到此 -
<?php if($extraField->name == "Price" && $user->get('guest') ==1): ?>