[Tickets] Версия 1.5.0-pl

Доступна стабильная версия Tickets 1.5.0-pl, которая отличается от предыдущей ровно одним новшеством — можно включить подсчет просмотров страниц гостями.

За это отвечает новая системная настройка tickets.count_gusts, которая выключена по умолчанию.
Сразу предупреждаю, то если вы её активируете, то любой желающий сможет накрутить счетчик просмотров простыми способами.

Принцип работы такой:
  • Если юзер аторизован — у него никаких изменений, а таблицу пишется id страницы и юзера.
  • Если же это аноним, ему в куки и сессию пишется случайный ключ.
  • А в таблице TicketView добавлено новое поле guest_key, куда этот ключ сохраняется
Таким образом, в таблице можно довольно просто отличить авторизованных юзеров от гостей. У одних есть uid, а у других guest_key.

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

Заходы поисковиков никак не отделяются от других посещений. Если они принимают куки, то будут учтены, как и все гости.

На нашем сайте новый способ подсчета уже активирован, циферки растут.
Василий Наумкин
Василий Наумкин
15 февраля 2015, 10:43
modx.pro
5 939

Комментарии: 53

Alexander V
15 февраля 2015, 14:25
Класс! Так уже веселей)
    Пашок
    Пашок
    15 февраля 2015, 15:32
    БлагоДарю, Василий! Ещё бы лайки для гостей… :)
      Василий Наумкин
      15 февраля 2015, 15:42
      Комменты и посещения для анонимов я, скрепя сердце, сделал, но голосования без авторизации — не уговорите!
        Пашок
        Пашок
        15 февраля 2015, 15:43
        Всё равно БлагоДарю, Василий! :))
          Владимир Ульяновский
          15 февраля 2015, 18:14
          Василий подскажите где почитать как настроить комменты для гостей? И возможно ли тикеты также разрешить гостям с вводом капчи?
      Alexander V
      15 февраля 2015, 16:39
      Василий, фильтрацию по тегам не планируете сделать?
        Василий Наумкин
        15 февраля 2015, 16:40
        По каким тегам? У Tickets тегов нет.
          Alexander V
          15 февраля 2015, 17:51
          TV можно как-то приспособить. Не воспринимают многие личности блоги без тегов. От того и не получается использовать Tickets в разработке на заказ.
            Василий Наумкин
            15 февраля 2015, 18:15
            Используй тогда, что получается.

            А вообще — вот собирались делать теги, но что-то пошло не так.
            Wassi Wassinen
            15 февраля 2015, 19:31
            Иcпользуй Tagger. Чтобы работало с Тикетами нужно реквест автору Таггера отправить. Кстати, Василий, почему в Тикетах может не отображаться еще одна вкладка с тегами?
              Klike
              16 апреля 2015, 08:45
              Удалось подружить Tagger с Тикетами? Или может другое решение использования тегов в тикетах есть?
                Wassi Wassinen
                16 апреля 2015, 09:06
                Нет, не удалось. Нашел решение, которое мне показалось более изящным и масштабируемым — публикую товары minishop2 через вот этот чудесный компонент

                https://modstore.pro/packages/users/ms2form

                Умеет публиковать категории товаров (раздел тикетов) и сами товары (тикет). Поддерживает тэги, мультикатегории, крутой редактор и т.д. Вместе с автором всё еще шлифуем компонент. На выходе, надеюсь, получится интересно.
                  Klike
                  16 апреля 2015, 09:10
                  Супер! Благодарю за подсказку!
                    Wassi Wassinen
                    16 апреля 2015, 09:14
                    Не за что :) Чем еще нравится это решение — можно давать пользователям (всем или группе избранных) создавать свои блоги (категория MS2) и постить туда заметки (товары).

                    И по этой схеме можно делать все, что угодно. Каталог мест и событий, Людей и их действий и т.д. Нужные поля добавляются через плагины и можно собрать любого «монстра». :)
                    Алексей Федоров
                    24 декабря 2015, 15:43
                    Если не сложно, напиши пожалуйста где что указать, чтобы через эту красивость добавлять тикеты. Пошаговая инструкция была бы очень кстати)) Сам не программист, с modx разбираюсь потихоньку, некоторые вещи для меня неочевидны, к сожалению(.

                    Еще сразу возник вопрос по целевому применению. Можно ли сделать вывод через пробел тегов, заданных в ms2form в html-код. На сайт устанавливаю js-сортировщик для списка товаров (там элементов не много будет, поэтому пока таким решением обойдусь, а то с mFilter сходу разобраться не получилось), а он фильтрует по значениям в селекторе class=" (вот тут можно ввести что-то вроде [[~[[*tags]]]], чтобы выдавал перечень тегов?) ".
                      Алексей Федоров
                      25 декабря 2015, 10:01
                      Тьфу, блин… Сразу не понял о чем речь, но теперь разобрался))) Подмена принципа использования по аналогии. Фух))) А то уже собрался куда-то в коды лезть, вызывать непонятно что…
                    Воеводский Михаил
                    16 апреля 2015, 13:46
                    Можешь подсказать, в какую сторону копать для создания этого PR?
                    Какой момент в Таггере конфликтует с Tickets?
                      Wassi Wassinen
                      16 апреля 2015, 14:16
                      Я не стал разбираться. Решение, к которому пришел, описал выше.
                    Wassi Wassinen
                    16 февраля 2015, 21:44
                    "
                Wassi Wassinen
                15 февраля 2015, 19:29
                Василий, тикетМета реализует функционал подсчета? Т.е., подсчет просмотров для гостей можно использовать отдельно от тикетс?
                  Василий Наумкин
                  15 февраля 2015, 19:31
                  Да, можно.

                  Если быть точным, то считает плагин Tickets по событию OnWebPageComplete, а TicketMeta только выводит циферки из сумму просмотров из таблицы TicketView.
                Сергей Шлоков
                15 февраля 2015, 22:32
                А так задумано, что считается просмотр любой страницы, а не только тикета?
                  Василий Наумкин
                  15 февраля 2015, 22:50
                  Да.

                  Ты на любой странице можешь вывести TicketMeta и показать количество просмотров. Можно даже голосовать за любую страницу и выводить комментарии.
                    Андрей Сухомозгий
                    17 февраля 2015, 08:57
                    Василий, подскажи один момент…
                    Включен подсчет гостевых просмотров.
                    У меня на странице со списком тикетов — количество views одно, а на странице этого тикета другое.

                    И на другом сайте так же… А тут на modx.pro — все нормально вроде…

                    Это происходит когда я залогинен в админку
                      Илья
                      15 июня 2015, 21:58
                      Включен подсчет гостевых просмотров.
                      А как включить? не могу разобраться
                        Василий Наумкин
                        15 июня 2015, 22:11
                        А заметку прочитать ты не пробовал?

                        Там даже жирненьким выделено.
                          Илья
                          16 июня 2015, 09:14
                          +- Ability to count guests views of pages. New system setting "tickets.count_guests".
                          Спасибо, посмотрел changelog на гитхабе и сразу врубился =)
                            Василий Наумкин
                            16 июня 2015, 09:40
                            В заметке же написано:
                            За это отвечает новая системная настройка tickets.count_gusts, которая выключена по умолчанию.
                            Как можно не увидеть — я не понимаю.
                              Илья
                              16 июня 2015, 11:25
                              Блин, правда ;)
                        Илья
                        16 июня 2015, 15:26
                        У меня на странице со списком тикетов — количество views одно, а на странице этого тикета другое.
                        И на другом сайте так же… А тут на modx.pro — все нормально вроде…
                        Это происходит когда я залогинен в админку
                        Андрей, ты разобрался?
                    Wassi Wassinen
                    17 февраля 2015, 17:23
                    Василий, какие права должны быть у пользователя, чтобы он мог публиковать комментарии из админки?

                    Заранее благодарен.
                      Василий Наумкин
                      17 февраля 2015, 17:42
                      Почему то, не знаю почему, update_document.

                      Понятия не имею, чем я руководствовался.
                        Wassi Wassinen
                        17 февраля 2015, 17:57
                        А он в «политиках доступа» как называется? update_document не нашел.
                          Wassi Wassinen
                          01 марта 2015, 15:15
                          Василий, подскажи, как дать возможность видеть рейтинг до голосования?

                          Заранее благодарен.
                        Пётр Молчанов
                        19 февраля 2015, 14:40
                        А у таблицы tickets_views должны же автоматом создаваться индексы? А то обновился — стала жууутко лагать БД (мускул 100% проца жрал). Пока индекс для поля parent не сделал, так и лагало. Весь мозг изломал, пока нашел причину))
                          Wassi Wassinen
                          28 февраля 2015, 22:04
                          Василий, подскажи, как дать возможность видеть рейтинг до голосования?

                          Заранее благодарен.
                            Василий Наумкин
                            01 марта 2015, 17:14
                            Без правки исходников — никак.

                            Гости и авторы тикетов видят рейтинги, а авторизованные юзеры — нет, чтобы голосовать непредвзято.
                              Илья Васильев
                              01 марта 2015, 20:20
                              Логика понятна. Василий, а можно сделать плейсхолдер с динамикой рейтинга? Сколько прибавил или сколько ушло за неделю, месяц или год? Насколько это трудозатратно и сможешь ли ты мне в этом помочь. Если нет, коммит примешь?
                                Василий Наумкин
                                01 марта 2015, 21:35
                                Как ты себе представляешь плейсхолдер с динамикой рейтинга?
                                Сколько прибавил или сколько ушло за неделю, месяц или год?
                                Это уже 3 плейсхолдера, как минимум.

                                Все данные по голосованиям в отдельной таблице — можно выбирать своим сниппетом как угодно.
                                  Wassi Wassinen
                                  01 марта 2015, 23:31
                                  Если плюсов больше чем минусов, то динамика положительная — показывает +N ((+N) — (-N)). Если минусов больше, то динамика отрицательная — показывает то же самое, только -N.
                                    Василий Наумкин
                                    02 марта 2015, 05:27
                                    Сколько прибавил или сколько ушло за неделю, месяц или год?
                                    Это 3 плейсхолдера: за неделю, за месяц и за год. Не один, три.

                                    Ну и наведи-ка мышь на рейтинг коммента или тикета — там и так покажет сколько всего было плюсов и минусов.
                                      Wassi Wassinen
                                      02 марта 2015, 10:16
                                      Согласен, можно снипетом. Спасибо.
                            angry
                            02 марта 2015, 06:29
                            Есть задача сделать сайт с большой доской объявлений, аналог вот этого www.agroserver.ru/. Делать надо на modx (не я придумал). О существовании modx ещё 3 дня назад только подозревал, но ни разу не видел, а делать надо -)). 2 дня читал, смотрел что за зверь. На вскидку симпатишный зверь. Но вот готовой доски объявлений нет. в паре мест наткнулся на совет реализовать доску на базе Tickets. Скажите мне плиз, как художники художнику, это действительно оптимальный вариант? Или есть интереснее? Тут просто пилить и пилить, а при том что первый раз систему вижу будет ведь долго и говнокод -(. Не проще на базе магазина делать? там вроде в основном вырезать а не допиливать…
                              Павел Левин
                              20 марта 2015, 17:27
                              Оставлю эту ссылочку здесь.

                              В ней интереснейшая статья по контенту и взаимодействию между редакторами и их интерфейсом.
                              Статья называется: Как делается «Медуза».

                              Возможно некоторые идеи окажутся полезными для развития Tickets.
                                Хулио Надда
                                08 апреля 2015, 23:56
                                Доброго времени суток.
                                Может кто подскажет. Я организую систему отзывов на сайте через тикеты. Нужно чтобы пользователь оставлял отзыв (создавал новый тикет). По умолчанию отзыв не публикуется в админке (чтобы пройти модерацию). Ну и что важно должно прийти уведомление модератору о добавлении нового тикета
                                Что касается публикации я думаю можно воспользоваться возможностью записи в черновики, но вот чтобы письмо пришло я чегот не пойму куда копать. Через системные настройки вроде все прописано.
                                Может кто направит в нужное русло, буду оч признателен
                                  Alexei
                                  09 апреля 2015, 00:58
                                  может заинтересует решение
                                    Хулио Надда
                                    09 апреля 2015, 01:10
                                    Пока не увидел там возможности добавлять свои TV поля =( Хотя решение интересное надо поизучать. Тут то по сути что мне осталось сделать это найти где отрабатывает событие и отправить мэйл менеджеру
                                  Сергей Шлоков
                                  18 июня 2015, 18:51
                                  Василий, я правильно понимаю, что подсчет просмотров ведется по ресурсам, а не по веткам. Т.е. если вывести несколько веток на одной странице, то подсчитать количество новых комментариев у каждой ветки можно, но если просмотреть эти новые комментарии у одной ветки, то у остальных количество новых обнулится.
                                    Василий Наумкин
                                    18 июня 2015, 20:08
                                    Да, верно. Считается, что юзер посмотрел на страницу и всё там увидел.
                                    Сергей Шлоков
                                    23 декабря 2015, 08:47
                                    Заметил такую вещь — когда тикету в админке ставишь галочку «Опубликован», то он сбрасывает uri, несмотря на то, что стоит «Заморозить URI». Чей этот косяк — MODX или Tickets?
                                    П.С. За транслитерацию отвечает ytranslite. Он генерит ошибку при создании нового тикета.
                                    П.П.С. Еще вот такие ошибки бывают. Ругается на плагин Tickets
                                    [2015-12-23 04:56:35] (ERROR @ /home/user/www/core/cache/includes/elements/modplugin/16.include.cache.php : 60) PHP warning: preg_match(): Unknown modifier '-'
                                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                      53