структура shop_order
В таблице `shop_order` есть поле `assigned_contact_id`.
Каково его предназначение?
Могу ли я его использовать в своих целях?
Описываю свою цель:
Мне необходимо доработать личный кабинет для менеджеров (далее М).
Каждый зарегистрированный клиент(далее К) принадлежит конкретному лицу М, который может обрабатывать его заказ.
К->М - связь 1->1.
Я планирую использовать это поле для фильтрации заказов по этому полю.
Т.е. есть М. (`wa_contact`.`id`=1) ;
Есть К ( `wa_contact`.`id`=100 );
Есть заказ ('id'=11, 'contact_id'=100, 'state_id'='new', 'total'='7000', 'currency'='RUB', 'rate'='1', 'assigned_contact_id'=1).
Здесь я привязал для К=100 М=1.
Для чего мне это нужно?
В личном кабинете М может видеть заказы только своих К.
P.S.Раздел управления заказами я планирую продублировать для возможности обновлений приложения.
Проконсультируйте, плиз.
Каково его предназначение?
Могу ли я его использовать в своих целях?
Описываю свою цель:
Мне необходимо доработать личный кабинет для менеджеров (далее М).
Каждый зарегистрированный клиент(далее К) принадлежит конкретному лицу М, который может обрабатывать его заказ.
К->М - связь 1->1.
Я планирую использовать это поле для фильтрации заказов по этому полю.
Т.е. есть М. (`wa_contact`.`id`=1) ;
Есть К ( `wa_contact`.`id`=100 );
Есть заказ ('id'=11, 'contact_id'=100, 'state_id'='new', 'total'='7000', 'currency'='RUB', 'rate'='1', 'assigned_contact_id'=1).
Здесь я привязал для К=100 М=1.
Для чего мне это нужно?
В личном кабинете М может видеть заказы только своих К.
P.S.Раздел управления заказами я планирую продублировать для возможности обновлений приложения.
Проконсультируйте, плиз.
1 ответ
Что касается альтернативы - использовать существующую колонку или нет. Ответ зависит от того, планируете ли вы оставить для сайта возможность обновляться через Инсталлер. Надо понимать, что любое обновление через Инсталлер затирает модификации кода приложения - остаётся только то, что добавлено "сбоку": плагины, темы, дополнительные классы, контроллеры и т.п.
Таким образом, альтернативы две.
Первая - "простая": отказаться от будущих обновлений. В этом случае можно перепахать хоть весь PHP код магазина и структуру БД. Это, безусловно, проще в разработке, но лишает сайт функционала и баг-фиксов будущих обновлений. В этом случае ничего страшного не будет, если использовать существующую колонку assigned_contact_id.
Вторая альтернатива - "правильная". Аккуратно кастомизировать приложение с помощью плагинов и тем, не трогая ядро. Это сложнее, но даёт важное преимущество, что все будущие обновления можно будет устанавливать одной кнопкой через Инсталлер, и ничего не сломается. В этом случае использовать существующую колонку assigned_contact_id нельзя, а надо добавить новую.