Неверная структура ответов на комментарии.

Главные вкладки

Аватар пользователя mbaev mbaev 10 ноября 2013 в 16:18

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

всего 10 комментов:

всего 11 комментариев. 11ый коммент - это ответ на 10ый коммент:

Установлен чистый Друпал без единого дополнительного модуля. Создана одна тема и 11 комментов.
Видимо это баг и есть ли какая - нибудь инфа по этому поводу.

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 11 ноября 2013 в 9:03

А в бд иерархия сохраняется?
допустить такой баг сложновато... Эти либо намернно сделано, либо просто визуально в теме так заверстано.

Аватар пользователя mbaev mbaev 13 ноября 2013 в 10:27

Там создается всего лишь один дополнительный ответ и структура нарушается. В базу только добавляется коммент. Я думаю что при просмотре ноды из базы берутся все комменты для этой ноды, а потом рекурсивно выставляется порядок, в зависимости от наследственности, но где то в этой функции мелкий баг из-за которого такое волшебство.

Если заметили то на скринах видно, что там не только иерархия не правильная, но там еще и наследственность не правильная. Кстати если удалить 11ый коммент, то все снова встает на свои места.

Аватар пользователя Chyvakoff Chyvakoff 15 ноября 2013 в 8:55

"maxOs" wrote:
Я думаю что при просмотре ноды из базы берутся все комменты для этой ноды, а потом рекурсивно выставляется порядок, в зависимости от наследственности, но где то в этой функции мелкий баг

Рекурсивная функция не может иметь бага на энной итерации.
Это либо фича
"Chyvakoff" wrote:
Эти либо намернно сделано

Либо одно из двух.
"maxOs" wrote:
там не только иерархия не правильная, но там еще и наследственность не правильная.

иерархия != наследственность ?

Посмотри уже как каменты выдёргиваются и всё.
БД руками или говнокодом не трогал?

Аватар пользователя mbaev mbaev 15 ноября 2013 в 9:03

"Chyvakoff" wrote:
иерархия != наследственность ?

иерархия:
1
.2
..3

Наследственность:
1 (нет родителя)
2 (родитель 1)
3 (родитель 2)

Аватар пользователя mbaev mbaev 15 ноября 2013 в 9:07

"Chyvakoff" wrote:
Рекурсивная функция не может иметь бага на энной итерации.

Где-нибудь стоит условие ($commentCount>10) и все. А внутри этого блока логика неверная.

Аватар пользователя mbaev mbaev 23 ноября 2013 в 16:40

"Chyvakoff" wrote:
Может это ограничение срабатывает?

Вряд ли.

"Chyvakoff" wrote:
По сколько комментариев на странице выводить,указано в КТ?

Абсолютно все дефолтное. Вы можете поставить новый друпал, создать 1 статью и к ней комментарий. А к этому комменту 10 раз рекурсивно добавить ответы.
По дефолту на страницу выводится 30 комментов.