Tickets, дублирование ответов.

Не могу понять как случилось, но после какой-то версии апдейта творится вот такая вещь:
Дублирование ответа, то есть если просто комментировать, все нормально, если у комментария есть parent, то под него сам он же дублируется с таким же id, но коммент создается в бд 1.
pdotools 1.89 pl3
tickets 1.2.3 pl2
вот вызов
[[!TicketComments? &fastMode=`0`]]
вот такой чанк комментария «tpl.Tickets.comment.one.auth»
<li class="ticket-comment[[+comment_new]] box_inside" id="comment-[[+id]]" data-parent="[[+parent]]" data-newparent="[[+new_parent]]">
	<div class="ticket-comment-body">
		<div class="ticket-comment-header">
			<div class="ticket-comment-dot-wrapper"><div class="ticket-comment-dot"></div></div>
            <div><span class="ticket-comment-author"><a href='[[~35]]&user=[[+internalKey]]' title='Информация о [[+fullname]]'>[[+fullname]]</a></span>
			<span class="ticket-comment-createdon">// [[+date_ago]]</span>[[+comment_was_edited]]
			<span class="ticket-comment-link"><a href="[[+url]]#comment-[[+id]]">#</a></span></div>
			<div class="ticket-comment-text" style='display:table;'><img src="[[+photo:phpthumbon=`wp=100&hp=150&wl=100&hl=150`]]" class="ticket-avatar" alt="[[+fullname]]" width="120px" align='left' style="float:left;padding:7px;" />
    		[[+text]]
		</div>
		</div>
	</div>
	<div class="comment-reply">
    <table width="150px"><tr><td >    <a href="#reply" onclick="Tickets.forms.reply([[+id]]);return false;" >[[%ticket_comment_reply]]</a></td>
        <td> [[+comment_edit_link]]</td>
    </tr></table>
	</div>
	<ol class="comments-list">[[+children]]</ol>
</li>
<!--tickets_comment_edit_link <a href="#edit" onclick="Tickets.forms.edit([[+id]]);return false;">[[%ticket_comment_edit]]</a>-->
<!--tickets_comment_was_edited <span class="ticket-comment-edited">([[%ticket_comment_was_edited]])</span></a>-->
<!--tickets_comment_new  ticket-comment-new-->
Саша Пекшев
17 декабря 2013, 01:40
modx.pro
2 557
0

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

Василий Наумкин
17 декабря 2013, 06:10
0
Удали pdoTools и заново установи.

Была глючная версия в репозитории, похоже ты успел на нее обновиться.
    Саша Пекшев
    17 декабря 2013, 12:48
    0
    не помогло
    Anuar
    09 октября 2018, 13:37
    0
    [[%ticket_comment_reply]]
    У меня перестало работать ответить на коммент можете посоветовать что нибудь?
    Получается жму ответить и просто изчезает кнопка а сам чанк вызова текст бокса не работает похоже так как там пусто
    Андрей
    17 декабря 2013, 14:03
    0
    Точно такая же беда, пришлось убрать из чанка ссылку «ответить».
    Тоже прописан &fastMode=`0`
      Саша Пекшев
      17 декабря 2013, 14:11
      0
      Вы точно подсказали, при включении &fastMode=`1`, все стало нормально, только хотелось бы его выключить.
      Саша Пекшев
      17 декабря 2013, 14:08
      0
      пока разбираюсь… если что скажу как решил, по sql запросу приходит 4 строки, после обработки:
      foreach ($rows as $row) {
      		$output[] = $Tickets->templateNode($row, $tpl);
      	}
      уже становится 5
        Василий Наумкин
        17 декабря 2013, 18:26
        0
        Пробуй в tickets.class.php, на 544 строке добавить
        else {
        	$node['children'] = '';
        }
        Должно помочь.
          Саша Пекшев
          17 декабря 2013, 18:51
          0
          Да спасибо! заработала вот такая конструкция:
          вместо
          if (!empty($children) || !empty($node['has_children'])) {
          			$node['children'] = $children;
          			$node['comment_edit_link'] = false;
          		}
          		else if ($node['createdby'] == $this->modx->user->id && (time() - strtotime($node['createdon']) <= $this->config['commentEditTime'])) {
          			$node['comment_edit_link'] = true;
          		}
          Заменил на
          if (!empty($children) || !empty($node['has_children'])) {
          			$node['children'] = $children;
          			$node['comment_edit_link'] = false;
          		}
          		else
                          {
          			$node['children'] = '';
          			if ($node['createdby'] == $this->modx->user->id && (time() - strtotime($node['createdon']) <= $this->config['commentEditTime'])) {
          			$node['comment_edit_link'] = true;
          		}
          		}
            Василий Наумкин
            17 декабря 2013, 19:02
            0
            Немного неправильно заменил.

            Обновись из репозитория.
              Саша Пекшев
              01 января 2014, 21:07
              0
              После обновления заметил еще такую вещь, после ответа/написания поста внизу теперь под сообщением появляется плейсхолдер [[+children]], при аяксе. После обновления страницы нету
                Василий Наумкин
                01 января 2014, 22:47
                0
                Это вроде уже исправлено в версии 1.2.3 pl3

                Попробуй повторить на modx-test.com, если получится — шли доступы к сайту на bezumkin@ya.ru, буду чинить.
                  Саша Пекшев
                  01 января 2014, 23:34
                  0
                  попробовал, одинаковая история, отправил доступы на почту
                    Василий Наумкин
                    02 января 2014, 10:59
                    0
                    Спасибо, поправил.
                      Саша Пекшев
                      20 января 2014, 20:10
                      0
                      еще один маленький баг при аяксе если использовать [[+username]] весто [[+fullname]] то он так и показывается "[[+username]]". Смысле не устанавливается плейсхолдер.
                        Василий Наумкин
                        20 января 2014, 20:14
                        0
                        Это говрит о том, что там нет такого значения.

                        У меня в коде выбирается только профиль:
                        if ($profile = $this->modx->getObject('modUserProfile', array('internalKey' => $comment['createdby']))) {
                        	$profile = $profile->toArray();
                        	$comment = array_merge($profile, $comment);
                        }
                        Пиши заявку.
                          Саша Пекшев
                          20 января 2014, 20:22
                          0
                          написал, надеюсь правильно — я вообще не знаком с Github, так что если что извините.
                          Василий Наумкин
                          20 января 2014, 20:27
                          0
                          Нормально.

                          Можно и по-русски — ты же для меня пишешь, чтобы я не забыл.
      Андрей
      18 декабря 2013, 19:50
      0
      Благодарю за исправление бага.
      Саша Пекшев
      28 декабря 2013, 21:19
      0
      Заметил еще такую вещь, после ответа/написания поста внизу теперь под сообщением появляется плейсхолдер [[+children]], при аяксе. После обновления страницы нету
        Андрей
        02 января 2014, 09:37
        0
        Да, у меня также при сохранении комментария виден [[+children]]
          Василий Наумкин
          04 января 2014, 11:42
          0
          Получил от тебя «Большое спасибо» =)

          На здоровье!
            Андрей
            04 января 2014, 12:10
            0
            Большинство твоих компонентов использую, как платные, так и бесплатные. Успехов в Новом году!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        24