37 IT

Союз IT професcионалов

Печать

В Virtuemart 3 по умолчанию функция "Уведомить меня" не рабочая и нет списка пользователей ожидающих товар.

 

Лист ожидания и отправка почты

На эту тему есть платные модули, мы решили пойти другим путем и создали простенький файлик который отображает таблицу с листом ожидания и кнопку "Отправить почтовые уведомления" соответственно по нажатию кнопки отправятся письма всем пользователям которые ожидают товар который доступен на складе, а в базе будет установлена соответствующая отметка, в листе ожидания строчка отметится серым цветом.

Все просто, все в одном файле, правда возможно придется доработать под себя. Создайте файл nlist.php и поместите туда следующий код:

Код php листа ожидания

На примере магазина трав

<?php //37it.ru
$roo = $_SERVER['DOCUMENT_ROOT'].'/'; include $roo.'configuration.php';
$conf = new jconfig();
$dbhost = $conf->host;
$dbuser = $conf->user;
$password = $conf->password;
$dbname = $conf->db;
mysql_connect($dbhost, $dbuser, $password);
mysql_select_db($dbname); $q = 'SELECT `notify_email`, notified, joomla_virtuemart_waitingusers.created_on as created_on, product_name, product_sku, product_in_stock, joomla_virtuemart_waitingusers.virtuemart_product_id as id, virtuemart_waitinguser_id FROM joomla_virtuemart_waitingusers, joomla_virtuemart_products_ru_ru, joomla_virtuemart_products WHERE (joomla_virtuemart_waitingusers.virtuemart_product_id = joomla_virtuemart_products_ru_ru.virtuemart_product_id) and (joomla_virtuemart_products.virtuemart_product_id = joomla_virtuemart_products_ru_ru.virtuemart_product_id) ORDER BY created_on';

$tempArray = mysql_query($q);
if (!$tempArray) {echo 'err-'.mysql_error();}
//таблица
echo '<table style="width:100%"><tbody>'; while ($pro = mysql_fetch_assoc($tempArray)) { $tt++; $col='#fff';
if ($pro[product_in_stock]>0) {
$col='#E5FFCE';
if (($pro[notified]==0) and ($mn==1)){
$to = $pro[notify_email]; //адрес получатля
$subject = "Уведомление из магазина"; // тема письма
//текст письма с уведомлением
$message = '<html><head><title>Магазин Доступные травы</title></head><body><p>Здравствуйте!</p><p>'.$pro[created_on].' Вы искали товар <b>'.$pro[product_name].' '.$pro[product_sku].'</b> в интернет-магазине <a href="http://openfito.ru">Доступные травы</a><br/>Уведомляем Вас о появлении товара на нашем складе.</p><p>C уважнием, Доступные травы.<br/></p></body></html>';
$headers = "Content-type: text/html; charset=utf-8 \r\n";
//кодировка письма
mail($to, $subject, $message, $headers); //отправка письма
//отметка в базе о том что письмо отправлено
$query = "UPDATE `joomla_virtuemart_waitingusers` SET `notified` = 1 WHERE virtuemart_waitinguser_id = ".$pro[virtuemart_waitinguser_id]; mysql_query($query);
$err = mysql_errno(); if ($err > 0) {echo "$err: " . mysql_error() . "\n"; }}}
if ($pro[notified]==1) {$col='#ccc';}
//заполнение таблици
echo '<tr style="background:'.$col.'"><td>'.$tt.' - '.$pro[id].'</td><td>'.$pro[product_name].' '.$pro[product_sku].'</td><td>'.$pro[notify_email].'</td><td>'.$pro[created_on].'</td><td>'.$pro[product_in_stock].'</td></tr>';}
mysql_free_result($tempArray); $q='';
$temparray='';
//кнопки
echo '</tbody></table><br /><a href="/nlist.php?mn=1">Отправить всем</a> | <a href="/nlist.php">Список</a>'; ?>

Добавить комментарий


Защитный код
Обновить