0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 1016 Просмотров
*

Sarat

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
  • art-nk.ru
Всем здравствуйте!
очень интересный и на первый взгляд популярный вопрос!
Как осуществить автоматическую рассылку при добавлении нового товара всем зарегистрированным на сайте пользователям? Способ можно любой (расширения, веб-сервисы) - главное результат. Добавляешь товар, после чего автоматически отправляются письма с ссылками на новый товар. Пользователей думаю будет 200 человек, т.е. не много.
Второй раз делаю интернет-магазин и второй раз самостоятельно не нахожу нужного ответа.
Я думаю с помощью расширений всё-таки приходится нажимать на кнопку для отправки писем, формировать письма и т.д., на веб-сервисах тоже вручную нужно создавать каждый раз письма.
Подскажите пожалуйста какое-нибудь решение.
*

bloodrain

  • Новичок
  • 7
  • 2 / 0
Тоже было бы интересно как реализовать...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Сомневаюсь что есть какие то расширения, могу вам предложить решение что называется "в лоб". Открываете файл administrator\components\com_virtuemart\helpers\vmcontroller.php, ищите там строки:
Код: php
function save($data = 0) { 
... //здесь всякая фигня
$this->setRedirect($redir, $msg,$type);
}
и вот прямо перед $this->setRedirect($redir, $msg,$type); вставляете строки:
Код: php
if (!$data['virtuemart_product_id']) //новый товар
{
$db = JFactory::getDBO();
$db->setQuery('SELECT u.email FROM #__users as u JOIN #__virtuemart_vmusers as vu ON vu.virtuemart_user_id = u.id WHERE vu.user_is_vendor = 0');
$recipients = $db->LoadResultArray();
$config =& JFactory::getConfig();
$router = JRouter::getInstance('site');
$router->setMode($config->get('sef'));
$uri = $router->build('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$id)->getPath();
$uri = str_replace(JURI::base(true).'/', JURI::root(), $uri);
$body   = "<h2>Добавлен товар: {$data['product_name']}</h2>Для просмотра перейдите по <a href='$uri'>ссылке</a>";
$mailer =& JFactory::getMailer();
$sender = array($config->getValue('config.mailfrom'), $config->getValue('config.fromname') );
$mailer->setSender($sender);
$mailer->addRecipient($recipients);
$mailer->isHTML(true);
$mailer->setSubject('тема письма')->setBody($body)->Send();
}
чпок! Сразу предупреждаю что решение достаточно грязное. Естественно при обновлении все эти хаки слетят. Чтобы этого не произошло можно переопределить VirtuemartControllerProduct используя плагин mvc override. Да и sendmail может быть довольно тормозным так что если много юзеров то лучше использовать другие почтовые агенты.Но это все уже выходит за рамки бесплатных советов)
« Последнее редактирование: 07.05.2014, 22:36:31 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
главное еще замутить кнопку/функцию отключения данной фишки - а то добавляя штук 100 товаров например через csv импорт, можно эдак переспамить )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как удалить дочерние товары в карточке товара VM 2?

Автор zeus07

Ответов: 0
Просмотров: 87
Последний ответ 12.05.2020, 14:51:39
от zeus07
Расчет общего веса заказа в корзине VirtueMart 3.6

Автор Valderdag

Ответов: 8
Просмотров: 245
Последний ответ 01.05.2020, 10:29:02
от Valderdag
[Решено] Вывод других товаров тойже категории в карточке товара

Автор x-render

Ответов: 30
Просмотров: 5653
Последний ответ 06.01.2020, 07:39:31
от Igoritaly
VirtueMart 3 не видит картинки с именем на русском языке

Автор Viktor

Ответов: 4
Просмотров: 193
Последний ответ 15.11.2019, 13:35:50
от AlexB
AJAX поиск для VirtueMart 3.x (Скачать)

Автор gartes

Ответов: 18
Просмотров: 4987
Последний ответ 08.11.2019, 15:37:01
от profitural