berrber
-
Публікації
265 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем berrber
-
-
E-mail отправителя берется из "Система-Настройки-Общие-E-mail".
Можно в файле "admin/controller/catalog/subscribe.php" в строке
$mail->setFrom($this->config->get('config_email'));
записать нужный e-mail
$mail->setFrom('[email protected]');
-
Модуль имеет свой механизм рассылки, он никак не взаимодействует со стандартным.
Если удалить всех подписчиков, вы потеряете базу подписчиков. Если все же хотите всех удалить, можете в разделе "Система-Настройки-Опции-Элементов на страницу (Админка)" выставить 500 и удалить подписчиков через функционал модуля, кнопкой "Удалить".
Что вот я сделала, так это выделила первый столбик (всех подписчиков первой страницы),т.к. думала провести рассылку по странице в час,например. Может в этом дело?
Нажав кнопку "Выполнить рассылку" вы произведете рассылку по всему списку подписчиков, выбирать "галочками" их не нужно. Может в этом проблема - вы выбрали 8 раз подписчиков и нажали соответственно 8 раз кнопку "Выполнить рассылку"?
-
Установил opencart 1.5.3.1, установил модуль. Создал пару подписчиков, заполнил тестовым текстом "Подписка на новости-Письмо подписчику", нажал кнопку "Выполнить рассылку". Каждый из подписчиков получил по одному письму. В вашем случае я вижу следующие вероятные возможности возникновения описанной вами ситуации:
1. Многократно нажали кнопку "Выполнить рассылку".
2. Каким-то образом у вас присутствуют дубли e-mail, что маловероятно.
3. Некорректные настройки хостинга, следует обратиться к ним по этому вопросу. Но перед этим проверьте как отрабатывает стандартная система рассылки, если она не повторяет описанное вами поведение, дело не в хостинге.
4. Ошибка в коде модуля, которую я не вижу. -
Напишите какое количество писем приходит точно.Приходят одинаковые письма из раздела "Подписка на новости-Письмо подписчику", верно?
-
1. Вы в разделе панели управления магазином "Подписка на новости" нажимаете кнопку "Выполнить рассылку" и к вашим подписчикам приходит письмо, оформленное в разделе "Письмо подписчику" в количестве 10 копий, так же на вашу почту, указанную в разделе "Система-Настройки" приходит это же письмо в количестве 10 копий, все верно?
2. Опубликуйте в ветку лог error.txt за последние 2 дня в спойлер.P.S. код выполняющей рассылку информации подписчикам не выполняет рассылку для администратора магазина.
контроллер:
public function send() { $this->language->load('catalog/subscribe'); $this->load->model('catalog/subscribe'); $subscribers = $this->model_catalog_subscribe->getSubscribers(); if ($this->validateSendMail($subscribers)) { foreach ($subscribers as $subscriber) { if ($subscriber['status']) { $subscribe_descriptions = $this->model_catalog_subscribe->getEmailDescription(); $text_mail = $subscribe_descriptions[(int) $this->config->get('config_language_id')]; $subject = sprintf($this->language->get('text_subject_mail'), $this->config->get('config_name')); $message = '<html dir="ltr" lang="en">' . "\n"; $message .= ' <head>' . "\n"; $message .= ' <title>' . $subject . '</title>' . "\n"; $message .= ' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' . "\n"; $message .= ' </head>' . "\n"; $message .= ' <body>' . html_entity_decode($text_mail, ENT_QUOTES, 'UTF-8') . '</body>' . "\n"; $message .= '</html>' . "\n"; $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->hostname = $this->config->get('config_smtp_host'); $mail->username = $this->config->get('config_smtp_username'); $mail->password = $this->config->get('config_smtp_password'); $mail->port = $this->config->get('config_smtp_port'); $mail->timeout = $this->config->get('config_smtp_timeout'); $mail->setTo($subscriber['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($subject); $mail->setHtml($message); $mail->send(); $this->session->data['success'] = $this->language->get('text_send_success'); } } } $this->getList(); }
модель:
public function getSubscribers($data = array()) { $sql = "SELECT * FROM " . DB_PREFIX . "subscribe "; $sort_data = array( 'name', 'status' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= "ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY email"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC"; } else { $sql .= " ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int) $data['start'] . "," . (int) $data['limit']; } $query = $this->db->query($sql); return $query->rows; }
Стоит доработать функцию "send", указать "start=0" & "limit=$this->model_catalog_subscribe->getTotalSubscibe()". Но это не к текущему случаю, в целом.
-
Посмотрите в список рассылки, нет дублей e-mail?
-
Рассылка осуществляется по адресам со статусом "Включено".
-
Не думаю что это сложно будет сделать, равно как и недорого, если сервис серьезный и предоставляет адекватный протокол сопряжения. Обратитесь в раздел Программирование, создание модулей, изменение функциональности на этом форуме, там достаточно исполнителей которые могут реализовать функционал. Сделаете - публикуйте решение, думаю многим понадобиться.
-
функционал ОТПИСКИ самим подписчиком в планах есть? куда хотя бы копать, мож сам наклепаю?
В ближайшие полгода нет. Посмотрите как сделан функционал подтверждение подписки e-mail в данном модуле, в это письмо можно размещать ссылку для отписки. Допишите функцию описки для контроллера модуля, посмотрите как в личном кабинете либо "Продажи-Покупатели-Покупатели" реализовано подобное. Если сделаете, по возможности опубликуйте решение в ветке.
функционал ПОИСКА в админке по емайлу в планах есть? у меня уже 1600 подписчиков, такие простыни мама не горюй... куда хотя бы копать, мож сам наклепаю?
В ближайшие полгода нет. Посмотрите как сделано в "Продажи-Покупатели-Покупатели". Если сделаете, по возможности опубликуйте решение в ветке.
-
Решение простое до безобразия))
адрес ...catalog\view\theme\default\template\module
файл subscribe.tpl
Добавляем то,что выделено голубым и ставим адрес картинки,которую заливаем в любое место сайта.
<div class="box">
<div class="box-heading"><?php echo $heading_title; ?></div>
<div class="box-content">
<div class="subscribe<?php echo $module; ?>">
<div><img src="адрес картинки" /></div>
<span><?php echo $text_enter_email; ?></span><br/>
<input type="text" name="subscribe_email<?php echo $module; ?>" value="" />
<input type="button" value="<?php echo $button_subscribe; ?>" onclick="addSubscribe(<?php echo $module; ?>);" class="button" />
</div>
</div>
</div>
Хорошее решение.
Да,пожалуйста!
Авторизация через соц. сети - модуль Логинза(платный), где-то здесь есть на сайте - не проблема
Благодарю, не лишняя информация для пользователей модуля подписки.
-
Ясно,спасибо. Как раз то,что нужно. Уже сделала запрос(это не сложно-есть уже давно установленный модуль для быстроты запросов)
Я смотрела другой модуль. Но стандартные методы рассылки не подходят,т.к. ограничение по количеству покупателей мне нельзя. Да, и нового покупателя я не совсем понимаю зачем добавлять,если человек зарегился уже или зашел через соц. сети.
Опубликуйте ссылку на модуль, если вспомните, с помощью которого из панели управления магазином можно делать sql запросы в базу данных.
Какой модуль используете для авторизации через соцсети?
-
Спасибо.
"newsletter" - будут только подписавшиеся? Других не будет вообще? Или они будут выключены?
"approved" - вообще все будут подписаны?
И так можно делать периодически? Они не будут задваиваться,затраиваться и т.д.?
Запрос копирует всех покупателей, которые прошли регистрацию с проверкой на дубли в модуле подписки, т.е. можете периодически его выполнять, обновляя базу рассылки модуля. Возможно вам стоит обратить внимание на альтернативный модуль подписки, он создает покупателя стандартными средствами, высылает сгенерированный пароль на почту покупателя для входа в личный кабинет, выполняет рассылку через стандартный механизм "Продажи-Почта", вам не придется заниматься манипуляциями через базу данных.
"newsletter" или "approved" - из столбца берется значение для статуса подписчика в модуле, включена или выключена подписка.
-
Уже сделала-так красивее будет))
Если есть возможность, опубликуйте свое решение в ветке форума.
-
И как вставить картинку в выведенном модуле? В каком файле копать?
Поясните для чего и куда вставить картинку?
-
Можно как-то всех подписавшихся стандартным способом переподписать сюда? :-)
Выполните запрос в базе данных, скопируются email всех зарегистрированных покупателей, активированные покупатели получат статус рассылка включена. Можно поменять "approved" на "newsletter", тогда скопируется сам статус подписки из таблицы покупателя.
INSERT INTO subscribe (email, status) SELECT email, approved FROM customer WHERE email NOT IN(SELECT email FROM subscribe)
-
Здравствуйте. Подскажите как в маске номера сразу же поставить +7(___) ___-__-__
+7 имеете в виду? Если да, то настройки модуля смотрите, его описание и скриншоты с форума.
-
Огромное спасибо за модуль и за решение моей задачи! Думаю, может ещё кому пригодится! Чё-то скупятся админы на плюсики Вам в репутацию!!
Попробую сам ещё добавить дополнительную строчку для формы
Опубликуйте решение в ветке, если будет возможность.
-
1. В контроллер
$this->data['text_catapulta'] = $this->language->get('text_catapulta'); $this->data['catapulta'] = $this->url->link('catalog/catapulta', 'token=' . $this->session->data['token'], 'SSL');
2. В шаблон
<a href="<?php echo $catapulta; ?>" class="button"><?php echo $text_catapulta; ?></a>
3. В файл локализации
$_['text_catapulta'] = 'Заказы';
- 1
-
Подскажите пожалуйста. На двуязычном сайте (русский + английский) все подписчики получают исключительно письма на русском языке. Непонятно, по какому принципу выполняется рассылка. И как вообще должно быть? Всем по два письма?
На данный момент язык текста письма рассылки подписчикам выбирается на основе текущего языка front-end. Планируется доработка, для рассылки писем подписчикам в том языке, какой был выбран покупателем в front-end при подписке. Сроки доработки не определены.
-
Здравствуйте! Подскажите пожалуйста, как можно вывести модуль не в модальном окне по кнопке, а чтобы он был в "развёрнутом" виде, например в футере, хэдере или в html-блоке. То есть какую строчку нужно вставить например в footer.tpl или header.tpl? Или тут не обойтись одной-двумя строчками кода?
Добрый день.
1. Замените содержание файла /dondo/catalog/view/javascript/dondo_position.js на представленный ниже код
$(document).ready(function () {
$('head').append("<link rel=\"stylesheet\" type=\"text/css\" href=\"catalog/view/javascript/jquery/colorbox/colorbox.css\" \/>");
$.getScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js');
$.getScript('catalog/view/javascript/jquery/jquery.maskedinput.min.js');
$.getScript('catalog/view/javascript/dondo.js');
$('.dondo-custom-position').each(function () {
var dondo_module = this;
$.ajax({
url: 'index.php?route=module/dondo',
type: 'post',
data: 'module='+$(dondo_module).data('module'),
success: function (data) {
$(dondo_module).html(data);
}
});
});
$('.dondo-form').each(function(index, element) {
var module = $(element).data('module');
$.ajax({
url: 'index.php?route=module/dondo/getForm',
type: 'get',
data: 'module='+module,
success: function (data) {
$(element).html(data);
var phone_mask = $('input[name=\'dondo_contact\']').data('phoneMask');
if (phone_mask) {
$('input[name=\'dondo_contact\']').mask(phone_mask);
}
}
});
});
});
2. Замените содержание файла /dondo/catalog/view/javascript/dondo.js на представленный ниже код
$(document).ready(function () {
$('.dondo-send').live('click', function () {
var wait = $(this).data('wait');
var module = $(this).data('module');
var module_box = $(this).closest('.dondo');
$.ajax({
url: 'index.php?route=module/dondo/write',
type: 'post',
dataType: 'json',
data: 'module='+module+'&contact='+encodeURIComponent($(module_box).find('input[name=\'dondo_contact\']').val()),
beforeSend: function () {
$(module_box).find('.attention').remove();
$(this).attr('disabled', true);
$(module_box).find('.dondo-title').after('<div class="attention"><img src="catalog/view/theme/default/image/loading.gif" alt="" />'+wait+'</div>');
$.colorbox.resize();
},
complete: function () {
$(this).attr('disabled', false);
$(module_box).find('.attention').remove();
$.colorbox.resize();
},
success: function (data) {
$(module_box).find('.success').remove();
if (data['error']) {
$(module_box).find('.error').remove();
if (data['error']['contact']) {
$(module_box).find('.contact_error').after('<span class="error">'+data['error']['contact']+'</span>');
}
}
if (data['success']) {
if ($(module_box).closest('#colorbox').length) {
$(module_box).after(data['success']);
$(module_box).remove();
} else {
$(module_box).find('input[name=\'dondo_contact\']').val('');
$(module_box).find('.buttons').after(data['success']);
$(module_box).find('.success').fadeOut(5000);
}
}
$.colorbox.resize();
}
});
});
});
function addToDondo(module) {
$.colorbox({
scrolling: false,
overlayClose: true,
opacity: 0.5,
href: 'index.php?route=module/dondo/getForm',
data: 'module='+module,
onComplete: function () {
var phone_mask = $('input[name=\'dondo_contact\']').data('phoneMask');
if (phone_mask) {
$('input[name=\'dondo_contact\']').mask(phone_mask);
}
}
});
}
3. Для установки в шапку или подвал вместо стандартной строки
<div class="dondo-custom-position" data-module="1"></div>
установите следующую
<div class="dondo-form" data-module="1"></div>
Напомню, что так же нужно установить в шапку скрипт и верный номер data-module, все в соответствии с инструкцией по установке модуля в произвольные позиции, которая поставляется вместе с модулем.
- 1
-
Интересно, на Опенкарте 2.0.3.1 будет работать...?
Пробовал кто-нибудь?
Модуль не поддерживает работу в opencart/ostore v 2.x, функционировать не будет.
-
Читайте как модифицировать seo_url.php на opencart.com или opencartforum.com.
Если и у вас ostore, можно проще - включите seoPro, если нет, ставьте seoPro, insert в БД:
INSERT INTO oc_url_alias (query, keyword) VALUES ('information/arbitrage', 'arbitrage');
Если еще проще - смотрите модули для seoPro freelancer-а, там user-friendly интерфейс.
-
Появилось 2 вопроса по модулю.
1. как можно изменить url страницы чтоб привести его в нормальный вид, а не index.php?route=information/arbitrage
2. как сделать отображение на главной не так:
Отзыв 1
Отзыв 2
А так:
отзыв 1 отзыв 2 отзыв 3
Спасибо!
Верстка.
-
и валидация емайл у вас реализована запросом к серверу ОПЯТЬЖЕ... мдя.. на джиквери разве нельзя тупо сделать и не мучить лишний раз сервак? а если кликеры или бот придет, для него тег input type submit милое дело!!!
Можно дополнить имеющуюся валидацию на сервере js-валидацией, очевидно совсем убирать с сервера проверку, используя только js - нельзя. Публикуйте код, если он будет рабочий, внесу его в модуль.
Модуль Купить в 1 клик. Быстрая покупка [Поддержка]
в Покупки, оформление заказа, корзина
Опубліковано:
1. Вероятно не выполнили все readme, к примеру не вставили код модуля в product.tpl.
2. Опубликуйте лог ошибок из файла error.txt за последние 2 дня в спойлер.
3. Ваша версия opencart/ostore не поддерживается, см. описание модуля?