Олег

Олег

С нами с 04 декабря 2018; Место в рейтинге пользователей: #2290

Вызов дочернего класса в родительском

Привет. Вопрос наверное больше про ООП в целом. И так, я пишу свой компонент для MODX, который должен через API постороннего сервиса получать цифровой товар. Для реализации этой загрузки я создал дочерний класс productGetter от класса моего компонента(пускай называется класс myComponent). То есть productGetter расширяет главный класс моего компонента. Соответственно productGetter подключает к себе главный классу myComponent через require_once

И теперь мне нужно, чтобы после оплаты в совершенно другом классе вызывался метод из productGetter чтобы получить цифровой товар. Но я не могу просто вызвать класс productGetter, я могу вызвать только класс myComponent через getService() и потом вызывать метод из myComponent, который создал бы объект productGetter, который в свою очередь запустил бы мне нужный метод. И получается это нормально, когда в родительском классе я создаю объект моего дочернего класса? Или есть какие-то более элегантные решения?
Олег
12 декабря 2018, 19:27
modx.pro
412
0

Переопределить работу сниппета и добавить свою логику

Привет. На сайте установлен miniShop2. Товары я получаю через сниппет msProduct. Но мне нужно добавить свою логику в сниппет. Например, я хочу добавить условие, что если товар добавлен в течение 10 последних дней, то появляется плашка «новинка». Напрямую добавить логику в сниппет вроде не могу, так как при обновлении все это перезапишется. Можно попробовать в самом чанке через fenom, но это как-то не кошерно, получается смешивание логики и представления. Может есть какой-то другой способ добавить свои условия в работу сниппета?

З.Ы. Была еще идея сделать сниппет обертку, который вызывает сниппет msProduct и потом с его выводом работать. Но сниппет msProduct не возвращает массив, а только HTML или строку в виде массива
Олег
04 декабря 2018, 16:12
modx.pro
574
0