Нужен совет
Всем привет!
Столкнулся с проблемой — а именно из-за моих костылей фильтрация и загрузка товаров происходит оооооочень долго. Виной тому блок внизу карточки товара, где выводится особые характеристики товара, если они есть у товара.
В чанке карточки товара использую
Все бы ничего если бы из-за этого жутко не тормозила бы загрузка товаров. При фильтрации товаров около 4 сек. Это не есть гуд. Какие есть идеи по оптимизации?
Столкнулся с проблемой — а именно из-за моих костылей фильтрация и загрузка товаров происходит оооооочень долго. Виной тому блок внизу карточки товара, где выводится особые характеристики товара, если они есть у товара.
В чанке карточки товара использую
<div class="properties">
[[!If? &subject=`[[+garantiya]]` &operator=`NOTEMPTY` &then=`
<div class=" prop-item prop-guarant" data-placement="top" data-toggle="tooltip" title="Гарантия: [[+garantiya]] [[+garantiya:declension=`год,года,лет`]]">
<span class="value">[[+garantiya]]</span><span class="val-ed">[[+garantiya:declension=`год,года,лет`]]</span>
</div>
`]]
........
........
[[!If? &subject=`[[+dlinatovara]]` &operator=`NOTEMPTY` &then=`[[!If? &subject=`[[*id]]` &operator=`inarray` &operand=`16,4920,220,187,221,10,102` &then=`
<div class=" prop-item prop-dlinatovara" data-placement="top" data-toggle="tooltip" title="Длина: [[+dlinatovara]] м">
<span class="value">[[+dlinatovara]] м</span>
</div>` &else=`
`]]`]]
</div>
Т.е. если у товара есть гарантия то она выводится, если есть вес у товара — он выводится, есть длина — выводится и т.д.Все бы ничего если бы из-за этого жутко не тормозила бы загрузка товаров. При фильтрации товаров около 4 сек. Это не есть гуд. Какие есть идеи по оптимизации?
Комментарии: 4
Когда начинал разбираться с ModX тоже использовал сниппет if, и вот из-за него все и тормозит.
Советую обратить внимание на fenom или стандартные ModX модификаторы phx, пример:
Советую обратить внимание на fenom или стандартные ModX модификаторы phx, пример:
[[*id:is=`1`:then=`[[$slider]]`]]
Вот все эти модификаторы http://uscms.ru/cms/modx/filtryi-phx-modifikatoryi-v-modx-revolution/
Не спорю) я и написал про феном тоже) просто два варианта предложил
На мой взгляд проще перейти на шаблонизатор fenom, который используется по умолчанию в msProducts. Тогда ваш код превратится в:
{if $garantiya is not empty}
<div class=" prop-item prop-guarant" data-placement="top" data-toggle="tooltip" title="Гарантия: {$garantiya} {$garantiya|declension:'год|года|лет'}">
<span class="value">{$garantiya}</span><span class="val-ed">{$garantiya|declension:'год|года|лет'}</span>
</div>
{/if}
Но это как пример… Лично я использую значительно более сложные приемы, которые в отличии от стандартного парсера работают с fenom…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.