- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Возникла задача, на одном из проектов, которая не имеет типового решения в движке NetCat E-Commerce, а именно - необходимость отправки писем о заказе товара в интернет-магазине разным менеджерам с разным приоритетом доступа к информации.
1) Есть главный менеджер, он же занимается доставкой по Москве и МО;
2) и есть Региональный менеджер, занимается отправкой по России.
Условие: Главный менеджер должен получать все письма по заказам в интернет-магазине, и осуществлять проводки, региональный менеджер должен получать только те письма с заказами, которые должны идти по России.
Решение: К уже существующему полю 'ManagerEmail' в компонентах:
47. Магазин: Интернет-магазин
48. Магазин: Настройки раздела магазина
необходимо добавить новое поле 'RegionManagerEmail', в первый и второй компонет, затем перейти в настройки Магазина и добавить новый e-mail:
Магазин -> Редактирование -> Настройки интернет-магазина -> reg_manager@domain.ru
Далее необходимо открыть файл /netcat/modules/netshop/function.inc.php и найти строчки кода:
// коллекционируем адреса, потом сделаем рассылку
$manager_email = $this->GetDepartmentSetting("ManagerEmail", $type_id, $row["Message_ID"], $row["Subdivision_ID"]);
$this->SendMails[$manager_email][] = sizeof($ret)-1;
и ниже добавить условие для нового почтового ящика:
if ($_POST[f_DeliveryMethod] == 2) {
$manager_email = $this->GetDepartmentSetting("RegionManagerEmail", $type_id, $row["Message_ID"], $row["Subdivision_ID"]);
$this->SendMails[$manager_email][] = sizeof($ret)-1;
}
В моём случае доставка по Москве:
$f_DeliveryMethod = 1;
а доставка по России:
$f_DeliveryMethod = 2;
Теперь главный менеджер будет получать все письма с заказами, а региональный только те, которые идут по России.
Этот вариант был выбран как наиболее универсальный, который позволил с минимальными правками кода решить задачу, а так же позволит в дальнейшем создавать любое количество новых менеджеров и прописывать для них индивидуальные условия. Если кому пригодится этот код буду рад. :)
P.S. Отдельное спасибо Den_IT за помощь.