[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 237
+8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                Возможно некоторые идеи окажутся полезными для развития Tickets.
                                  Хулио Надда
                                  08 апреля 2015, 23:56
                                  0
                                  Доброго времени суток.
                                  Может кто подскажет. Я организую систему отзывов на сайте через тикеты. Нужно чтобы пользователь оставлял отзыв (создавал новый тикет). По умолчанию отзыв не публикуется в админке (чтобы пройти модерацию). Ну и что важно должно прийти уведомление модератору о добавлении нового тикета
                                  Что касается публикации я думаю можно воспользоваться возможностью записи в черновики, но вот чтобы письмо пришло я чегот не пойму куда копать. Через системные настройки вроде все прописано.
                                  Может кто направит в нужное русло, буду оч признателен
                                    Alexei
                                    09 апреля 2015, 00:58
                                    0
                                    может заинтересует решение
                                      Хулио Надда
                                      09 апреля 2015, 01:10
                                      0
                                      Пока не увидел там возможности добавлять свои TV поля =( Хотя решение интересное надо поизучать. Тут то по сути что мне осталось сделать это найти где отрабатывает событие и отправить мэйл менеджеру
                                    Сергей Шлоков
                                    18 июня 2015, 18:51
                                    0
                                    Василий, я правильно понимаю, что подсчет просмотров ведется по ресурсам, а не по веткам. Т.е. если вывести несколько веток на одной странице, то подсчитать количество новых комментариев у каждой ветки можно, но если просмотреть эти новые комментарии у одной ветки, то у остальных количество новых обнулится.
                                      Василий Наумкин
                                      18 июня 2015, 20:08
                                      0
                                      Да, верно. Считается, что юзер посмотрел на страницу и всё там увидел.
                                      Сергей Шлоков
                                      23 декабря 2015, 08:47
                                      0
                                      Заметил такую вещь — когда тикету в админке ставишь галочку «Опубликован», то он сбрасывает 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