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


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

Подписка на материалы пользователя на основе JBZooFavorite


Лучший Ответ SmetDenis , 05 December 2013 - 09:47

Обязательно ли нужно прописывать здесь данные для нового контроллера "subscribe"? Если обязательно, то как эти самые чексуммы получить?
 

checksums нужен только для того чтобы проверять изменения файловой системы JBZoo (Zoo)

Если этих файлов там не будет, совершенно ничего страшного не произойдет.

 

В запросах контроллера к базе фигурирует переменная с именем таблицы favorit' ов: "DELETE FROM `" . ZOO_TABLE_JBZOO_FAVORITE . "` WHERE (`id` = '" . (int)$rowId . "');"

Константа создается во время работы бутсрапа системы (инициализации). Она будет объявлена всегда и содержать актуальное название таблицы избранного. Если у вас другая таблица, то лучше сделайте свою константу.

 

Можете глянуть что не так? Делал всё по favorit'у, никакой "отсебятины".

В целях безопасности, посторонние файлы не подключаются автоматически.

Включите класс JBModelSubscribe вручную через php require_once в системной плагине или перед нужным контроллером.

Перейти к сообщению


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

#1 Akela

Akela

Отправлено 30 November 2013 - 13:30

Пытаюсь решить такую задачу для сайта рецептов.

 

Если "пользователю-1" нравятся  рецепты какого-то "пользователя-2", то "пользователь-1" может подписаться на уведомления по почте, если "пользователь-2" разместил очередной рецепт через подачу на сайте.

 

Image 1.jpg

 

За основу взял JBZooFavorite.

Далее переделка очень простая. Ищу все файлы и вхождения с "favorite", и там где надо - дописываю такие же блоки кода, где вместо "favorite" ставлю "subscribe". Где -то добавляю новые файлы, и там где было в имени "favorite", ставлю "subscribe".

 

Пока такие вопросы возникли:

 

1. по адресу media\zoo\applications\jbuniversal в файле checksums находятся такие строки, относящиеся к favorite:

8ca096fda23d564fe62bc65ef5f498e0 jbapp/elements/jbfavorite/index.html
b44e397d2f5f9a769b83b7f219d47fba jbapp/elements/jbfavorite/jbfavorite.php
b477b78295c2b2b325c1c7965c20a966 jbapp/elements/jbfavorite/jbfavorite.xml
8ca096fda23d564fe62bc65ef5f498e0 jbapp/elements/jbfavorite/tmpl/index.html
22084c36a875abbb69145757496ac6fa jbapp/elements/jbfavorite/tmpl/jbfavorite.php
99d3f3e7561eec9dea693876f9c4b46e jbapp/framework/controllers/favorite.php
f800a26ca936e58006e548920d2fc857 jbapp/framework/elements/user/jbfavorite.php
41054a653bdf2a03ad703225672fc8e9 jbapp/framework/helpers/jbfavorite.php
27bbd78ef8bf320589233038034f273c jbapp/framework/models/jbmodel.favorite.php
33f714728154e54a4227d7204b923466 jbapp/templates/catalog/favorite.php
0cd8a66b3458ce4324d2b62bf9e48ee8 jbapp/templates/catalog/renderer/favorite/_default.php
8ca096fda23d564fe62bc65ef5f498e0 jbapp/templates/catalog/renderer/favorite/index.html

 

Обязательно ли нужно прописывать здесь данные для нового контроллера "subscribe"? Если обязательно, то как эти самые чексуммы получить?

 

 

2. В запросах контроллера к базе фигурирует переменная с именем таблицы favorit' ов:

"DELETE FROM `" . ZOO_TABLE_JBZOO_FAVORITE . "` WHERE (`id` = '" . (int)$rowId . "');"

 

Где эта переменная задаётся?

 

 

 


  • 0

#2 Akela

Akela

Отправлено 03 December 2013 - 22:20

Где эта переменная задаётся так и не нашёл, пришлось название таблицы как есть прописывать.

 

Для неавторизованных пользователей через сессии работает, для авторизованных при клике на "Подписаться" выдаёт ошибку

Fatal error: Class 'JBModelSubscribe' not found in /home/www/ilgusto.dev.webway.ru/html/media/zoo/applications/jbuniversal/framework/helpers/jbsubscribe.php on line 83

Можете глянуть что не так? Делал всё по favorit'у, никакой "отсебятины".

 

Все необходимые файлы во вложении

Прикрепленный файл  jbuniversal.zip   69.45К   44 Количество загрузок:

 

 


  • 0

#3 SmetDenis

SmetDenis

Отправлено 05 December 2013 - 09:47   Лучший Ответ

Обязательно ли нужно прописывать здесь данные для нового контроллера "subscribe"? Если обязательно, то как эти самые чексуммы получить?
 

checksums нужен только для того чтобы проверять изменения файловой системы JBZoo (Zoo)

Если этих файлов там не будет, совершенно ничего страшного не произойдет.

 

В запросах контроллера к базе фигурирует переменная с именем таблицы favorit' ов: "DELETE FROM `" . ZOO_TABLE_JBZOO_FAVORITE . "` WHERE (`id` = '" . (int)$rowId . "');"

Константа создается во время работы бутсрапа системы (инициализации). Она будет объявлена всегда и содержать актуальное название таблицы избранного. Если у вас другая таблица, то лучше сделайте свою константу.

 

Можете глянуть что не так? Делал всё по favorit'у, никакой "отсебятины".

В целях безопасности, посторонние файлы не подключаются автоматически.

Включите класс JBModelSubscribe вручную через php require_once в системной плагине или перед нужным контроллером.


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



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


#4 Akela

Akela

Отправлено 05 December 2013 - 22:35


 

В целях безопасности, посторонние файлы не подключаются автоматически.

Включите класс JBModelSubscribe вручную через php require_once в системной плагине или перед нужным контроллером.

 

 

 

Я сам, к сожалению, такое не осилю...  Можете подробней расписать как это сделать?

Файлы классов лежат по адресу \jbuniversal\framework\models?

А в каком файле require_once'ом подключать - plugins/system/zooenent/zooevent.php или plugins/system/jbzoo/jbzoo.php?

 

 


Константа создается во время работы бутсрапа системы (инициализации). Она будет объявлена всегда и содержать актуальное название таблицы избранного. Если у вас другая таблица, то лучше сделайте свою константу.

 

 

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


  • 0

#5 SmetDenis

SmetDenis

Отправлено 07 December 2013 - 19:07

А в каком файле require_once'ом подключать - plugins/system/zooenent/zooevent.php или plugins/system/jbzoo/jbzoo.php?

 

Подключите файл в вашем контроллере или перед хелпером JBSubscribeHelper

Это не принципиально.

 

require_once 'путь до файла.php';

 

Я б создал эту константу для новой таблицы, только не разобрался где она объявляется.

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


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



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


#6 Akela

Akela

Отправлено 10 December 2013 - 18:01

Спасибо! Отлично! Заработал контроллер! (handshake)

 

Теперь буду его учить с id автора работать вместо id item'а


  • 0




Click to return to top of page in style!