Илья Шибанов 0 Опубликовано 16 декабря, 2009 Жалоба Share Опубликовано 16 декабря, 2009 Доброе. Предлагаю небольшое дополнение к магазину. Как то вечером подумал что отзывы могут служить хорошей стимуляцией для покупки. Но как стимулировать само написание отзывов? Подумав решил немного воспользоваться статусами заказов. Цель: при установке статуса заказа "Доставлен". Клиенту отправляется письмо с благодарностью о покупке и просьбой оставить отзыв на сайте. Реализация: Первое что пришлось сделать это отфильтровать статус "Доставлен" и если установлен он отсылать клиенту письмо с определенным, а не стандартным шаблоном. admin/order.php // Sent mail if ( $_POST['new_status'] == 6){ $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail_end.html'); } else { $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.html'); } $txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.txt');[/code] Теперь если установлен статус "Доставлен" (id=6) клиенту отправляется шаблон change_order_mail_end.html Привожу содержание шаблона change_order_mail_end.html: [code]<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0"> <tr> <td style="border-bottom: 1px solid; border-color: #cccccc;"><div align="right"><img src="{$logo_path}logo.gif"></div></td> </tr> <tr> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Уважаемый/ая {$NAME}!</strong><br> <br> Мы получили уведомление, что заказ ваш доставлен. Благодарим Вас за покупку!<br> <br> {$NAME}, мы постоянно стремимся улучшить работу нашего магазина, и нам было бы очень приятно получить от Вас отзыв.<br> Остались ли Вы довольны качеством товара, удобством магазина? Возможно у Вас есть предложения или замечания?<br> Нам очень важно Ваше мнение. <br> <br> И конечно нам всегда приятно получать положительные отзывы.<br> <br> Большое спасибо за понимание.<br> <br> С уважением, магазин <a href=xhunt.ru>xhunt.ru</a><br> <br> <a href=http://xhunt.ru/product_reviews_write.php?products_id={$PRODUCT_NR}>Оставить отзыв</a><br> <a href=http://xhunt.ru>Магазин "Русский охотник"</a> Для того что бы клиенту отправлялась ссылка на стр. с отзывов о товаре мне пришлось применить метку {$PRODUCT_NR}, которая отображает id купленного товара (если товаров больше чем один, отображает с меньшим id) Описание метки {$PRODUCT_NR}: admin/order.php $this_productID_query = vam_db_query("select products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = " .$this_orderID." LIMIT 1");$this_productID = vam_db_fetch_array($this_productID_query);$vamTemplate->assign('PRODUCT_NR', $this_productID['products_id']);[/code]Собственно и все. =) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 декабря, 2009 Жалоба Share Опубликовано 16 декабря, 2009 Спасибо за то, что поделились своим кодом. Перенёс тему в раздел Модули. Ссылка на сообщение Поделиться на другие сайты
dienel 0 Опубликовано 28 января, 2010 Жалоба Share Опубликовано 28 января, 2010 Очень хороший и нужный способ обратной связи с покупателем. Спасибо Илье. Простите за глупый вопрос: В какое место добавлять код?или это не имеет значения? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 января, 2010 Жалоба Share Опубликовано 28 января, 2010 Шаблоны писем сидят в /templates/шаблон/amin/mail/russian/ и в /templates/шаблон/mail/russian/ Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 28 января, 2010 Жалоба Share Опубликовано 28 января, 2010 Очень интересная идея! Спасибо Илья! ... и "плюсик" тебе ;) Ссылка на сообщение Поделиться на другие сайты
Иван Юрченко 0 Опубликовано 5 августа, 2010 Жалоба Share Опубликовано 5 августа, 2010 Илья, спасибо за хорошую идею! Ссылка на сообщение Поделиться на другие сайты
lux-vanna 0 Опубликовано 5 августа, 2010 Жалоба Share Опубликовано 5 августа, 2010 Не верю я в эту задумку. Мы пробовали стимулировать написание отзывов скидками. Ничего из этого не вышло. А уж простое письмо... Ссылка на сообщение Поделиться на другие сайты
Иван Юрченко 0 Опубликовано 5 августа, 2010 Жалоба Share Опубликовано 5 августа, 2010 Так это уже маркетинг ;-) Здесь инструмент дали, а как им копать - каждый сам решает. Чего-то не работает у меня отправка нового письма, может версия у меня старовата, такое впечатление, что конструкция if ( $_POST['new_status'] == 6) не работает Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 Саша, не подскажешь, почему в файле admin/orders.php строки: $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.html');$txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.txt');[/code]встречаются 2 раза? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 Это задаётся текстовое пиьсмо и .html письмо. В зависимости от опции Разрешить html-письма в Админке - Настройки - Настройка email используется либо обычный шаблон с текстом, либо html файл с текстом. Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 То, что эти 2 строки задают разные шаблоны, я "догадывался" :) Вопрос в том, что именно эти "2 строки" появляются в двух местах файла. Строки 114-115 и строки 319-320. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 Первый - для отправки письма со страницы просмотра конкретного заказа. Второй - для отправки письма из списка заказов, при массовой смене статусов. Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 О, как! Спасибо, сам бы не додумался! :)) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 марта, 2011 Жалоба Share Опубликовано 9 марта, 2011 Не за что Ссылка на сообщение Поделиться на другие сайты
Иван Юрченко 0 Опубликовано 17 августа, 2011 Жалоба Share Опубликовано 17 августа, 2011 что-то в этом коде не так: $this_productID_query = vam_db_query("select products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = " .$this_orderID." LIMIT 1");$this_productID = vam_db_fetch_array($this_productID_query);$vamTemplate->assign('PRODUCT_NR', $this_productID['products_id']); сначала ругается на LIMIT 1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1 | select products_id from orders_products where orders_id = LIMIT 1; | /admin/orders.php?oID=321&action=edit потом если меняю на $this_productID_query = vam_db_query("select products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$this_orderID . "' LIMIT 1"); ошибки нет, но и метка {$PRODUCT_NR} в письме пустая Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 августа, 2011 Жалоба Share Опубликовано 17 августа, 2011 Не туда вставили значит код, код я так понимаю для списка заказов, а Вы вставили внутрь заказа. Либо попробуйте заменить (int)$this_orderID на (int)$_GET['oID'] Ссылка на сообщение Поделиться на другие сайты
Иван Юрченко 0 Опубликовано 17 августа, 2011 Жалоба Share Опубликовано 17 августа, 2011 заменить (int)$this_orderID на (int)$_GET['oID'] вот так работает метка при изменении статуса с карточки товара! еще условие if ( $_POST['new_status'] == 6) не работает с карточки заказа, - присылает старый вариант письма без отзыва заменил на if ( $_POST['status'] == 6) Вобщем там надо разный код ставить для изменения статуса из карточки заказа и для массового изменения. У меня получилось, спасибо Саше за подсказку ;-) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 августа, 2011 Жалоба Share Опубликовано 18 августа, 2011 Не за что. Хорошо, что разобрались. Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 16 мая, 2012 Жалоба Share Опубликовано 16 мая, 2012 А у меня в orders.php конструкция: $nords = $_POST['new_status']; echop $nords; $nordss = $_POST['status']; echop $nordss; [/CODE] не работает. Кто знает, подскажите. Разбираюсь с этим тут >>> http://vamshop.ru/forum/topic/10585-шаблоны-писем-статусов-заказа/ Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 16 июня, 2012 Жалоба Share Опубликовано 16 июня, 2012 Куда именно вставлять? в какое место ставлю в 247 строчку. ничего не меняется ((( // Sent mail $this_productID_query = vam_db_query("select products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = " .$this_orderID." LIMIT 1"); $this_productID = vam_db_fetch_array($this_productID_query); $vamTemplate->assign('PRODUCT_NR', $this_productID['products_id']); if ( $_POST['new_status'] == 6){ $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail_end.html'); } else { $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.html'); } $txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.txt'); if ( $_POST['status'] == 6){ $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail_end.html'); } else { $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.html'); } $txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.txt'); [/CODE] Заменил [CODE] (int)$this_orderID на (int)$_GET['oID'] Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 17 июня, 2012 Жалоба Share Опубликовано 17 июня, 2012 HELP :what: Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 22 июня, 2012 Жалоба Share Опубликовано 22 июня, 2012 Этот вариант не пашет? http://vamshop.ru/fo...B0/page__st__20 прицепил файл orders.php Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 6 октября, 2014 Жалоба Share Опубликовано 6 октября, 2014 Сделал для себя с учетом последних версий. Добавил возможность отправлять разные шаблоны писем для разных статусов заказов. Работает и при разовой и при массовой смене статусов. Ну и ссылку на отзыв о товаре воткнул при статусе "доставлено". Кто сам не справится по мотивам этой темы, можете обращаться. Помогу за долю малую. Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 25 октября, 2014 Жалоба Share Опубликовано 25 октября, 2014 Большое спасибо автору за идею и [:|||||||:] за реализацию - индивидуальные шаблоны можно назначить к любому стаутусу- все на удивление удобно и экономит массу времени ) Ссылка на сообщение Поделиться на другие сайты
vitosbaltos 0 Опубликовано 14 ноября, 2015 Жалоба Share Опубликовано 14 ноября, 2015 // Sent mail if ( $_POST['new_status'] == 6){ $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail_end.html'); } else { $html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.html'); } $txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/admin/mail/'.$_SESSION['language'].'/change_order_mail.txt'); [/code] Подскажите, как сделать, чтобы этот код также работал для постоянных клиентов, если они делают новые заказы, а не только для новых покупателей? Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения