Tickets 0.7.0 beta

Выпустил очередную версию компонента. Медленно, но верно подходим к версии 1.0.0-stable.

Собственная подготовка комментариев к выводу

Для этого вам нужно:
— Указать имя сниппета в системной настройке tickets.snippet_prepare_comment.
— Написать код сниппета, причем так, как будто он выполняется в классе Tickets, никаких $scriptProperties.
Вот образец:
$data['avatar'] = $this->config['gravatarUrl'] . md5($data['email']) .'?s=' . $this->config['gravatarSize'] . '&d=' . $this->config['gravatarIcon'];
if (!empty($data['resource'])) {
	$data['url'] = $this->modx->makeUrl($data['resource'], '', '', 'full');
}
$data['createdon'] = strftime($this->config['dateFormat'], strtotime($data['createdon']));
$data['editedon'] = strftime($this->config['dateFormat'], strtotime($data['editedon']));
$data['deletedon'] = strftime($this->config['dateFormat'], strtotime($data['deletedon']));
if ($data['deleted']) {
	$data['text'] = $this->modx->lexicon('ticket_comment_deleted_text');
}
return $data;

Этот сниппет будет выполнен внутри класса через eval(), вместо стандартного метода подготовки комментария. То есть, вы можете изменить любые данные комментариев перед оборачиванием их в чанк.

Вам доступен массив $data, с комментарием и объект $this — класс Tickets со всеми методами и свойствами. MODX доступен через $this->modx.

Опасный eval() пришлось задействовать из-за того, что при работе через modX::runSnippet() скорость очень резко упала. В любом случае, никакой опасности он не добавит, так как в любом случае выполняется произвольный код, написанный в сниппет, неважно, как именно.

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

Данные юзера в комменте

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

Добавлено 10 событий для плагинов


Теперь вы можете сделать модерацию комментариев простым плагином:
switch ($modx->event->name) {
	case "OnBeforeCommentSave":
		if ($mode == 'new') {
			$object->set('deleted',1);
		}
	break;
}
То есть, все новые комментарии при создании будут удалены. А вы потом зайдёте, и восстановите их, после проверки. Текст для показа удалённого комментария можно поменять в системных словарях или изменить своим сниппетом через snippet_prepare_comment.

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

Следующая заметка
Сниппет dateAgo


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

  1. Василий Наумкин 29 декабря 2012, 10:49 # 0
    А у меня имя красненькое!
    1. Добряков Алексей 29 декабря 2012, 10:58 # 0
      Шикарно мужик
    2. Дмитрий Баданин 31 декабря 2012, 10:39 # 0
      Василий, можно ли с помощью Tickets создать раздел «Задать вопрос» по типу этого сайта? Или он служит только для комментариев?
      1. Василий Наумкин 31 декабря 2012, 12:06 # 0
        Он служит именно для задачи вопросов, потому и называется — Тикеты.

        Вот, посмотри видео, там всё видно bezumkin.ru/modx/tickets/quickstart.html
      2. Abu 01 января 2013, 16:35 # 0
        Подскажите пожалуйста, есть ли простой способ прикрутить ЧПУ к тикетам? Хорошо бы возможность указывать к тем что публикуются из бек-энда?
        1. Василий Наумкин 01 января 2013, 19:11 # 0
          Полагаю, речь про псевдонимы, вместо номеров?

          Такой возможности нет, и не планируется её вводить. Это тикеты, или блоги, или новости или заметки — номера тут гораздо лучше, чем /dokumentatsiya/dokumentacziya-evo/o-modx/harakteristika-modx.html

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

          Для разделов указание псевдонима есть.
          1. Abu 01 января 2013, 19:26 # 0
            Да уж, слышал, что человекопонятные урлы, на сегодня, больше нужны не человекам а поисковикам. В том то и дело.
            1. Василий Наумкин 01 января 2013, 19:29 # 0
              Да фигня это.

              Всем нужен контент, а не урлы. И поисковикам в том числе. Посмотри как индексируется мой сайт без раскрутки, СЕО и рекламы. Я даже мета теги не пишу — и никого это не смущает.

              Фокусы оптимизации нужны только пустышкам.
        2. Михаил Т. 25 января 2013, 18:36 # 0
          Привет! А можно как-то сделать чтобы письмо об ответе на комментарий, при премодерации, приходило только после подтверждения её модератором. А то на почту и приходит
          Пользователь ХХХ ответил на ваш комментарий к статье ХХХ: «Комментарий проверяется модератором»
          Добавление новых комментариев отключено.