Перейти к содержимому


Фотография
- - - - -

Оповещение пользователя о появлении материала

оповещение

  • Закрытая тема Тема закрыта
Сообщений в теме: 18

#1 usersJbzoo

usersJbzoo

Отправлено 16 May 2015 - 07:59

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

Необходимо:

Чтобы пользователь мог оставить заявку на определенный отсутствующий материал (конкретно по коду товара)

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

 

Joomla: 3.4.1     JBZoo: 2.1.5 Pro (build 1)     Zoo: 3.3.4


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 16 May 2015 - 10:33

Chester1988, такого функционала в JBZoo нет. Можете через компонент форм создать форму что бы пользователь отправлял запрос что такого товара нет. НУ а вы у же в ручную как товар появится можете написать ему ответ. 


  • 0
Изображение
 

#3 usersJbzoo

usersJbzoo

Отправлено 16 May 2015 - 15:22

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


  • 0

#4 SmetDenis

SmetDenis

Отправлено 18 May 2015 - 08:30

Вариант два
- На событие item:saved (+ флаг isNew) добавить свое расширение, которое будет проверять среди списка заявок подходящих кандидатов и отправлять им уведомление.

- Сделать проверку по крону (раз в сутки например) и проверять новые товары и новые заявки. Если есть пересечение - отправлять уведомление.

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

Любой из них реализуется своими силами, т.к у нас ничего подобного нет и не планируется.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 usersJbzoo

usersJbzoo

Отправлено 20 May 2015 - 10:53

как сделать отправку сообщения(адрес заполнен на форме) после добавления материала с сайта в каталог?
в какой файл (Submission) смотреть для хака?

  • 0

#6 usersJbzoo

usersJbzoo

Отправлено 20 May 2015 - 10:59

вопрос по api - как найти материал по категории и номеру элелемента (например-коду)


  • 0

#7 SmetDenis

SmetDenis

Отправлено 22 May 2015 - 09:12

как сделать отправку сообщения(адрес заполнен на форме) после добавления материала с сайта в каталог?
в какой файл (Submission) смотреть для хака?


После отправки формы обязательно сработает событие submission:saved
Перехватить его можно так - media\zoo\applications\jbuniversal\framework\events\jbevent.submission.php saved()

Информация о подаваемом материале можно получить так
        $params = $event->getParameters();
        $item   = $params['item'];

вопрос по api - как найти материал по категории и номеру элелемента (например-коду)


Что такое номер-код-элемента и как это связано с категорией?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 usersJbzoo

usersJbzoo

Отправлено 22 May 2015 - 09:58

Необходимо найти материал из определенной категории с определенным номером (поле IMEI)
 
файл  jbevent.submission.php 
 
событие saved() 
 
 $params = $event->getParameters(); 
         $appParams = $params['appParams'];
        $item      = $params['item'];

  $elementIMEI = $item->getElement('52d6af12-239b-46f0-967f-b457e8f52b49'); 
            $dataIMEI = (array)$elementIMEI->data(); // получаем данные элемента IMEI
            $elementsFinde = array(
            'category_id' => '1',
            '52d6af12-239b-46f0-967f-b457e8f52b49'=>$dataIMEI['value']);
   $items = JBModelFilter::model()->filter($elementsFinde);
... здесь получаем ошибку Fatal error: Call to undefined method JBModelFilter::filter()..
Что не так?
и еще, таким способом получим id категории?:
        $elementCateg = $item->getElement('category_id'); 
        $data = (array)$elementCateg->data(); 
        if ($data[0] =2) {..


  • 0

#9 usersJbzoo

usersJbzoo

Отправлено 25 May 2015 - 10:51

SmetDenis прошу подсказки, в правильном ли направлении делаем, и почему получаем ошибку


  • 0

#10 SmetDenis

SmetDenis

Отправлено 26 May 2015 - 10:17

$items = JBModelFilter::model()->filter($elementsFinde);
метод называется search() - media\zoo\applications\jbuniversal\framework\models\jbmodel.filter.php

Правильно ли...? Сложно сказать по такому маленькому фрагменту кода. Кажется да.

вместо
$elementCateg = $item->getElement('category_id');
кажется правильнее использовать
$elementCateg = $item->getElement('_itemcategory');
или даже
$elementCategId = $item->getPrimaryCategoryID();

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!