Версия для печати
|
| PrestaShop CMS :: Русская поддержка интернет-магазина PrestaShop > Модули, плагины > подписка на товар |
| Разместил: rdob Время: 01-06-2010 01:00 |
| Подскажите пожалуйста каким образом можно сделать подписку на товар которого нет на складе
в настройках у меня стоит запрет на заказ товара которого нет на складе, каким образом можно сделать форму подписки для клиента в товаре, которого нет на складе , что бы когда товар появлялся на складе ему приходило письмо на почту о том что товар появился в наличии заранее спасибо |
| Разместил: YellowDuck Время: 01-06-2010 12:40 |
| Включить в модуле Почтовые предупреждения v2.2, уведомление клиента |
| Разместил: rdob Время: 03-06-2010 05:12 |
| в том то и дело что все включено (( раз 5 перезалил mailalert, выставил полные права . 0 - результата |
| Разместил: S.Cherkass Время: 22-06-2010 00:01 |
| Поддерживаю тему - Подскажите пожалуйста как заставить заработать подписку на товар отсутствующий на складе?
Обратил внимание на то что ссылка подписки "Уведомить когда станет доступен" http://my_site.com/modules/mailalerts/mailalerts-add.php?id_product=10&id_product_attribute=50 ссылается на файл mailalerts-add.php который просто отсутствует по указанному пути modules/mailalerts/. Там есть несколько других файлов с похожими именами (типа mailalerts-ajax_add.php или myalerts.php). Попытки переименовать их в mailalerts-add.php результата не дали. Сейчас ковыряю код - может удастся найти в чем косяк. Если удастся разобраться, то отпишусь. Просьба - посмотрите пожалуйста у себя - имеете ли вы этот файл modules/mailalerts/mailalerts-add.php ? Спасибо. |
| Разместил: YellowDuck Время: 22-06-2010 00:44 |
| У меня mailalerts-add.php отсутствует |
| Разместил: ors Время: 22-06-2010 00:46 |
| В svn mailalerts-add.php отсутствует http://svn.prestashop.com/trunk/modules/mailalerts/
В modules/mailalerts/product.tpl замените mailalerts-add.php на mailalerts-ajax_add.php |
| Разместил: YellowDuck Время: 22-06-2010 00:51 |
Код: if (msg == '0')
19 { 20 $('#mailalert_link').show().attr('href', 'modules/mailalerts/mailalerts-add.php?id_product=42&id_product_attribute='+$('#idCombination').val()); 21 $('#oos_customer_email').show(); 22 } 23 else 24 { 25 $('#mailalert_link').hide(); 26 $('#oos_customer_email').hide(); Может косяк в яваскрипте (за место mailalerts-add.php должен быть другой файлик прописан)? Я в этом к сожалению ничего не понимаю в этом. |
| Разместил: YellowDuck Время: 22-06-2010 00:53 |
| ors, спасибо, щас попробую |
| Разместил: YellowDuck Время: 22-06-2010 01:00 |
| что-то нет результата ( |
| Разместил: ors Время: 22-06-2010 01:01 |
| Основная ошибка не в этом. В коде страницы неправильно указан путь к скрипту добавления url: '{$base_dir}modules/mailalerts/mailalerts-ajax_add.php' переменная {$base_dir} почему-то оказалась необработана smarty
Сообщение отредактировано ors 22-06-2010 02:03 ... |
| Разместил: YellowDuck Время: 22-06-2010 02:23 |
| ors, спасибо за помощь!
Выкладываю рабочий файлик, у кого не работает просто заменяйте, проверено на версии 0.5 |
| Разместил: ors Время: 22-06-2010 12:10 |
| Долго смотрел исходные коды на svn, так и не понял почему не работает. Оказывается на svn лежит уже исправленная версия http://svn.prestashop.com/trunk/modules/mailalerts/product.tpl |
| Разместил: YellowDuck Время: 22-06-2010 13:52 |
| Ага, только оставалось В modules/mailalerts/product.tpl заменить mailalerts-add.php на mailalerts-ajax_add.php, как вы писали выше
|
| Разместил: S.Cherkass Время: 22-06-2010 19:43 |
Цитата:( ors @ 22-06-2010 07:10 Смотреть сообщение ) Долго смотрел исходные коды на svn, так и не понял почему не работает. Оказывается на svn лежит уже исправленная версия http://svn.prestashop.com/trunk/modules/mailalerts/product.tpl
Спасибо! Сейчас опробую. Вообще замена ссылки на файл mailalerts-add.php ссылкой mailalerts-ajax_add.php равносильна созданию копии и переименованию mailalerts-ajax_add.php в mailalerts-add.php что я сразу же и сделал - это не помогло. Видимо баг действительно кроется в неправильной обработке пути... По-моему схожая проблема, как мне кажется, имеет место и при неотсылке уведомления о заказе (здесь http://www.prestadev.ru/forum/tema-1129-0.html ) Для меня было загадкой почему заработало то что я описал. ...Опробовал...и обнаружил что работает, но работает не так как хотелось...
А хотелось бы чтобы вместе с сообщением "Request notification registered" отправлялось уведомление на е-майл с указанием мыла и желаемого продукта. У вас случаем не так?
опять ковырять код ![]() Сообщение отредактировано S.Cherkass 22-06-2010 14:52 ... |
| Разместил: S.Cherkass Время: 22-06-2010 19:54 |
| Добавлю:
Кроме того в бэк-офисе не нахожу даже напоминание о том что кто-то чего-то хочет и отслеживает...Цена такой функции, которая просто регистрирует заявку и хранит где-то в недрах, на мой взгляд не очень высока.... |
| Разместил: YellowDuck Время: 23-06-2010 12:22 |
Цитата:( S.Cherkass @ 22-06-2010 15:43 Смотреть сообщение ) Вообще замена ссылки на файл mailalerts-add.php ссылкой mailalerts-ajax_add.php равносильна созданию копии и переименованию mailalerts-ajax_add.php в mailalerts-add.php что я сразу же и сделал - это не помогло.
неравносильна, т.к. есть еще вот такая строчка: Код: url: '{/literal}{$base_dir}{literal}modules/mailalerts/mailalerts-ajax_add.php', |
| Разместил: S.Cherkass Время: 23-06-2010 22:53 |
| И все-таки в http://svn.prestashop.com/trunk/modules/mailalerts/product.tpl ссылка 'modules/mailalerts/mailalerts-add.php?id_product... присутствует, а файла реально нет. Ерунда какая-то. Может разработчики планировали ввести этот файл да позабыли?!... |
| Разместил: YellowDuck Время: 02-11-2010 04:39 |
| Заметил, что подписавшемуся на отсутствующий товар уведомление (при появлении товара на складе) приходит только в том случае, если на склад поступает от 4 единиц товара. Можно это значение сделать от 1?
p.s. посоветуйте учебник по php + mysql на русском языке (так чтоб азы освоить), устал до всего догонять методом научного тыка ![]() |
| Разместил: asa Время: 24-12-2010 10:41 |
| Всем здравствуйте.
Была аналогичная проблема, клиенту не удавалось подписаться на уведомление о поступлении товара. Спасибо всем кто отписался тут, проблему решил. Просто скопировал файл http://svn.prestashop.com/trunk/modules/mailalerts/product.tpl на сервер и заменил существующий файл. Дополнительно ничего в файле не правил. При увеличении товара через админку (даже если добавлен лишь 1 товар) исправно шлется письмо клиенту о появлении товара. Вопрос в том, как быть если товар добавляется не через админку? У меня скрипт обрабатывает прайс поставщика и автоматически изменяет количество товара. Понимаю что, для этого можно, наверное бы задействовать функцию public function sendCustomeralert из mailalerts/mailalerts.php. Но так-как с php не знаком, не представляю как ее можно правильно запустить для автоматической рассылки уведомлений. Сам магазин живет на локальном сервере по unix, к которому есть полный доступ. Надеюсь на вашу помощь
|
| Разместил: ors Время: 24-12-2010 12:03 |
| Для этого после добавления товара скрипт должен вызывать Hook::addProduct($product); а после обновления Hook::updateProduct($product); где $product - объект добавленного продукта. Тогда не только уведомление будет отправляться, но и все остальное, что должен делать магазин при обновлении и добавлении товара. |
| Разместил: asa Время: 24-12-2010 12:54 |
| Спасибо ors. А что важного должен делать магазин при обновлении товара? А то скрипт этот на perl-е написан, напрямую в базу записывает. Сейчас времянку на перле напишу. Пусть пробегает по mailalert_customer_oos и если товар появился в product, то письмо отправляет, а строку из mailalert_customer_oos удаляет. Похоже надо будет все же в php погружаться, разбираться, чтобы эта схема обновления по человечески работала. |
| Разместил: ors Время: 24-12-2010 13:03 |
| Обычно магазин ничего не делает при обновлении товара, но вот модули могут обрабатывать это событие. Хуки вызывают соответсвующие функции из модулей зарегистрированных в нем. |
| Разместил: Fant63 Время: 12-01-2011 03:27 |
| А можно где то просматривать продавцу - на что подписались клиенты?
Допустим вижу на товар подписку и со следующим заказом у поставщика - привожу этот товар Или это великий секрет престашопа? Еще есть версия, что я не все перерыл ))) Сообщение отредактировано Fant63 11-01-2011 23:33 ... |
| Разместил: ors Время: 12-01-2011 11:58 |
| В таблице mailalert_customer_oos |
| Разместил: sem4444 Время: 02-02-2011 21:24 |
| То что так долго ждали шаровики свершилось !!!!!!
http://www.prestashop.com/forums/viewthread/47173/P0/third_party_modules/module_list_of_customer_out_of_stock_registrations появляется в статистике Теперь можно удалить записи. Если адрес электронной почты является недействительным он окрашен в красный цвет. Если продукт не является активным Он окрашен серым. Если товар имеется на складе то зеленого цвета Сообщение отредактировано sem4444 02-02-2011 22:26 ... |
| Разместил: Zwergstern Время: 16-11-2011 07:33 |
| Спасибо sem4444, Всем советую. Мне оченнь это оказалось нужным. |
| Разместил: sdnr666 Время: 23-11-2011 07:06 |
| Тема супер! Спасибо! Все работает, statos - вообще супер модуль! =)
Огромное при огромное спасибо!!!!! |
| Разместил: najort Время: 02-02-2012 02:41 |
| Ребята, кто-нибудь statos переводил? Можете выгрузить сюда? |
| Разместил: werru Время: 12-03-2015 17:15 |
Приветствую. Пытаюсь сделать оповещение на почту о появлении товара при разрешённых завазах по телефону. Да хочется и рыбку съесть и на дерево залезть ![]() Нашёл как сделать если available_for_order, но не работает :( <!-- Out of stock hook --> {if (!$allow_oosp && $product->quantity <= 0) OR !$product->available_for_order OR (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE} <div id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}> </div> {$HOOK_PRODUCT_OOS} {/if} даже просто вставка {$HOOK_PRODUCT_OOS} без условий появляется, только если у товара стоит "Не разрешать заказ" В какой момент присваивается переменная HOOK_PRODUCT_OOS я не понял |