Купоны на скидку

#
Купоны на скидку
Здравствуйте. Помогите, пожалуйста, разобраться. . . Мне нужно в контроллер показа добавить информацию о купонах, а именно - количество. Насколько я знаю, стандартно в xml контроллера показа они не генерируются. Добавить не проблема. Проблема - как купоны получить в ТДС?
Модератор
#
Re: Купоны на скидку
prizrak067 писал(а):
как купоны получить в ТДС?

Через ORM https://www.hostcms.ru/documentation/modules/core/orm/. Купоны хранятся в shop_purchase_discount_coupons
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Купоны на скидку
Спасибо большое за ответ. Извиняюсь за опоздалое спасибо.  Приболел, кое как дополз до ноута, чтобы разобраться и ответить)
Ваш ответ мне помог начать разбираться. Я еще новичок и активно пытаюсь разбираться в системе. ORM сторонился, пытался в документации её не раз разобрать, но никак. А теперь, когда появилась реальная необходимость - сдвинулся с мертвой точки. Почитал в инете о ORM, разобрал примеры на php и очередной взгляд на ветку документации ORM был уже другими глазами. Не легко, но сдвинулся с точки) Для братьев "по несчастью" хочу поделиться. Может кому пригодится, как мне этого не хватало.
Многие данные в системе хранятся в таблицах базы данных. В данной системе работа с базой данных реализована с помощью технологии ORM. То есть, мы не работаем с таблицами БД, как привыкли - подключаешься, делаешь sql запрос и т.д., а всё делаем с помощью связанного с ней (с таблицей) класса, модели,  а вернее определенных в нём методов. Мне нужно было получить купоны на скидку, в базе данных их хранит таблица shop_purchase_discount_coupons, согласно соглашению в документации ей соответствует модель с именем без 's' - shop_purchase_discount_coupon
Создаём объект:
$oCoupons = Core_Entity::factory('shop_purchase_discount_coupon');

Объекты создаются не через привычное нам ключевое слово new, а с помощью фабрики. Это такой интересный паттерн. Вкратце, проще говоря, В статический метод factory передается имя класса, внутри метода он создается привычным способом ключевым словом new и возвращает объект. Вот  и всё
Далее.. Когда мы получили объект таблицы $oCoupons, нужно получить строки таблицы. Смотрим апи https://www.hostcms.ru/api6/class-Shop_Purchase_Discount_Coupon_Model.html  наш класс модели унаследован  от класса  Core_Entity, смотрим https://www.hostcms.ru/api6/class-Core_Entity.html и видим метод findAll(), который вернет массив строк. Применяем его и выведем, перебирая массив, например, все названия купонов:
$allCoupons = $oCoupons -> findAll();
        foreach ($allCoupons as $coupon)
        {
            echo "<p>" . $coupon->name . "</p>";
        }



И таким образом можно работать со всеми таблицами базы данных.. Главное, научиться ориентироваться в документации и АПИ.. что достаточно непросто.. так как нет пособия что к чему и как устроено..
#
Re: Купоны на скидку
У меня вот дополнительно есть вопрос небольшой... Где почитать каким данным какая соответствует таблица в БД? Например, где написано, что информация о купонах хранится в таблице  shop_purchase_discount_coupons?
Авторизация