3.2 CS-Cart: Разработка модуля CS-Cart ч.2 «Описание и анализ задачи. Поиск и расширение»

Автор Ivan Samoilov
3.2 CS-Cart: Разработка модуля CS-Cart ч.2 «Описание и анализ задачи. Поиск и расширение»

Привет.

В прошлом видео. Мы создали заготовку для нашего модуля первый модуль сделали для него название описания для русского языка сейчас наш модуль ещё ничего не делает добавим ему какую-нибудь полезную функцию я предлагаю. Перейти на страницу списка покупателей и вот здесь вот вывести количество заказов каждого покупателя, а также добавить сортировку по количеству по количеству заказов.

Вы конечно можете сказать, что есть стандартная функция посмотреть все заказы, но не так удобно.

Если у нас будет сразу сортировка по количеству заказов и видно сколько заказов сделал покупать. Кроме того данная функциональность позволит нам рассмотреть работает хуки в смарте шаблонах так как мы будем добавлять. Новую колонку с помощью хука, а также мы рассмотрим как работают cookies в PHP функциях так как мы будем расширять функцию для получения количества заказов по каждому покупателю. Ну я предлагаю начать. А я начинаю любой модификацию с анализа есть найти место PHP где мне нужно внести изменения и найти места в смарте где мне нужно внести изменения начиная с контроллера проконтролирую. Я очень много. Надеюсь вы поняли находим контроллер отвечающий за данную страничку то есть смотрим profiles переходим Map Controller is big and profiles вот наш контроллер находим секцию мот до мод менеджер Mod Manager вот мы нашли мод менеджер здесь находим где у нас появляется покупатели. Вот они юзеры проверяем. Бывает так, что нужна информация уже есть массиве она только не отображена то есть возможно уже есть заказы, но к сожалению в данном случае — это не произошло нету здесь заказов количество, но с товарами — это бывает то есть в списке товаров не вся отображена информация так я соответственно буду в данный массив информацию о заказах с одной стороны. Я бы мог сделать Post Controller пройтись циклом по покупателям найти количество заказов и добавить в массив — это не очень правильный путь потому, что я ещё хочу потом сделать сортировку и в данном случае как раз расскажу о том как работают стандартные функции с карты о том, что они классные расширяемая и так переходим функцию FN Get users все функции как я уже говорил раньше. Пеппа Angels по смыслу функция с узорами должна находиться VPN users нахожу. Вот она функция, что мы видим сюда приходят параметры в данном случае параметры из реквест — это грубо говоря параметры Get запроса. Если я сделаю pinpointer request то я увижу. Какие параметры сейчас приходят, а если я через расширенный поиск например буду искать вам найти то соответственно параметров придёт видеть больше потому, что вступает в действие поиск, а он добавляет в реку параметров и условий мотнул и будем. Вот как раз сейчас с этим и поработаем. То есть у нас есть разные параметры они просто какой-то типовой заходим функцию VPN Get users в начале есть хук в котором доступны параметры данные авторизации. То есть все входящие данные в функцию в соответствии с помощью данного хука можно их из, но нам — это сейчас не нужно смотрим. Что делает функция params объединяет входящие параметры с параметрами по умолчанию список будут получаться из базы данных вот этот вот вопросик. Это значит, что — это placeholder запрос в базе данных он заменяется на префикс базы данных префикс таблиц если мы откроем базу данных с карт то здесь есть cs-cart нижнее подчёркивание дальше пошло название, а то есть я уже понимаю, что будут взять из таблицы users вот эти вот. Поля из таблицы companies взято будет взято поле Company, но будет называться. Компаньоны переходим в таблицу юзеров сразу. Чтобы посмотреть тут есть у нас данные о покупателях, а мы будем получать данные о заказах так как мы находимся здесь сразу же посмотрим где находятся данные о заказах. Данные есть в таблице ордерс вообще структура базы данных с карты на очень логично есть таблица называется в соответствии с объектами у каждого объекта есть отдельное табличка с описанием со свойствами объекта и с описаниями. То есть например продукт тут данные по каждому товару который не связанные с языками кот статус и так далее количество есть табличка product description котором описание для каждого языка есть описание. Они отдельно потому, что они могут зависеть от языка и так мне нужна табличка артроз здесь есть список всех заказов у каждого заказа есть User соответственно я буду для каждого, но мне нужно будет посчитать количество заказов по User ID 1114 покупателя H7 заказов. Да и так далее возвращаюсь функцию сейчас у меня получается только users. А мне нужно будет как-то подключить таблицу ордерс и получить из неё данные о заказах сорсинг — это массив сортировка сейчас у нас — это емэйл зарегистрирована типу статусу то есть для каждого типа сортировки есть колонка в базе по которой сортируется мы будем добавлять сортировку. Значит мы в этот массив тоже что-то добавим получается. Мне нужно будет что-то добавить Fields поля так как я буду забирать дополнительное поле из таблицы ордерс добавить что-то в sorting. Так как мне нужно добавить новую сортировку иду дальше. А пампарампампам пошли параметры. То есть вы помните, что вот у нас параметры всевозможные конкретно влияет на мою страничку и в зависимости от параметра параметр если существует и не пустой добавляется вот такие вот кондиционная и Giant Edition Condition пошли то есть условия так скажем. Она попадает в запроса. То есть если и так далее также есть джоинты — это подключение дополнительных таблиц в данном случае я вижу, что есть два примера.

0 комментариев
0

Читайте также