Переопределить работу сниппета и добавить свою логику
Привет. На сайте установлен miniShop2. Товары я получаю через сниппет msProduct. Но мне нужно добавить свою логику в сниппет. Например, я хочу добавить условие, что если товар добавлен в течение 10 последних дней, то появляется плашка «новинка». Напрямую добавить логику в сниппет вроде не могу, так как при обновлении все это перезапишется. Можно попробовать в самом чанке через fenom, но это как-то не кошерно, получается смешивание логики и представления. Может есть какой-то другой способ добавить свои условия в работу сниппета?
З.Ы. Была еще идея сделать сниппет обертку, который вызывает сниппет msProduct и потом с его выводом работать. Но сниппет msProduct не возвращает массив, а только HTML или строку в виде массива
З.Ы. Была еще идея сделать сниппет обертку, который вызывает сниппет msProduct и потом с его выводом работать. Но сниппет msProduct не возвращает массив, а только HTML или строку в виде массива
Комментарии: 4
Что то ты перемудрил. С помощью фенома выдели по дате публикации и все.
Ну а разве нет никакого другого пути по мимо фенома? Вдруг например придется реализовывать более сложную логику, чем простое условие. Или нужно будет несколько чанков использовать для сниппета, а значит придется копировать феном логику. Ну и опять же-таки смешивание логики с представлением
Скопируй сниппет и делай то, что нужно.
Стоит понимать, что готовые сниппеты — это общая реализация, пример, как можно работать с данными. И никто не обещал, что они умеют все и подойдет всем и для всего.
Стоит понимать, что готовые сниппеты — это общая реализация, пример, как можно работать с данными. И никто не обещал, что они умеют все и подойдет всем и для всего.
Видимо это единственный подходящий вариант. Жаль что тогда сниппеты не смогут никак обновляться(если вдруг появится для них обновление в минишопе) и в случае чего придется все ручками копировать. Хотя это скорее всего не критично. Просто было бы идеально если бы можно было как-то добавлять свою логику и не париться что будут какие-то изменения в будущем. Типа как наследование классов. Хотя может это совсем излишни
А вот интересно, можно ли использовать в таком случае процессор минишопа product/getlist. Ведь он выдает как раз массив данных. Но меня смущает, что в сниппете msProducts не используется процессор и наверняка не просто же так
А вот интересно, можно ли использовать в таком случае процессор минишопа product/getlist. Ведь он выдает как раз массив данных. Но меня смущает, что в сниппете msProducts не используется процессор и наверняка не просто же так
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.