Форумы / National / Russian / Тех. поддержка / упростить код

Oughtem
#1 17.04.2013 18:43

есть доп.поле "prod_color" в виде select, в которое записывается цвет товара. Цветов более 10. Есть page.tpl в котором такая вот портянка

 <!-- IF {PAGE_PROD_COLOR} == '{PHP.L.my_clr_black}' --><div class="circle black"></div><!-- ENDIF -->
 <!-- IF {PAGE_PROD_COLOR} == '{PHP.L.my_clr_blue}' --><div class="circle blue"></div><!-- ENDIF -->
 <!-- IF {PAGE_PROD_COLOR} == '{PHP.L.my_clr_fiol}' --><div class="circle fiol"></div><!-- ENDIF -->.....

и дальше цвета по аналогии. В select я не могу загнать код цвета вместо названия, типа "black,blue,fiol....", т.к. название цвета мне тоже надо в нормальном виде. Интуитивно чувствую что такого кода можно избежать. Через pagelist никак нельзя? 

 

Kort
#2 17.04.2013 19:57

Если это селект, то почему не загнать none,black,white и не локализовать и не использовать:

<!-- IF {PHP.pag.page_prod_color} != none -->
<img src="themes/{PHP.theme}/img/colors/prod-{PHP.pag.page_prod_color}.jpg" alt="" /> 
<!-- ENDIF -->

или

<div class="circle<!-- IF {PHP.pag.page_prod_color} != none --> {PHP.pag.page_prod_color}<!-- ENDIF -->">{PAGE_PROD_COLOR}</div>

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Oughtem
#3 18.04.2013 09:30

В select я не могу загнать код цвета вместо названия, типа "black,blue,fiol....", т.к. название цвета мне тоже надо в нормальном виде.

Под товаром в характеристиках мне надо написать "Цвет: чёрный", а не "Цвет: black"

Kort
#4 18.04.2013 15:36

Локализовать надо:

$L['prod_color_black'] = 'черный';

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Oughtem
#5 22.04.2013 21:24

Спасибо, не знал, что загнав в вполе prod_color атрибут black система будет подхватывать локализацию типа $L['prod_color_black'] = 'черный'; Очень удобно, код очень простой получился 

<div class="circle {PHP.pag.page_prod_color}"></div>

Может тогда есть решение и такому коду?

<!-- IF {LIST_ROW_PROD_LENGTH} --><div class="small">{LIST_ROW_PROD_LENGTH_TITLE} {LIST_ROW_PROD_LENGTH}{LIST_ROW_PROD_LWH_UOM}</div><!-- ENDIF -->
<!-- IF {LIST_ROW_PROD_WIDTH} --><div class="small">{LIST_ROW_PROD_WIDTH_TITLE} {LIST_ROW_PROD_WIDTH}{LIST_ROW_PROD_LWH_UOM}</div><!-- ENDIF -->
<!-- IF {LIST_ROW_PROD_HEIGHT} --><div class="small">{LIST_ROW_PROD_HEIGHT_TITLE} {LIST_ROW_PROD_HEIGHT}{LIST_ROW_PROD_LWH_UOM}</div><!-- ENDIF -->
<!-- IF {LIST_ROW_PROD_WEIGHT} --><div class="small">{LIST_ROW_PROD_WEIGHT_TITLE} {LIST_ROW_PROD_WEIGHT}{LIST_ROW_PROD_WEIGHT_UOM}</div><!-- ENDIF -->

Тут загвоздка в {LIST_ROW_XXX_TITLE} . Именно из-за необходимости его выводить и пишуться эти условия.