Делаю на сайте тиккет систему с заданиями на основе ТК.
Создал ТК Задания. Добавил нужные поля. Администратору установил видимость всего списка, всем остальным показывать «только свои», соотвтетственно комментарии к каждому заданию являются чатом по конкретной задаче.
Задания формирую самописным скриптом. Для уведомления админа улетает письмо с оповещением о присутствии новой задачи.
Далее админ и пользователь принудительно подписываются на комментарии к данному заданию cms_comments_tracks
// создаём подписки на комменты в тиккете $target_id=$iid; $target_url="zadachi/".$iid.".html"; $target_title=$ro['title']; $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'"; $core->db->query($subs); $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'"; $core->db->query($subs_a); // отправляем письмо
(как выяснилось этого недостаточно, вся рассылка идёт через крон)
логика при добавлении коммента:
Комментарий добавлен => если есть подписка формируется задание в cms_jobs => далее работает крон, рассылает письма очищает cms_jobs
Рассылку по мылу победил, далее разбираюсь с нотисами, как оказалось, добавления в БД cms_users_notices не достаточно, копаю дальше, на редактирование поста 96 часов, если не успею, придётся писать новый))) комменты с подсказками приветствуются
Реклама #
Zau4man 2 года назад #
С такими записями стоит идти на форум.
Правила сайта instantcms.ru/rules.html
Захар 2 года назад #
Чем я нарушил правила? Это относится непосредственно к движку, это моё личное ковыряние в коде и адаптирование под свои нужды, я ни к чему не принуждаю, если кому то вдруг поможет — это же хорошо
Zau4man 2 года назад #
Специально есть плашка
В вашем посте нет ни решения, и судя по тексту решение только планируется на основе подсказок в комментах. А только рассуждения, и немного пространного кода.
В котором, судя по коду, идет хак файла движка, и запросы напрямую без модели. Так делать не стоит, повторять это тоже не стоит.
Никто же не против, если вы в виде компонента, с хуками (а не хаками) представите тут в блогах готовое решение.
Используйте для вопросов форум. Уточните в теме, в чем сложность, и вам обязательно помогут.
Захар 2 года назад #
где тут «только вопросы»? тут разложены по полочкам многие ответы, и будет больше
Захар 2 года назад #
И учитывая весьма скудную информацию по «принципам» работы cms — думаю размышления на тему, наоборот должны приветствоваться
WebMan 2 года назад #
Размышления приветствуем! На форуме в подходящей ветке или во «Флуде», если такой ветки нет. Форум — это и есть большое коллективное обсуждение.
В блоге выкладывают готовые решения или ответы на какую-то тему.
Захар 2 года назад #
Ребята, это МОЙ блог. Я тут нахожусь, практически, с первых строк кода инстанта. Я веду его так как считаю нужным исключительно для себя. Если Вас что то не устраивает, ну проходите мимо.
В любом случае моя инфа окажется кому то полезной. Если есть на то полномочия, ну забаньте меня нафиг, а если нету, ну отстаньте тогда или помогите советом. Конкретно в данном посте я разложил работу оповещений по email
Этой информации нет ни в документации ни на вашем форуме, в котором темы висят без ответа по два-три-пять дней. Ни Игоряну, ни Вовке, ни Максу ответить некогда — это понятно нас много, а у них своя жизнь, посему до многих моментов приходится докапываться своими силами. И вот когда у кого то возникнет такая же проблема, он легко найдёт данную тему поиском. Посему — не лезьте други, я дядька взрослый и уму разуму меня учить поздно.
WebMan 2 года назад #
Во-первых, Захар, Вы же достаточно взрослый, чтобы читать и соблюдать правила ресурса? ;-)
Во-вторых, а других вариантов Вы не признаёте? Только или разрешить нарушать правила, или забанить? ;-)
Давайте попробуем поискать третий вариант: соблюдать правила и получить помощь одновременно.
Вам модератор уже подсказал, что:
1. Это не готовое решение, оно не даёт полный желаемый результат.
2. Такой подход неэффективен и может запутать читателей Вашего блога. Вы же этого не хотите? Вы же хотите помочь людям?
Поясню. Прямое обращение к БД лучше не использовать, от этого теряется совместимость и читабельность кода. Так же лучше не писать свой код там, где уже есть готовые методы в CMS. Например, для добавления подписки на камент есть метод modelComments->addTracking(). Этот и другие методы для работы с подписками на каменты можно найти поиском названия таблицы 'comments_tracks' по коду системы.
Оба пункта нарушают правила блогов на этом ресурсе. Поэтому такие публикации лучше делать на форуме с вопросом/просьбой подсказать какие-то конкретные нюансы.
Захар 2 года назад #
Тут я позволю себе не согласиться с Вами.
Во первых — никаких нарушений в данном посте нет ибо
— нет нигде в документации описания метода modelComments именно по этому у меня имеется прямое обращение к базе данных. И я не считаю, что это неправильно. Вы на своей машине, если потеряете балонник, колёса вообще менять не будете??? Или простите за грубость, если кончится бумажка, газеткой не подотрётесь? Пойдёте с грязной задницей? Совершенно однозначно — найдёте вариант чем подтереться.
Посему и я обращаюсь к БД напрямую, потому что задокументированных методов нету, а изучать весь движок, который пишется уже почти двадцать лет — считаю неприемлимым.
— во вторых в чём неэффективность? объясните мне. Если работает — значит хорошо. Или Вы считаете, что прямой запрос к БД чем то сильнее нагрузит сервер, чем путь через классы?
— в третьих, у меня нет никакой просьбы, я описываю ход своих мыслей на примере конкретно поставленной задачи. И цитирую «Рассылку по мылу победил, далее разбираюсь с нотисами, как оказалось, добавления в БД cms_users_notices не достаточно, копаю дальше, на редактирование поста 96 часов, если не успею, придётся писать новый))) комменты с подсказками приветствуются» — основной момент пройден, но от подсказок не откажусь.
За подсказку в сторону модели — Вам спасибо, если есть возможность опишите подробнее, тогда я добавлю Ваш текст в пост, с наилучшими пожеланиями. Мне разбираться сейчас в дебрях второй ветки нет времени, но и это придёт со временем.
WebMan 2 года назад #
Про нарушения Вам уже объяснили, повторять нет смысла. Попробуйте перечитать и понять.
В Документации вообще мало описаний методов и свойств классов. Зато в коде много комментариев. Да и сам код чистый, легко читается. Попробуйте разобраться в нём и сделать описание нескольких классов. Это же опенсорс система, создаётся и поддерживается многими людьми. Почему бы Вам вместо претензий о нехватке чего-то не пополнить достижения сообщества своим трудом и добавить недостающее?
Обращаться к таблицам напрямую опасно, так как у других пользователей могут быть другие названия базы или префиксов. Ну и такой код плохо читается, другим людям будет труднее понять Вашу задумку. Вы же опубликовали пост для других людей? Так зачем создавать им проблемы и сложности?
Просьбу Вы не сформулировали. И это, кстати, зря. Минимально нужно было спросить: а всё ли годится для публикации, может кто-то что-то подскажет? То есть, именно то что Вы сейчас делаете в комментариях. Очевидно, что решение хотя и рабочее в Вашем конкретном случае, но не готовое и не полноценное.
У меня нет описания методов класса modelComments и писать его я не предполагаю. Там код достаточно простой, заинтересованные программисты поймут.
Если у Вас «нет времени» разбираться в Двойке и в теме поста, то это ещё один повод делать публикацию не Форуме, а не в блоге.
Захар 2 года назад #
Сударь, вы сами ответили на свой посыл «заинтересованные программисты» — я не программист, как и 98% посетителей данного сайта. И скажу вам честно, с программистами общаться очень сложно, они очень сложно думают и создают больше проблем чем решений. Не обижайтесь — но они душные, в большинстве своём.
Второе да, ещё проблема не развёрнута полностью, как вы могли бы понять по тексту, планирую довести её до логического финала и уже потом подробно изложить и переписать. Тут уж к вам просьба — читайте внимательнее ЧУЖИЕ посты. Вместо того чтобы помочь, раз уж имеете базовые знания, и даже на мою прямую просьбу, Вы занимаетесь полемикой и отвлекаете меня от дела.
KoRn 2 года назад #
Правила немного поменялись. Листал как то ленту блога до самого зарождения первой ветки, да там любые темы выкладывали. Даже идея была, личный блог на Инстант но в личном профиле, захотел сделать публичным нажал кнопку и сделал (согласившись с правилами). Если с правилами не согласен только личный, почитать могут те кто заинтересуется.
Loadырь 2 года назад #
Ахонь, 👍
Melon 2 года назад #
Если я правильно понял, то автор поста — это автор шаблона «Зухерницы» с тикающими часиками, ползающими жучками и т.д. Если так, то ему всё можно простить, пусть хоть о погоде в блоге пишет)))