Тиккет система силами движка. Оповещения на сайте

+1
1.15K
Тиккет система силами движка. Оповещения на сайте

Делаю на сайте тиккет систему с заданиями на основе ТК.

Создал ТК Задания. Добавил нужные поля. Администратору установил видимость всего списка, всем остальным показывать «только свои», соотвтетственно комментарии к каждому заданию являются чатом по конкретной задаче.

Задания формирую самописным скриптом. Для уведомления админа улетает письмо с оповещением о присутствии новой задачи.

Далее админ и пользователь принудительно подписываются на комментарии к данному заданию cms_comments_tracks

  1. // создаём подписки на комменты в тиккете
  2. $target_id=$iid;
  3. $target_url="zadachi/".$iid.".html";
  4. $target_title=$ro['title'];
  5. $subs="insert into n_neformatnoe.cms_comments_tracks set user_id='$user_id', target_controller='content', target_subject='zadachi', target_id='$target_id', target_url='$target_url', target_title='$target_title'";
  6. $core->db->query($subs);
  7. $subs_a="insert into n_neformatnoe.cms_comments_tracks set user_id='1', target_controller='content', target_subject='zadachi', target_id='$target_id', target_url='$target_url', target_title='$target_title'";
  8. $core->db->query($subs_a);
  9. // отправляем письмо

(как выяснилось этого недостаточно, вся рассылка идёт через крон)

логика при добавлении коммента:

Комментарий добавлен => если есть подписка формируется задание в cms_jobs => далее работает крон, рассылает письма очищает cms_jobs

Рассылку по мылу победил, далее разбираюсь с нотисами, как оказалось, добавления в БД cms_users_notices не достаточно, копаю дальше, на редактирование поста 96 часов, если не успею, придётся писать новый))) комменты с подсказками приветствуются

0
Zau4man Zau4man 2 года назад #

С такими записями стоит идти на форум.

Правила сайта instantcms.ru/rules.html

0
Захар Захар 2 года назад #

Чем я нарушил правила? Это относится непосредственно к движку, это моё личное ковыряние в коде и адаптирование под свои нужды, я ни к чему не принуждаю, если кому то вдруг поможет — это же хорошо

0
Zau4man Zau4man 2 года назад #

Специально есть плашка

Изображение

В вашем посте нет ни решения, и судя по тексту решение только планируется на основе подсказок в комментах. А только рассуждения, и немного пространного кода.

В котором, судя по коду, идет хак файла движка, и запросы напрямую без модели. Так делать не стоит, повторять это тоже не стоит.

Никто же не против, если вы в виде компонента, с хуками (а не хаками) представите тут в блогах готовое решение.

3.4. Запрещено создавать записи содержащие только вопросы — используйте форум

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

0
Захар Захар 2 года назад #

где тут «только вопросы»? тут разложены по полочкам многие ответы, и будет больше

0
Захар Захар 2 года назад #

И учитывая весьма скудную информацию по «принципам» работы cms — думаю размышления на тему, наоборот должны приветствоваться

0
WebMan WebMan 2 года назад #

Размышления приветствуем! На форуме в подходящей ветке или во «Флуде», если такой ветки нет. Форум — это и есть большое коллективное обсуждение.

В блоге выкладывают готовые решения или ответы на какую-то тему.

0
Захар Захар 2 года назад #

Ребята, это МОЙ блог. Я тут нахожусь, практически, с первых строк кода инстанта. Я веду его так как считаю нужным исключительно для себя. Если Вас что то не устраивает, ну проходите мимо.

В любом случае моя инфа окажется кому то полезной. Если есть на то полномочия, ну забаньте меня нафиг, а если нету, ну отстаньте тогда или помогите советом. Конкретно в данном посте я разложил работу оповещений по email

Этой информации нет ни в документации ни на вашем форуме, в котором темы висят без ответа по два-три-пять дней. Ни Игоряну, ни Вовке, ни Максу ответить некогда — это понятно нас много, а у них своя жизнь, посему до многих моментов приходится докапываться своими силами. И вот когда у кого то возникнет такая же проблема, он легко найдёт данную тему поиском. Посему — не лезьте други, я дядька взрослый и уму разуму меня учить поздно.

0
WebMan WebMan 2 года назад #

Во-первых, Захар, Вы же достаточно взрослый, чтобы читать и соблюдать правила ресурса? ;-)

Во-вторых, а других вариантов Вы не признаёте? Только или разрешить нарушать правила, или забанить? ;-)

Давайте попробуем поискать третий вариант: соблюдать правила и получить помощь одновременно.

Вам модератор уже подсказал, что:

1. Это не готовое решение, оно не даёт полный желаемый результат.

2. Такой подход неэффективен и может запутать читателей Вашего блога. Вы же этого не хотите? Вы же хотите помочь людям?

Поясню. Прямое обращение к БД лучше не использовать, от этого теряется совместимость и читабельность кода. Так же лучше не писать свой код там, где уже есть готовые методы в CMS. Например, для добавления подписки на камент есть метод modelComments->addTracking(). Этот и другие методы для работы с подписками на каменты можно найти поиском названия таблицы 'comments_tracks' по коду системы.

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

+1
Захар Захар 2 года назад #

Тут я позволю себе не согласиться с Вами.

Во первых — никаких нарушений в данном посте нет ибо

— нет нигде в документации описания метода modelComments именно по этому у меня имеется прямое обращение к базе данных. И я не считаю, что это неправильно. Вы на своей машине, если потеряете балонник, колёса вообще менять не будете??? Или простите за грубость, если кончится бумажка, газеткой не подотрётесь? Пойдёте с грязной задницей? Совершенно однозначно — найдёте вариант чем подтереться.

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

— во вторых в чём неэффективность? объясните мне. Если работает — значит хорошо. Или Вы считаете, что прямой запрос к БД чем то сильнее нагрузит сервер, чем путь через классы?

— в третьих, у меня нет никакой просьбы, я описываю ход своих мыслей на примере конкретно поставленной задачи. И цитирую «Рассылку по мылу победил, далее разбираюсь с нотисами, как оказалось, добавления в БД cms_users_notices не достаточно, копаю дальше, на редактирование поста 96 часов, если не успею, придётся писать новый))) комменты с подсказками приветствуются» — основной момент пройден, но от подсказок не откажусь.

За подсказку в сторону модели — Вам спасибо, если есть возможность опишите подробнее, тогда я добавлю Ваш текст в пост, с наилучшими пожеланиями. Мне разбираться сейчас в дебрях второй ветки нет времени, но и это придёт со временем.

0
WebMan WebMan 2 года назад #

Про нарушения Вам уже объяснили, повторять нет смысла. Попробуйте перечитать и понять.

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

Обращаться к таблицам напрямую опасно, так как у других пользователей могут быть другие названия базы или префиксов. Ну и такой код плохо читается, другим людям будет труднее понять Вашу задумку. Вы же опубликовали пост для других людей? Так зачем создавать им проблемы и сложности?

Просьбу Вы не сформулировали. И это, кстати, зря. Минимально нужно было спросить: а всё ли годится для публикации, может кто-то что-то подскажет? То есть, именно то что Вы сейчас делаете в комментариях. Очевидно, что решение хотя и рабочее в Вашем конкретном случае, но не готовое и не полноценное.

У меня нет описания методов класса modelComments и писать его я не предполагаю. Там код достаточно простой, заинтересованные программисты поймут.

Если у Вас «нет времени» разбираться в Двойке и в теме поста, то это ещё один повод делать публикацию не Форуме, а не в блоге.

0
Захар Захар 2 года назад #

Сударь, вы сами ответили на свой посыл «заинтересованные программисты» — я не программист, как и 98% посетителей данного сайта. И скажу вам честно, с программистами общаться очень сложно, они очень сложно думают и создают больше проблем чем решений. Не обижайтесь — но они душные, в большинстве своём.

Второе да, ещё проблема не развёрнута полностью, как вы могли бы понять по тексту, планирую довести её до логического финала и уже потом подробно изложить и переписать. Тут уж к вам просьба — читайте внимательнее ЧУЖИЕ посты. Вместо того чтобы помочь, раз уж имеете базовые знания, и даже на мою прямую просьбу, Вы занимаетесь полемикой и отвлекаете меня от дела.

0
KoRn KoRn 2 года назад #

Правила немного поменялись. Листал как то ленту блога до самого зарождения первой ветки, да там любые темы выкладывали. Даже идея была, личный блог на Инстант но в личном профиле, захотел сделать публичным нажал кнопку и сделал  (согласившись с правилами). Если с правилами не согласен только личный, почитать могут те кто заинтересуется.

0
Loadырь Loadырь 2 года назад #

Ахонь, 👍

0
Melon Melon 2 года назад #

Если я правильно понял, то автор поста — это автор шаблона «Зухерницы» с тикающими часиками, ползающими жучками и т.д. Если так, то ему всё можно простить, пусть хоть о погоде в блоге пишет)))

Еще от автора

Загрузка аватарок с редактированием
Давеча делал пост, но не все поняли о чём. Тут полная версия размышлений на примере решения задачи загрузки аватарок "как в ВК"
Если некогда разбираться с написанием полноценных полей
Вполне возможно, что про это всё известно, но в документации не нашёл, посему делюсь, кому то будет полезно.
Теряем друга. Нужна помощь.
Друзья, не спама ради.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.