Новости Joomla

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

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 импорт, можно эдак переспамить )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скачать - Управление товарами в VirtueMart - в таблиц

Автор gartes

Ответов: 45
Просмотров: 9929
Последний ответ 17.05.2023, 14:53:27
от mansonfaust
Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 1157
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 1286
Последний ответ 05.07.2022, 08:51:19
от wasssup
как изменить цену всем товарам в VirtueMart 3 ?

Автор ShamilHan

Ответов: 5
Просмотров: 2732
Последний ответ 11.03.2022, 21:12:37
от Zeobr
AJAX поиск для VirtueMart 3.x (Скачать)

Автор gartes

Ответов: 19
Просмотров: 7699
Последний ответ 06.10.2021, 16:49:54
от skrepka22