Romaldo

Romaldo
Рейтинг
185
Регистрация
10.02.2008
r3al:
а вот теперь мне очень интересно стало..
это почему ж она выводится (валюта)? )) значит поле с ценой не пустое...?
И почему, я правда не пойму, вы создаете 3 условия, вместо 1го? Даже исходя из последнего примера все же зависит от того есть ли цена? правильно?

По вашему коду оно в другой ветке цикла, выводится по признаку самого названия поля "Валюта", о том есть цена или нет ее, ему уже неизвестно. Поэтому создается доп. переменная, которая будет хранить это значение (да или нет).

Насчет if($extraField->name == "Цена" понятно что нехорошо, но другого выхода нет - это раз. Поле никто менять не будет - это два.

Спасибо, r3al, но валюта выводится все равно...

И вроде как без переменных действительно не обойтись.

Потому как 2-е условие не может попасть под первый цикл. Наверное...

Да, код fedimen работает.

Остался вопрос, как добавить в него вывод "срок аренды" по такому же типу, чтобы Если цена есть выводилось Цена 130 $ в месяц, если цены нет, то ничего не выводилось.

Так ошибку выдает


<?php $valuta = false;
foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value): ?>



<?php if($extraField->name == "Цена"):
$valuta = true; ?>


<span class="itemExtraprice"><?php echo $extraField->name; ?>:</span>
<span class="itemExtrapricevalue"><?php echo $extraField->value; ?></span>

<?php elseif($extraField->name == "Валюта" && $valuta): ?>

<span class="itemExtrapricevalue"><?php echo $extraField->value; ?></span>


<?php elseif($extraField->name == "Срок аренды" && $valuta): ?>

<span class="itemExtrapricevalue"><?php echo $extraField->value; ?></span>


<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>

Parse error: syntax error, unexpected T_ENDIF in

Теперь в другом запутался.

Ненужные поля я выдрал из списка.

Теперь мне нужно, чтобы эти поля отображались в другом месте.

Для этого я использую такую конструкцию:

 <?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value): ?>



<?php if($extraField->name == "Цена"): ?>


<span class="itemExtraprice"><?php echo $extraField->name; ?>:</span>
<span class="itemExtrapricevalue"><?php echo $extraField->value; ?></span>

<?php elseif($extraField->name == "Валюта"): ?>


<span class="itemExtrapricevalue"><?php echo $extraField->value; ?></span>



<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>

Все чудесно, кроме одного - если цена не вбита, отображается просто знак валюты...

Не могу понять, как его запретить....

Точно, спасибо большое.

С ценой разобрался.

Теперь вопрос по чистому коду, так сказать...

Мне еще надо таким же оразом исключить поле "Валюта"

Сдела я это так

 <?php foreach ($this->item->extra_fields as $key=>$extraField): ?>

<?php if($extraField->value): ?>
<?php if($extraField->name != "Цена"): ?>
<?php if($extraField->name != "Валюта"): ?>
<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 endif; ?>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>
</ul>

Но мне кажется это как-то некрасиво...

Пробовал так


<?php if($extraField->name != "Цена" or $extraField->name != "Валюта"): ?>

Не сработало...

Или первый вариант допустим?

Все пардон... Все нормально работает.

То есть работает условие, и текст "Есть контакт" появляется....

А как теперь не выводить цену - вот пока не понял...

Все, сделал от обратного

Если поле не Цена - печатаем )))

Спасибо, но не работает )))

Да как по мне, то этот посещенный див сильно портит внешний вид страницы...

Но заказчик хочет, хоть ты тресни и все....

Спасибо за содействие, но мне честно говоря никак не доходит, как это реализовать на моем примере.

Сам алгоритм понятен, а что куда пихать не очень.

Вот есть файл шаблона

http://cl.ly/3B1A0n1t2V0T1S3l0T1r

Есть еще css, указанный выше.

Все.

Что куда прописывать?

Без явы не обойтись?

Я с ней как бы вообще мало знаком...

И если это не так уж страшно, не могли бы накидать пример использования?

Всего: 633