Форум русской поддержки Joomla!® CMS
11.12.2016, 13:59:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Перемещаясь в архив, объявление снимается с публикации

 (Прочитано 1827 раз)
0 Пользователей и 1 Гость смотрят эту тему.
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« : 14.05.2013, 13:34:29 »

AdsManager 2.8.1 Stable
В конфигурации настроено по истечению стока перемещать в архив и выбрана архивная категория.
В категорию то оно перемещается, но объявление снимается с публикации.
Подскажите, пожалуйста, что поправить, чтобы перемещаясь в архив, объявление не снималось с публикации?
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #1 : 20.05.2013, 13:39:59 »

Господа, неужели никто архив объявлений не использует?
Или у всех они бессрочные?
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #2 : 20.05.2013, 14:04:48 »

а зачем хранить хлам?
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #3 : 20.05.2013, 15:44:54 »

Это ответ из разряда "забей на это т.к. никто не знает"?  Smiley
Архив для меня значимый раздел.
Например мне нужно сформировать цену на товар, а текущих предложений нет или они не дают объективной информации по ценам. Или, например, клиент пожелает узнать цену на какой-то товар несколько месяцев назад. Соответственно без архивных объяв я не смогу предоставить такие данные и посетитель уйдёт на другой сайт.
Таких примеров хватит для обоснования хранения "хлама"?
Записан
khan-alex
Осваиваюсь на форуме
***

Репутация: +6/-1
Offline Offline

Сообщений: 173


« Ответ #4 : 20.05.2013, 16:55:57 »

А если чек: Использовать срок размещения? оставить Нет и указать категорию для перемещения после истечения Срока размещения (в днях), так должно сработать!
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #5 : 20.05.2013, 17:37:10 »

Хм... Интересное решение, не логичное, но интересное  Smiley
По идее если не использовать срок размещения он вообще не должен их ни перемещать ни снимать с публикации... Попробую - отпишусь.
Записан
khan-alex
Осваиваюсь на форуме
***

Репутация: +6/-1
Offline Offline

Сообщений: 173


« Ответ #6 : 28.05.2013, 09:32:01 »

Ну что? Не получилось?
Записан
Alex89
Завсегдатай
*****

Репутация: +198/-1
Offline Offline

Пол: Мужской
Сообщений: 555


Joomlaman :)


« Ответ #7 : 28.05.2013, 15:37:50 »

\administrator\components\com_adsmanager\models\content.php
Код:
case 'archive':
$this->_db->setQuery('UPDATE #__adsmanager_ads SET published=0,recall_mail_sent=0 WHERE id='.$id);
$this->_db->query();
меняете на
Код:
case 'archive':
$this->_db->setQuery('UPDATE #__adsmanager_ads SET recall_mail_sent=0 WHERE id='.$id);
$this->_db->query();
Цитировать
По идее если не использовать срок размещения он вообще не должен их ни перемещать ни снимать с публикации
так оно и есть
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #8 : 03.06.2013, 12:08:29 »

Всем добрый день!

Сорри за задержку с ответом, только вернулся с отпуска.
Как предполагал я и подтвердил Alex89, если отключить использование срока размещения объявления, объявы никуда не перемещаются и не снимаются с публикации.

Сейчас, по совету Alex89, убрал в обработчике событий published=0 для архивной категории. Предчувствую решение своей проблемы, но всё равно результате обязательно отпишусь!
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #9 : 06.06.2013, 10:51:44 »

Alex89 + респект и + уважуха тебе!  Smiley Теперь объявы переносятся в архив, но не снимаются с публикации.
Всё работает как часы! Проблема решена, тему можно закрыть. Всем спасибо!
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #10 : 10.06.2013, 11:19:28 »

Блин, косячок теперь приключился... На объявы, перенесённые в архив, теперь каждый день высылаются напоминания о том, что срок размещения объявы истекает и второе что срок размещения объявы истёк. Подскажите, пожалуйста, как исключить из выборки для рассылки архивную категорию объявлений?
Записан
El_nik
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #11 : 10.06.2013, 12:37:22 »

При удалении published=0 работает отлично но одно но.

После того как объявление переходит в архив, пользователю бесконечным потоком через пару секунд сыпятся тысячи писем с уведомлением об окончании срока. (так и черный список недолго)

Похоже что необходимо дописывать условия или ставящие срок бесконечным после перемещения или делать что то что бы письма второй раз не отправлялись.
Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #12 : 19.06.2013, 10:42:38 »

Судя по всему никому это не нужно  Grin
Ну да ладно, в свободное время пришлось вспоминать SQL и разбираться какие выборки делаются для отправки этих сообщений.
Не уверен что оптимально, но похоже работает.  Smiley

у меня начинается с 497 строки файла \administrator\components\com_adsmanager\models\content.php
Код:
$this->_db->setQuery( " SELECT a.*,c.name as cat, c.id as catid FROM #__adsmanager_ads as a".
     " INNER JOIN #__adsmanager_adcat as adcat ON adcat.adid = a.id ".
     " INNER JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
     " WHERE a.recall_mail_sent = 1 AND a.expiration_date <= CURDATE() AND c.published = 1 AND a.published = 1 GROUP BY a.id");
меняем на
Код:
$this->_db->setQuery( " SELECT a.*,c.name as cat, c.id as catid FROM #__adsmanager_ads as a".
     " INNER JOIN #__adsmanager_adcat as adcat ON adcat.adid = a.id ".
     " INNER JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
     " WHERE a.recall_mail_sent = 1 AND a.expiration_date <= CURDATE() AND c.published = 1 AND a.published = 1 AND c.id <> $conf->archive_catid GROUP BY a.id");
« Последнее редактирование: 19.06.2013, 17:26:34 от xilon » Записан
xilon
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #13 : 19.06.2013, 17:23:29 »

Немного ошибся в логике. Пост поправил.
Предыдущий вариант был не совсем удачный, нынешний вроди как лучше работает.
Записан
zilonitiz
Давно я тут
****

Репутация: +7/-1
Offline Offline

Сообщений: 390



« Ответ #14 : 21.10.2013, 18:15:39 »

Немного ошибся в логике. Пост поправил.
Предыдущий вариант был не совсем удачный, нынешний вроди как лучше работает.

Это что бы мэйлы не отсылал постоянно?
Записан
max_1985
Завсегдатай
*****

Репутация: +55/-0
Offline Offline

Сообщений: 598



« Ответ #15 : 01.05.2015, 08:45:04 »

Код:
" WHERE a.recall_mail_sent = 1 AND a.expiration_date <= CURDATE() AND c.published = 1 AND a.published = 1 AND c.id <> $conf->archive_catid GROUP BY a.id");
Этого не хватает. Письмо про удаление объявления больше не приходит, а вот предложение о продлении - приходит.
« Последнее редактирование: 01.05.2015, 11:40:50 от max_1985 » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet