Tickets 1.0.0 rc

Доступно для загрузки самое масштабное обновление компонента Tickets.



Основные изменения коснулись работы с комментариями — переписан почти весь фронтенд. Работу с самим тикетом пока не трогал, ибо там всё более-менее.

Переписаны почти все сниппеты: появилась премодерация комментариев, указание глубины ветвления и сортировка ветки и еще много чего.

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

Сниппет getTickets

— Исправил ошибку с включенным логом и быстрым режимом, по умолчанию.
— Выборка указанных ресурсов. Если с минусом – исключение этого ресурса из выборки.
— Рекурсивная выборка по родителям. Глубину можно ограничивать.
— Фильтрация по юзеру, который создал тикет. Можно указывать список через запятую, причем как логины, так и id.
— Включение\выключение поля content.
— Поддержка выборки ТВ параметров и сортировки по ним. Можно указывать префикс для именования плейсхолдеров.
— Параметры показа\скрытия по deleted, published и hidemenu.
— Поддержка быстрого рендера специальных тегов, благодаря pdoTools.

Сниппет getTicketsComments тоже переделан и получил почти все возможности старшего сниппета + своя специфика: подсчет всех просмотров и комментариев раздела. Выборки по юзеру нет, так как не имеет смысла.

Сниппет TicketLatest

Вся логика работы вынесена в сниппет, основной класс облегчен на 2 метода и удалён один ненужный теперь процессор.
Сниппет получил все преимущества pdoTools и возможности выборки и фильтрации getTickets.

Теперь с его помощью можно выбирать последние тикеты\комментарии юзеров, и даже последние комментарии из определенных тем или контейнеров.
В общем, возможностей очень много, при отличной скорости.

Работа с ТВ тоже поддерживается.

Сниппет TicketComments

Тут масса закрытых ошибок и улучшений. Самое основное — сниппет больше не является комбаином для разных видов операций, а только достаёт и выводит комментарии.

Ясное дело, наворотов стало больше раза в 2, а скорость осталась прежней. Если коротко: появилась премодерация, глубина ветвления и направление показа ветки.

А теперь подробнее:

— [#5] Исправлен баг с пропадающим полем “resource”, из-за чего не работала ссылка на коммент сразу после его публикации.

— [#6] Добавлен параметр “depth” сниппету TicketComments, благодаря чему можно ограничивать глубину веток. Причем, это никак не влияет на добавление комментариев, изменён только вывод. При желании, можно каждому юзеру показывать ветку с разной глубиной.

— [#7] Добавлен параметр “formBefore” для сниппета TicketComments, который указывает, выводить ли форму комментирования перед веткой комментариев.

— [#8] Добавлена возможность менять направление показа комментариев. Она привязана к параметру “formBefore”. Если форма вверху, то более новые комментарии тоже показываются вверху, то есть сортировка снизу-вверх.

— [#11], [#12] Добавлена проверка родителя комментария при ответе. Теперь нельзя ответить или отредактировать удаленный или не опубликованный комент.

— [#15] Добавлена возможность модерировать комментарии путем отключения публикации коммента параметром “autoPublish”.

— [#18] Параметры вывода ветки комментариев теперь сохраняется в БД. Также это решило проблему, когда сниппет вызывался с нестандартными чанками, а при просмотре показывал стандартные.

— [mgr] Добавлена возможность “закрывать” ветки. Если ветка закрыта – все комментарии видны, но новые добавлять нельзя. Если же она удалена – то все ее комментарии не показываются вообще. Пример закрытой ветки.

— [mgr] Публикация\снятие с публикации комментариев в админке.

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

Остальные изменения

Переделал инициализацию скриптов и стилей фронтенда. Склеил их в 2 файла: default.css и default.js. В системных настройках появилась возможность указать, откуда их грузить. То есть, теперь вам будет их гораздо проще скопировать, модифицировать и подключить.

Заодно добавил замечательный jGrowl для всплывающих уведомлений, вы его могли уже видеть в MS2.


Комментарии ()

  1. Sadykh Sadykhov 13 апреля 2013, 22:22 # 0
    Спасибо!

    А всё таки, что демотивирует сделать возможность комментировать гостям?
    1. Василий Наумкин 13 апреля 2013, 22:29 # 0
      1. Я против анонимных комментариев, в принципе. Сколько хожу по интернету, столько вижу, что если человек хочет написать гадость — он будет делать это анонимно.

      2. Это усложнит и утяжелит код. Нужно вводить много проверок, разные капчи, предусмотреть подключение сервисов для этих капчей и т.д.
      И всё равно, придётся всех юзеров модерировать, даже после прохождения тестов.

      Ну и зачем этот геморой, если давно есть и Loginza и HybridAuth? Авторизоваться для комментария не долго и не сложно, однако вряд ли кто-то будет регать новую учетку на Google, чтобы нагадить.

      А какие плюсы? Я не вижу ни одного.
      1. Sadykh Sadykhov 13 апреля 2013, 23:18 # 0
        Удобно было бы реализовать подобие гостевых книг (оставить отзыв), учитывая что все записи проходят модерацию. Ведь в том же quip такая возможность есть, и спама не так уж и много (но багов в quip много, да и гибкости в плане настройки прав мало).

        Было пару проектов (к сожалению, привести их не могу — из-за отсутствия поддержки пришлось прикрыть), где с авторизацией комментариев в среднем было 30-45, а без авторизации 60-70. И если считать «гадости», то в среднем из 60 комментариев, 10 были с гадостями/провокацией/отсутствием адекватности. Целевая аудитория была от 14 до 30 лет в среднем. Постоянная аудитория, конечно, всё таки регистрировалась, но всё таки. Это было даже без премодерации, но модераторы были.

        Может у меня были задачи специфичные, но ваша разработка (весьма хорошая, за что вам большой респект) отклонялась по причине отсутствия возможности писать анонимно.
        1. Василий Наумкин 13 апреля 2013, 23:28 # 0
          Еще раз, что мешает авторизоваться через HybridAuth?
          По моему, это быстрее, чем писать в форму комментария своё имя и email.

          Я делать анонимные комментарии не буду 100%, но исходники лежат открыто, кому очень надо — допишет.
          1. Сергей Шлоков 26 апреля 2013, 16:57 # 0
            Я для гостевой книги использую Modxtalks в режиме реверса. А тикетс для гостевой книги не очень подходит именно из-за обратной сортировки (новые в конце). Да собственно говоря, он для других целей: тикетсы, новости, блоги.
            1. Василий Наумкин 26 апреля 2013, 17:16 # 0
              В этой версии уже есть реверс и премодерация.

              — [#7] Добавлен параметр “formBefore” для сниппета TicketComments, который указывает, выводить ли форму комментирования перед веткой комментариев.

              — [#8] Добавлена возможность менять направление показа комментариев. Она привязана к параметру “formBefore”. Если форма вверху, то более новые комментарии тоже показываются вверху, то есть сортировка снизу-вверх.
              1. Сергей Шлоков 26 апреля 2013, 19:49 # 0
                Эти возможности очень пригодятся. Но все равно, использовать tickets для гостевой книги это как на БМВ М ездить по селу.
      2. Александр Наумов 13 апреля 2013, 23:29 # 0
        Спасибо!!! Пойду тестировать.

        А в планах есть, что бы тикеты и комментарии к ним были видны и доступны только автору-юзеру и админам, а другие юзеры данную переписку не видели?
        1. Василий Наумкин 13 апреля 2013, 23:31 # 0
          Да, есть. В нашем магазине так и будет.

          Реализовать можно уже сейчас — плагином на загрузку страницы.
          1. Александр Наумов 13 апреля 2013, 23:39 # 0
            Слов нет — одни положительные эмоции!!!
            Не компонент, а кладезь просто!
            1. Василий Наумкин 15 апреля 2013, 08:13 # 0
              Баги есть, или можно всем выкладывать?
              1. Александр Наумов 15 апреля 2013, 08:56 # 0
                Пока не встретил. Правда я только комментарии без тикетов пока пробовал.
                1. Василий Наумкин 15 апреля 2013, 08:58 # 0
                  В самих тикетах ничего и не менялось, кроме javascript.

                  Это хорошо, значит скоро всем можно будет показывать =)
            2. Александр Наумов 15 апреля 2013, 20:59 # 0
              Реализовать можно уже сейчас — плагином на загрузку страницы.
              Василий, подскажите, а где взять код этого плагина?
              1. Василий Наумкин 15 апреля 2013, 21:21 # 0
                Написать самостоятельно.

                Там 3 строчки:
                1. Проверка события и того, что страница — Тикет.
                2. Проверка авторизации в менеджере, или совпадения id текущего юзера и автора заметки.
                3. Если совпадает что-то одно, ничего не делаем, если нет — редирект на страницу с запретом доступа.
                1. Александр Наумов 15 апреля 2013, 21:30 # 0
                  Спасибо, понял!
          2. Андрей Ятин 14 апреля 2013, 05:57 # 0
            O_0 вы хоть иногда спите? Спасибо, очень круто.
            1. Василий Наумкин 14 апреля 2013, 10:18 # 0
              Это где-то половина запланированных изменений, но на них пока нет времени.

              Еще нужно переделать создание тикетов и сделать навигацию по комментариям с подсветкой непрочитанных.

              Ну и круто было бы переделать страницы в бэкенде, подтянуть их до уровня miniShop2, чтобы можно было кастомизировать форму редактирования и таблицу раздела.

              А сплю нормально, спасибо =)
              1. Лев Вербицкий 15 апреля 2013, 11:51 # 0
                Василий, а как включить премодерацию комментариев?)
                1. Василий Наумкин 15 апреля 2013, 12:01 # 0
                  Укажи у сниппета параметр autoPublish=0.

                  Вообще, все параметры у сниппета прописаны, даже описание есть — гляди, не стесняйся.
                  1. Лев Вербицкий 15 апреля 2013, 12:04 # 0
                    О, спасибо) Покопаюсь)
                    1. Лев Вербицкий 15 апреля 2013, 12:34 # 0
                      А куда можно писать предложения и пожелания?) Например, очень хочется уведомление на email администратора, при создании нового тикета =)
                      1. Василий Наумкин 15 апреля 2013, 13:08 # 0
                        Это легко делается плагином на создание нового ресурса.

                        <?php
                        if ($modx->event->name == 'OnDocFormSave' && $mode == 'new') {
                        	if ($resource->get('class_key') != 'Ticket') {return;}
                        
                        	$message = $modx->getChunk('tpl.Ticket.mail.created', $resource->toArray());
                        	$modx->getService('mail', 'mail.modPHPMailer');
                        	$modx->mail->set(modMail::MAIL_BODY,$message);
                        	$modx->mail->set(modMail::MAIL_FROM,$modx->getOption('emailsender'));
                        	$modx->mail->set(modMail::MAIL_FROM_NAME,$modx->getOption('site_name'));
                        	$modx->mail->set(modMail::MAIL_SUBJECT,'Новый тикет на сайте');
                        	$modx->mail->address('to',$modx->getOption('emailsender'));
                        
                        	$modx->mail->setHTML(true);
                        	if (!$modx->mail->send()) {
                        		$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
                        	}
                        	$modx->mail->reset();
                        }

                        Ну а вообще — сюда github.com/bezumkin/Tickets/issues?state=open
                        1. Лев Вербицкий 15 апреля 2013, 13:13 # 0
                          Благодарю =)
              2. Юрий Татаркин 15 апреля 2013, 20:06 # 0
                Василий, скажите, есть ли возможность добавлять дополнительные поля к комментарию?
                1. Василий Наумкин 15 апреля 2013, 20:12 # 0
                  Если только с изменением исходников.
                  1. Юрий Татаркин 15 апреля 2013, 20:15 # 0
                    Есть возможность, что-бы появилось в штатном функционале?
                    1. Василий Наумкин 15 апреля 2013, 20:16 # 0
                      Нет, зачем?
                      1. Юрий Татаркин 15 апреля 2013, 20:19 # 0
                        На jot я через это прикручивал доп функционал. Например голосование за-против. Прикрепление аттача. Да и галерею целую с прикрепленными изображениями цеплял.
                        1. Василий Наумкин 15 апреля 2013, 20:23 # 0
                          А дополнительные поля зачем?
                          Создавай новую таблицу в любыми данными, и джойни ее к комментариям своим снипетом.

                          Обновлять плагинами — есть события на создание\изменение комментария. Усложнять их я не планирую, иначе это будет медленно работать.
                          1. Юрий Татаркин 15 апреля 2013, 20:46 # 0
                            Где то кроме исходников можно посмотреть описание событий?
                2. Михаил 16 апреля 2013, 16:19 # 0
                  Василий, подскажи, пожалуйста, админ сайта, залогинившись в админке и находясь в том же браузере на сайте не получается автоматически залогиненным? Админу нужно также логиниться через Hybrid для ответов на комментарии? Или же ему логичнее отвечать из админки?
                  1. Василий Наумкин 16 апреля 2013, 16:52 # 0
                    Админка — контекст mgr.
                    Сайт — контект web.

                    При логине в один контекст, не логинит во второй.

                    Ну а из админки и вовсе отвечать нельзя.
                    1. Михаил 16 апреля 2013, 17:02 # 0
                      ок, спасибо
                  2. Dmitry 23 апреля 2013, 13:17 # 0
                    Василий, как сделать для разных разделов с тикетами разный шаблон url (по аналогии с articles), например, для новостей: ../news/2013/02/01/newsname, a для статей: artiles/articleid?
                    1. Василий Наумкин 23 апреля 2013, 13:42 # 0
                      Никак.
                      1. Dmitry 23 апреля 2013, 14:03 # 0
                        это связано с какими-то ограничениями или просто не делалось? планирую перевести ряд своих сайтов с articles на tickets, и понял что пожалуй единственная причина мешающая мне это сделать для некоторый проектов — это отсутствие настраиваемой схемы url. Хотелось бы понять получится ли доработать (с архитектурой tickets знаком пока поверхностно) такой фунционал самому или потребуется слишком много усилий для корректной работы tickets?
                        1. Василий Наумкин 23 апреля 2013, 15:12 # 0
                          На мой взгляд — много заморочек. Articles работает значительно медленнее, в том числе и из-за своих url.

                          Если останавливает только это — используй компонент redirector, который позволит перенаправить все старые адреса на новые.

                          Если принципиально нужны именно такие адреса — то не судьба.
                          1. Andrei Kilin 23 апреля 2013, 16:13 # 0
                            а если плагином при сохранении документа проверять ИД раздела и менять URI документа по желанию, в зависимости от раздела?
                            1. Василий Наумкин 23 апреля 2013, 18:17 # 0
                              Кто ж не дает? Конечно, можно просто морозить урлы.

                              Если бы человек умел писать плагины — вопроса бы не возникло.
                              1. Andrei Kilin 24 апреля 2013, 13:49 # 0
                                Просто я нечто подобное с URI прокручиваю, а ты говоришь, что нельзя, поэтому я очканул, что всё сломал =)
                                1. Василий Наумкин 24 апреля 2013, 16:04 # 0
                                  Человек хочет «как в Articles». Там отдельная страничка у контейнера с горой настроек. Я так делать не хочу, по крайней мере, пока.

                                  Плагином, конечно, вопрос решается за 10 минут — вон ты и код уже привёл.

                                  Так что, всё окей, молодец!
                      2. Andrei Kilin 24 апреля 2013, 14:05 # 0
                        <?php
                        if ($modx->event->name == 'OnDocFormSave') {
                        $id=(int)$id;
                        if ($resource->get('class_key') == 'Ticket' && $id>0){
                        	switch($resource->get('parent')){
                        		case 142:{
                        			$resource->set('uri', "post/{$id}/");	// Меняем uri пользовательского поста
                        			$resource->set('template', 25); 	// Устанавливаем шаблон для пользовательского поста
                        			break;
                        		}
                        		case 143:{
                        			$resource->set('uri', "qa/{$id}/");	// Меняем uri страницы для вопросов
                        			break;
                        		}
                        		default:{
                        			$resource->set('uri', "post/{$id}/");	// Меняем uri страницы для поста
                        			break;
                        		}
                        	}
                        	$resource->set('uri_override', '1');			// включаем чекбокс оверрайда uri
                        	$resource->save();					// сохраняем документ
                        }
                        }
                        
                        как-то так делаю
                        плагин вешать на событие OnDocFormSave
                        uri, само собой, генеришь исходя из своих хотелок
                        1. Dmitry 24 апреля 2013, 17:10 # 0
                          спасибо мужики, этот вариант вполне ok! что-то о плагине и не подумал сразу
                      3. Иван Бондаренко 23 апреля 2013, 18:28 # 0
                        Василий, подскажите в двух словах, как правильно обновить компонент? (Проверка обновлений говорит, что у меня последняя версия, хотя это не так. Стоит 0.9.4) Я знаю, что это особенность (тормоза) репозитория.

                        Раньше в таких ситуациях полностью деинсталлировал Tickets (с удалением чанков) и ставил новую версию. Но что то мне подсказывает, что этот путь неправильный. Или все же другого пути нет?
                        1. Василий Наумкин 23 апреля 2013, 18:30 # 0
                          Делай как при новой установке — поиск в репо, загрузка и инсталл.

                          Все будет работать. Не забудь только все чанки ручками обновить (или удали перед апгрейдом, если там нет ничего уникального).
                        2. winZrar 25 апреля 2013, 16:44 # 0
                          Добрый вечер! После перехода на Tickets 1.0.0 rc столкнулся с такой проблемой — при вызове на странице одновременно снипетов TicketLatest и TicketComments первый выводит последние статьи, но форма комментирования не появляется! Если же убрать вызов TicketLatest то форма комментирования появляется.
                          Возможно плохо описал ситуацию, ну все же, в чем может быть проблема?
                          Тестовый сайт:
                          Панель управления — администратор: s2859.modx-test.com/manager/
                          Логин: s2859
                          Пароль: 3EVYYxgnkpde

                          Фронтенд — пользователь:
                          Логин: user
                          Пароль: 123456789
                          1. winZrar 25 апреля 2013, 17:05 # 0
                            Забыл добавить — в 0.9.4 все работало нормально.
                            1. Василий Наумкин 25 апреля 2013, 17:22 # 0
                              Поменял их вызовы местами — заработало.

                              Позже разберусь, занес в баги.

                            2. Роман 30 апреля 2013, 11:15 # 0
                              Василий подскажи пожалуйста!
                              Решил использовать компонент для комментариев.
                              Установил Tickets 1.0.0 rc ,Revolution 2.2.7-pl в логах ошибок нет.
                              Вчера целый день бился но не нашел, не отображает вложенность при ответе на комментарий, в управлении тикетами родители у ответов указаны.
                              Пробовал менять depth не помогло, в CSS не нашел.
                              При отключении fastmode во фронтенде делает дубликаты комментариев, а для новых не парсится [[+children]].
                              Наверняка где то не досмотрел, в чем может быть проблема?
                              1. Василий Наумкин 30 апреля 2013, 11:40 # 0
                                не отображает вложенность при ответе на комментарий
                                А что, должен? Я этого не делал.

                                Про fastMode не знаю, надо проверять.

                                1. Роман 30 апреля 2013, 12:10 # 0
                                  Понял, спасибо за быстрый ответ!
                              2. Алексей Карташов 30 апреля 2013, 11:52 # 0
                                Василий, у меня тут вопрос возник по проверке прав… Задолбал я тебя уже своими вопросами :-)
                                Вот есть у тикетов такое право: «ticket_save Разрешает создание\изменение тикета.»
                                И встала передо мной задача, чтобы простым смертным можно было только создавать тикеты, а вот изменять можно только избранным.
                                Т.к. разрешения на эти дела только одно (кстати, может в будущих версиях разделить отдельно на «создание» и отдельно на «изменение»?), то перед изменением решил делать соответствующую проверку.
                                И вот здесь 2 варианта:
                                1. проверять группу пользователя;
                                2. проверять ранг роли пользователя.
                                Как лучше поступить в таком случае?
                                Или я где-то не доглядел и есть стандартные механизмы?

                                з.ы. Кстати, спасибо огромное за тикеты! Просто чумовая штука! :-)
                                1. Василий Наумкин 30 апреля 2013, 12:17 # 0
                                  Проверять можно и так и так, плагином, по событию OnBeforeDocFormSave.

                                  Тебе нужно просто вернуть не пустой ответ, тогда сохранение не пройдет и будет выведено то, что ты вернул.

                                  Ну, в теории — я не проверял =)
                                  1. Алексей Карташов 30 апреля 2013, 12:34 # 0
                                    А стандартного механизма отправки юзера из плагина на 403 нету? Только самостоятельный sendRedirect на id-страницы из системной настройки?
                                    1. Василий Наумкин 30 апреля 2013, 12:48 # 0
                                      modX::sendRedirect() — это и есть стандартный механизм.

                                      Ты же думаешь, что я могу запрограммировать все плюшки на все случаи жизни? Конечно, нет, для того и нужны плагины, чтобы вклиниться в любое место и отработать.
                                      1. Алексей Карташов 30 апреля 2013, 12:52 # 0
                                        Ты же думаешь, что я могу запрограммировать все плюшки на все случаи жизни?
                                        Не-не-не, я так не думаю!
                                        Меня первым делом всегда посещает мысль, что я сам что-то не доглядел, а умные люди уже давно всё придумали :-)
                                        Поэтому спрашиваю совета у умных людей)
                                        1. Алексей Карташов 30 апреля 2013, 12:55 # 0
                                          Чорд, хотя получается, что именно так я и думаю..(
                                    2. Алексей Карташов 30 апреля 2013, 12:48 # 0
                                      Сделал так :-)
                                      <?php
                                      if ($resource->class_key != 'Ticket') return;
                                      switch ($modx->event->name) {
                                      	case 'OnBeforeDocFormSave':
                                      		if ($mode == 'upd') {
                                      			$moderGroups = explode(',', $modx->getOption('moderator_groups'));
                                      			$userGroup = $modx->user->getOne('UserGroupMembers');
                                      			if (in_array($userGroup->user_group, $moderGroups)) {
                                      				$unautorized = $modx->getOption('unauthorized_page');
                                      				$siteStart = $modx->getOption('site_start');
                                      				$siteUrl = MODX_SITE_URL;
                                      				$redirectTo = ($unautorized) ? $modx->makeUrl($unautorized)
                                      											 : (($siteStart) ? $modx->makeUrl($siteStart)
                                      											 				 : $siteUrl
                                      											   );
                                      				$modx->sendRedirect($redirectTo);
                                      				return $modx->lexicon->load('core:access_denied');
                                      			}
                                      		}
                                      		break;
                                      }
                                      1. Василий Наумкин 30 апреля 2013, 12:54 # 0
                                        Если ты не ошибку выводишь, а редирект делаешь, то проще сразу на OnLoadWebDocument проверять $_GET['tid'] и если он не пуст, и юзер не в той группе — редирект.

                                        Тогда юзер даже не увидит форму редактирования.
                                        1. Алексей Карташов 30 апреля 2013, 12:56 # 0
                                          Хм, точно.
                                          Значит не зря спросил)
                                  2. Андрей Стаховский 03 мая 2013, 15:55 # 0
                                    А как сделать так, чтобы ответ могли написать только люди из определенной группы? Хочу сделать вопрос-ответ на сайте, но отвечать должны только избранные.
                                    1. Василий Наумкин 03 мая 2013, 17:23 # 0
                                      Разве что плагином проверять, перед сохранением комментария.
                                      1. Igor Ivanov 04 мая 2013, 09:40 # 0
                                        А если избранных в отдельную группу, и фильтром показывать форму ответа и ссылку на ответ только этой группе? Не?
                                        1. Василий Наумкин 04 мая 2013, 09:47 # 0
                                          Если только дополнением к плагину.

                                          Отсутствие ссылки не остановит от комментирования любого, кто желает ответить и хоть немного знает php.
                                    2. Slava Beico 07 мая 2013, 22:44 # 0
                                      Здравствуйте Василий. Я установил последнюю версию tickets.
                                      При вызове сниппета TicketLatest ничего не выводиться.
                                      Остальные сниппеты работают на ура.
                                      Включил логирование последние строки выглядят вот так:
                                      0.0002620: SQL executed
                                      0.0001531: Total rows: 0
                                      0.0000319: Rows fetched
                                      0.0000091: Returning raw data
                                      0.1704950: Total time
                                      Я так понимаю, что он ничего не выбрал.
                                      Сниппет вызываю такой строчкой
                                      [[!TicketLatest? &action=`tickets` &parents=`0` &tpl=`tpl.Tickets.ticket.latest`   &showLog=`1`]]
                                      Снипет GetTickets
                                      [[!getTickets? &parents=`0` &limit=`2` &includeContent=`1` ]]

                                      Выводит записи исправно.
                                      Подумал, что проблема в TicketLatest. Зашел на github скачал последние правки этого сниппета. Но увы это ничего не дало. Подскажите может я что-то упустил.
                                      Специально несколько раз пересмотрел ваше видео, где демонстрируется установка и настройка тиккетов.
                                      1. Василий Наумкин 08 мая 2013, 05:26 # 0
                                        По умолчанию он выводит комментарии, а не тикеты — смотри параметры сниппета.

                                        Полагаю, комментариев у тебя еще нет — вот ничего и не выбрано.
                                        1. Slava Beico 08 мая 2013, 11:33 # 0
                                          так вроде &action=`tickets` и &tpl=`tpl.Tickets.ticket.latest` должны выводить тикеты?
                                          1. Василий Наумкин 08 мая 2013, 11:41 # 0
                                            Да, туплю.

                                            Смотри ошибки в системном журнале, скорее всего будет ругать на SQL запрос. Еще попробуй вызывать сниппет в шаблоне, а не прямо на странице.
                                            1. Slava Beico 08 мая 2013, 11:56 # 0
                                              В системном журнале пусто. В логах апача тоже.
                                              У меня изначально он как раз вызывался из шаблона. Из-за того, что ничего не выводилось решил вызвать на главной странице. Но увы ни как не работает.
                                              1. Василий Наумкин 08 мая 2013, 11:57 # 0
                                                Ну я тогда не знаю.

                                                Тикеты то создавал, надеюсь, опубликованные?

                                                Пришли логин\пароль для входа на сайт на bezumkin@ya.ru
                                                1. Slava Beico 10 мая 2013, 03:23 # 0
                                                  Увы сайт пока работает на локальном сервере.
                                                  Но я решил проблему выводом сниппета getTickets ну и с использованием чанка от last.tickets.
                                        2. Виктор Долгий 10 июля 2013, 21:02 # 0
                                          У меня та же фигня. Была. Теперь, спустя время проверил — выводит один абсолютно рэндомный тикет. Поверхностный анализ показал только отсутствие ошибок где-либо…
                                        3. Александр Донский 12 мая 2013, 21:24 # 0
                                          У всех нормально установился? У меня куча красненьких ошибок посыпалась… И PdoTools не захотел автоматом устанавливаться.
                                          1. Aleksey Nikitin 03 июля 2013, 10:33 # 0
                                            Подтверждаю, что Pdotools не хочет ставиться из стандартного репо.
                                          2. Денис А. 07 августа 2013, 17:47 # 0
                                            Василий, здравствуйте. Начал использовать Ваше дополнение, но уперся в сл. проблему. Не могу избавиться от выбора разделов тикетов. У Вас на сайте не наблюдаю выбора раздела тикетов, как это убрать, подскажите пожалуйста. И если честно не понятно их назначение. У каждой статьи же свои комментарии, т.е. получается, для каждой надо создавать свой раздел?
                                            Заранее спасибо!
                                            1. Василий Наумкин 07 августа 2013, 17:50 # 0
                                              Вот прям не наблюдаешь? d.pr/i/KFcS

                                              Какая связь между разделом и комментарием? Комментарии идут не к разделу, а к тикету.
                                              1. Денис А. 07 августа 2013, 18:00 # 0
                                                Точно, извиняюсь это я ступил, вставил в шаблон не
                                                TicketComments
                                                , а
                                                TicketForm
                                                , пока ждал ответа доперло. Спасибо большое за оперативный ответ!
                                            2. Денис А. 08 августа 2013, 15:06 # 0
                                              Здравствуйте, это снова я!
                                              Василий подскажи пожалуйста, как можно вывести количество комментариев? В самой теме (статье) выводится автоматом, как добиться того же, но к примеру в ленте новостей?
                                              Может есть плейсхолдер отдельно отвечающий за это?
                                              Заранее спасибо!
                                              1. Василий Наумкин 08 августа 2013, 16:07 # 0
                                                Пора воспользоваться сниппетом getTickets.
                                                1. Денис А. 09 августа 2013, 10:01 # 0
                                                  Вот тут и засада. Понял одно, что ему надо передать tv параметр, чтобы getTickets вернул результат, каким образом это сделать не знаю, не так глубоки пока познания MODx. Буду работать в этом направлении.
                                                  1. Василий Наумкин 09 августа 2013, 10:05 # 0
                                                    При чем здесь ТВ параметры? ТВ — это дополнительное поле документа, используется, если не хватает стандартных.

                                                    У тебя есть категория документов, в ней тикеты — их нужно вывести. Для этого в категории вызывается getTickets — он смотрит дочерние ресурсы и выводит. Это все работает вообще само по себе, не нужно ничего придумывать.

                                                    Вот здесь видео, где все показано.
                                                    1. Денис А. 09 августа 2013, 18:07 # 0
                                                      Василий, я дико извиняюсь, но может мы не поняли друг друга.
                                                      Да ты прав, когда создаешь отдельную категорию и в ней пишешь комментарии, НЕ тикеты, то выводится не только количество комментариев, но и просмотров. Но тогда получается на примере блога, что к каждой статье надо создавать отдельную категорию тикетов и в ней собирать комментарии к этой статье? Чтобы появилась возможность вывода их количества по каждой статье/категории. Я правильно понимаю?
                                                      1. Василий Наумкин 09 августа 2013, 18:12 # 0
                                                        Категория — хранилище тикетов. У нее нет комментариев, по умолчанию.

                                                        Комментарии есть у тикетов, не у категории. Вот у меня категория "Вопросы", в ней лежат тикеты с комментариями.

                                                        Тебе нужно просто создать раздел с тикетами, и создавать в нем тикеты — а их будут комментировать. При таком подходе, сниппеты getTickets и getTicketsSections выведут все правильно: и просмотры и комментарии.

                                                        Если и сейчас не понятно — я умываю руки.
                                                        1. Денис А. 09 августа 2013, 18:25 # 0
                                                          Благодарю, теперь все встало на места. Запутался в категориях, тикетах и комментариях, что для чего надо ))
                                                          Большое спасибо!
                                              Добавление новых комментариев отключено.