|
|
Модератор форума: Yuri_G |
Сообщество uCoz » Модули uCoz » Интернет-магазин » Прописываем уникальные мета с помощью оператора if |
Прописываем уникальные мета с помощью оператора if |
Народ, есть проблема, все условия срабатывали идеально, добавил 10-е - Нарядное платье, логика потерялась, некоторые условия срабатывают криво - исчезают наименования товаров.
Сейчас для h1 прописан код: <h1> <?if($ENTRY_TITLE$='Конверт на выписку' & $OTHER2$='Лето')?>Летний конверт на выписку <?else?> <?if($ENTRY_TITLE$='Комбинезон' & $OTHER2$='Зима')?>Зимний комбинезон <?else?> <?if($ENTRY_TITLE$='Комплект' & $OTHER2$='Зима')?>Зимний комплект <?else?> <?if($ENTRY_TITLE$='Куртка' & $OTHER2$='Зима')?>Зимняя куртка <?else?> <?if($ENTRY_TITLE$='Пальто' & $OTHER2$='Зима')?>Зимнее пальто <?else?> <?if($OTHER2$='Школа' & $ENTRY_TITLE$='Рубашка')?>Школьная рубашка <?else?> <?if($OTHER2$='Школа' & $ENTRY_TITLE$='Костюм')?>Школьный костюм <?else?> <?if($OTHER2$='Школа' & $ENTRY_TITLE$='Брюки')?>Школьные брюки <?else?> <?if($OTHER2$='Школа' & $ENTRY_TITLE$='Жилет')?>Школьный жилет <?else?> <?if($OTHER2$='Праздник' & $ENTRY_TITLE$='Платье')?>Нарядное платье <?else?> $ENTRY_TITLE$ <?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?>$BRAND$ <?if($OTHER6$)?>$OTHER6$ <?endif?><?if($OTHER7$)?><?if($OTHER7$='м')?>для мальчика <?else?><?if($OTHER7$='д')?>для девочки <?else?><?if($OTHER7$='у')?><?endif?><?endif?><?endif?><?endif?>$ART_NO$</h1> Все описанные операторы (до закрывающих тегов "<?endif?>") срабатывают правильно, КРОМЕ ПОСЛЕДНЕГО (сейчас - Нарядное платье): Конверт на выписку + Лето = http://kindersmile.ru/shop/1080/desc/konvert - Летний конверт на выписку PILGUNI KS-3-20-21 Куртка + Зима = http://kindersmile.ru/shop/898/desc/kurtka - Зимняя куртка Caimano TETRIS для мальчика KS-CW15-09/205 Жилет + Школа = http://kindersmile.ru/shop/1129/desc/zhilet - Школьный жилет Van Cliff ЭРНЕСТО для мальчика KS-A93521 Платье + Праздник = http://kindersmile.ru/shop/990/desc/plate - Anco Premium для девочки KS-906 *В итоге, все содержимое 1-го блока пропадает из заголовка, именно для последнего условия* Если "Конверт на выписку" поставить в конец этого блока, то Наименование товара теперь пропадает для него. Скрин. http://kindersmile.ru/img1/oshibka_if.jpg В то время, как H1 для "Нарядное платье" отображается корректно. Почему это происходит? Это системная ошибка? Есть ограничения по количеству условных операторов? Как это исправить? Кто знает? Всем спасибо за помощь! |
«ShaGun», есть ограничение на обработку условий. Можно исправить так: логику сделать иначе - сперва $ENTRY_TITLE$ окружить в условие, в нём перечислить все те случаи, когда его не нужно выводить, после через <?else?> подключать по одному названия (уже без <?else?> после каждого из них) ... так будет более правильно, наверное, как и не нужно делать переносы на новую строку - нажмите CTRL+U на странице, где строчки идут условий, то получаются пустые строки потом из-за переноса на новую строку... заодно посмотрите у себя block3 - там нарушена структура кода.
Попробуйте вот так прописать: Код <h1><?ifnot( ($ENTRY_TITLE$='Конверт на выписку' & $OTHER2$='Лето') || ($ENTRY_TITLE$='Комбинезон' & $OTHER2$='Зима') || ($ENTRY_TITLE$='Комплект' & $OTHER2$='Зима') || ($ENTRY_TITLE$='Куртка' & $OTHER2$='Зима') || ($ENTRY_TITLE$='Пальто' & $OTHER2$='Зима') || ($OTHER2$='Школа' & $ENTRY_TITLE$='Рубашка') || ($OTHER2$='Школа' & $ENTRY_TITLE$='Костюм') || ($OTHER2$='Школа' & $ENTRY_TITLE$='Брюки') || ($OTHER2$='Школа' & $ENTRY_TITLE$='Жилет') || ($OTHER2$='Праздник' & $ENTRY_TITLE$='Платье') )?>$ENTRY_TITLE$<?else?><?if($ENTRY_TITLE$='Конверт на выписку' & $OTHER2$='Лето')?>Летний конверт на выписку<?endif?><?if($ENTRY_TITLE$='Комбинезон' & $OTHER2$='Зима')?>Зимний комбинезон<?endif?><?if($ENTRY_TITLE$='Комплект' & $OTHER2$='Зима')?>Зимний комплект<?endif?><?if($ENTRY_TITLE$='Куртка' & $OTHER2$='Зима')?>Зимняя куртка<?endif?><?if($ENTRY_TITLE$='Пальто' & $OTHER2$='Зима')?>Зимнее пальто<?endif?><?if($OTHER2$='Школа' & $ENTRY_TITLE$='Рубашка')?>Школьная рубашка<?endif?><?if($OTHER2$='Школа' & $ENTRY_TITLE$='Костюм')?>Школьный костюм<?endif?><?if($OTHER2$='Школа' & $ENTRY_TITLE$='Брюки')?>Школьные брюки<?endif?><?if($OTHER2$='Школа' & $ENTRY_TITLE$='Жилет')?>Школьный жилет<?endif?><?if($OTHER2$='Праздник' & $ENTRY_TITLE$='Платье')?>Нарядное платье<?endif?><?endif?> $BRAND$ <?if($OTHER6$)?>$OTHER6$ <?endif?><?if($OTHER7$ and $OTHER7$!='у')?>для <?if($OTHER7$='м')?>мальчика<?else?><?if($OTHER7$='д')?>девочки<?endif?><?endif?><?endif?> $ART_NO$</h1> UPD.: да, вы правы - там потерял был, исправил. Сообщение отредактировал -SAM- - Воскресенье, 29 Июл 2018, 22:17:37
|
| |||
| |||