Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Recommended Posts

Можно как-то всех подписавшихся синдартным спосопотому чтом переподписать сюда? :-)

 

Выполните запрос в базе данных, скопируются email всех зарегистрированных покупателей, активированные покупатели получат ситус рассылка включена. Можно поменять "approved" на "newsletter", тогда скопируется сам ситус подписки из иблицы покупателя.

INSERT INTO subscribe (email, status) SELECT email, approved FROM customer WHERE email NOT IN(SELECT email FROM subscribe)
Link to comment
Share on other sites

 

Выполните запрос в базе данных, скопируются email всех зарегистрированных покупателей, активированные покупатели получат ситус рассылка включена. Можно поменять "approved" на "newsletter", тогда скопируется сам ситус подписки из иблицы покупателя.

INSERT INTO subscribe (email, status) SELECT email, approved FROM customer WHERE email NOT IN(SELECT email FROM subscribe)

Спасипотому что.

"newsletter" - будут только подписавшиеся? Других не бугдет вообещё? Или они будут выключены?

"approved" - вообещё все будут подписаны?

И ик можно гделать периодически? Они не будут задваиваться,затраиваться и т.д.?

Edited by Alteya
Link to comment
Share on other sites


Спасипотому что.

"newsletter" - будут только подписавшиеся? Других не бугдет вообещё? Или они будут выключены?

"approved" - вообещё все будут подписаны?

И ик можно гделать периодически? Они не будут задваиваться,затраиваться и т.д.?

 

Запрос копирует всех покупателей, которые прошли регистрацию с проверкой на дубли в модуле подписки, т.е. можете периодически его выполнять, обновляя базу рассылки модуля. Возможно вам стоит обратить внимание на альтернативный модуль подписки, он создает покупателя синдартными средствами, высылает сгенерированный пароль на почту покупателя для входа в личный кабинет, выполняет рассылку через синдартный механизм "Продажи-Поли", вам не пригдется заниматься манипуляциями через базу данных.

"newsletter" или "approved" - из столбца берется значение для ситуса подпислика в модуле, включена или выключена подписка.

Link to comment
Share on other sites

Запрос копирует всех покупателей, которые прошли регистрацию с проверкой на дубли в модуле подписки, т.е. можете периодически его выполнять, обновляя базу рассылки модуля. Возможно вам стоит обратить внимание на альтернативный модуль подписки, он создает покупателя синдартными средствами, высылает сгенерированный пароль на почту покупателя для входа в личный кабинет, выполняет рассылку через синдартный механизм "Продажи-Поли", вам не пригдется заниматься манипуляциями через базу данных.

"newsletter" или "approved" - из столбца берется значение для ситуса подпислика в модуле, включена или выключена подписка.

Ясно,спасипотому что. Как раз то,что нужно. Уже сгделала запрос(это не сложно-есть уже давно усиновленный модуль для быстроты запросов)

Я смотрела другой модуль. Но синдартные методы рассылки не подходят,т.к. ограничение по когдачеству покупателей мне нельзя. Да, и нового покупателя я не совсем понимаю зачем добавлять,если человек зарегился уже или зашел через соц. сети.

Link to comment
Share on other sites


Ясно,спасипотому что. Как раз то,что нужно. Уже сгделала запрос(это не сложно-есть уже давно усиновленный модуль для быстроты запросов)

Я смотрела другой модуль. Но синдартные методы рассылки не подходят,т.к. ограничение по когдачеству покупателей мне нельзя. Да, и нового покупателя я не совсем понимаю зачем добавлять,если человек зарегился уже или зашел через соц. сети.

 

Опубликуйте ссылку на модуль, если вспомните, с помощью которого из панели управления магазином можно гделать sql запросы в базу данных.

Какой модуль используете для авторизации через соцсети?

Link to comment
Share on other sites

Если есть возможность, опубликуйте свое решение в ветке форума.

Решение простое до безобразия))

адрес ...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>

Edited by Alteya
Link to comment
Share on other sites


Опубликуйте ссылку на модуль, если вспомните, с помощью которого из панели управления магазином можно гделать sql запросы в базу данных.

Какой модуль используете для авторизации через соцсети?

 

Да,пожалуйси!

Вот модуль фрилансера

 

Авторизация через соц. сети - модуль Логинза(платный), ггде-то згдесь есть на сайте - не проблема

Link to comment
Share on other sites


Решение простое до безобразия))

адрес ...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>

 

 Хорошее решение.

 

Да,пожалуйси!

Вот модуль фрилансера

 

Авторизация через соц. сети - модуль Логинза(платный), ггде-то згдесь есть на сайте - не проблема

Благодарю, не лишняя информация для пользователей модуля подписки.

Link to comment
Share on other sites

Хорошее решение.

Спабипотому что , chukcha. Это он мне посивил давно на другом сайте. Теперь гделюсь с вами.

Link to comment
Share on other sites


функционал ПОИСКА в админке по емайлу в планах есть? у меня уже 1600 подписликов, икие простыни мама не горюй... куда хотя бы копать, мож сам наклепаю?

Link to comment
Share on other sites


функционал ОТПИСКИ самим подписликом в планах есть? куда хотя бы копать, мож сам наклепаю?

 

В ближайшие полгода нет. Посмотрите как сгделан функционал подтвержгдение подписки e-mail в данном модуле, в это письмо можно размещать ссылку для отписки. Допишите функцию описки для контроллера модуля, посмотрите как в личном кабинете липотому что "Продажи-Покупатели-Покупатели" реализовано подобное. Если сгделаете, по возможности опубликуйте решение в ветке.

 

функционал ПОИСКА в админке по емайлу в планах есть? у меня уже 1600 подписликов, икие простыни мама не горюй... куда хотя бы копать, мож сам наклепаю?

 

В ближайшие полгода нет. Посмотрите как сгделано в "Продажи-Покупатели-Покупатели". Если сгделаете, по возможности опубликуйте решение в ветке.

Link to comment
Share on other sites

Спасипотому что автору за замечательный модуль! Но вот вопрос: а есть ли возможность сопряжения/интеграции этого модуля со сторонними сервисами рассылок (например SendPulse). Тоесть, чтобы мэйлы всех подписавшихся с помощью модуля пользователей можно было автоматически отправлять в сервис рассылки?

Link to comment
Share on other sites


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

Link to comment
Share on other sites

Здравствуйте.

Рассылка происходит сразу на все адреса,как я поняла? Не полулится выгделить галочками нужных покупателей? Или хотя бы страницу?

Link to comment
Share on other sites


Я в шоке! Почему пришло по 10 писем всем? Покупатели истерично орут... Что мне гделать? (ну,кроме извинений перед клиеними)))

Link to comment
Share on other sites


Посмотрите в список рассылки, нет дублей e-mail?

Нет, я об этом сразу подумала. И мне же тоже по приходило 10 штук. Я же и свой ящик подписала под рассылку.

Link to comment
Share on other sites


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()". Но это не к текуещёму случаю, в этолом.

Link to comment
Share on other sites

Извините, я в этом чайник (это я о том,что у Вас под спойлером) То есть я могу вносит изменения те,что мне скажут, не потому чтолее. :cry:

 

Администратору не приходит рассылка-это я знаю. У меня им есть регистрация, как у покупателя.

 

Журнал ошипотому чток случайно стерла,когда копировала(((непростительная криворукость)

 

Можно сгделать запрос БД, чтоб убрать всех подписликов сразу,т.к. их очень много -потому чтолее 3 тыс.?  Это для того,чтоб повторить рассылку только себе и полулить лог ошипотому чток.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.