Не работает TicketsComments внутри каждого тикета, если тикетов больше одного на странице
Добрый день!
Занялся задачей по созданию страницы тикетов в личном кабинете пользователя, чтобы пользователь мог задавать вопрос через TicketForm, а специально обученный админ на каждый вопрос мог ответить через TicketsComments. Но почему-то результат получается неожиданным в случае, когда на странице больше одного вопроса. А точнее выводится массив с параметрами после первого вопроса. Ошибок нет ни в журнале MODX, ни в консоли браузера. Такое ощущение, будто нельзя размещать более одного TicketComments на странице, но это же бред какой-то? Подробности под катом.
Вот вывод вопросов:
Содержимое чанка tpl.Tickets.list.row, куда прикручены TicketComments:
В итоге выводится первый вопрос, за ним форма комментария к нему, затем массив с параметрами вместо остальных вопросов, и не понятно в чем проблема:
Занялся задачей по созданию страницы тикетов в личном кабинете пользователя, чтобы пользователь мог задавать вопрос через TicketForm, а специально обученный админ на каждый вопрос мог ответить через TicketsComments. Но почему-то результат получается неожиданным в случае, когда на странице больше одного вопроса. А точнее выводится массив с параметрами после первого вопроса. Ошибок нет ни в журнале MODX, ни в консоли браузера. Такое ощущение, будто нельзя размещать более одного TicketComments на странице, но это же бред какой-то? Подробности под катом.
[[!getTickets? &limit=`0` &user=`[[!+modx.user.id]]`]]
Содержимое чанка tpl.Tickets.list.row, куда прикручены TicketComments:
<div class="personal-faq__story-txt">[[+pagetitle]]</div>
[[!TicketComments? &thread=`resource-[[+id]]`]]
В итоге выводится первый вопрос, за ним форма комментария к нему, затем массив с параметрами вместо остальных вопросов, и не понятно в чем проблема:
Array
(
[section.id] => 75
[section.type] => document
[section.contentType] => text/html
[section.pagetitle] => FAQ
[section.longtitle] =>
[section.description] =>
[section.alias] => faq
[section.alias_visible] => 1
[section.link_attributes] =>
[section.published] => 1
[section.pub_date] => 0
[section.unpub_date] => 0
[section.parent] => 69
[section.isfolder] => 1
[section.introtext] =>
[section.richtext] => 1
[section.template] => 23
[section.menuindex] => 2
[section.searchable] => 1
[section.cacheable] => 1
[section.createdby] => 1
[section.createdon] => 1563011848
[section.editedby] => 2
[section.editedon] => 1564718352
[section.deleted] => 0
[section.deletedon] => 0
[section.deletedby] => 0
[section.publishedon] => 1563011820
[section.publishedby] => 1
[section.menutitle] =>
[section.donthit] => 0
[section.privateweb] => 0
[section.privatemgr] => 0
[section.content_dispo] => 0
[section.hidemenu] => 0
[section.class_key] => TicketsSection
[section.context_key] => web
[section.content_type] => 1
[section.uri] => lichnyj-kabinet/faq
[section.uri_override] => 0
[section.hide_children_in_tree] => 0
[section.show_in_tree] => 1
[section.properties] => Array
(
[template] => 24
[uri] => %id-%alias%ext
[show_in_tree] =>
[hidemenu] => 0
[disable_jevix] =>
[process_tags] =>
[tickets] => Array
(
[template] => 24
[uri] => %id-%alias%ext
[show_in_tree] =>
[hidemenu] => 0
[disable_jevix] =>
[process_tags] =>
)
[ratings] => Array
(
[ticket] => 10
[comment] => 1
[view] => 0.1
[vote_ticket] => 1
[star_ticket] => 3
[vote_comment] => 0.2
[star_comment] => 0.6
[min_ticket_create] =>
[days_ticket_vote] =>
[min_comment_create] =>
[days_comment_vote] =>
)
[syncsite] => 0
)
[username] => userBugalter
[internalKey] => 46
[fullname] => Бухгалтер
[email] => test@test.com
[phone] => 1234567890
[mobilephone] =>
[blocked] => 0
[blockeduntil] => 0
[blockedafter] => 0
[logincount] => 33
[lastlogin] => 1564121720
[thislogin] => 1564122046
[failedlogincount] => 0
[sessionid] => cf84504fc55d87d6d1d1a9244593581f
[dob] => 0
[gender] => 0
[address] => ул. Тестовая
[country] =>
[city] =>
[state] =>
[zip] =>
[fax] =>
[photo] =>
[comment] =>
[website] =>
[extended] => Array
(
)
[id] => 292
[type] => document
[contentType] => text/html
[pagetitle] => 1111111111
[longtitle] =>
[description] =>
[alias] => 1111111111
[alias_visible] => 1
[link_attributes] =>
[published] => 1
[pub_date] => 0
[unpub_date] => 0
[parent] => 75
[isfolder] => 0
[introtext] => 1111111111
[richtext] => 1
[template] => 24
[menuindex] => 0
[searchable] => 1
[cacheable] => 1
[createdby] => 46
[createdon] => 1564739606
[editedby] => 0
[editedon] => 0
[deleted] => 0
[deletedon] => 0
[deletedby] => 0
[publishedon] => 1564739606
[publishedby] => 46
[menutitle] =>
[donthit] => 0
[privateweb] => 0
[privatemgr] => 0
[content_dispo] => 0
[hidemenu] => 0
[class_key] => Ticket
[context_key] => web
[content_type] => 1
[uri] => lichnyj-kabinet/faq/292-1111111111
[uri_override] => 1
[hide_children_in_tree] => 0
[show_in_tree] => 0
[properties] => Array
(
[tickets] => Array
(
[disable_jevix] =>
[process_tags] =>
)
)
[comments] => 0
[views] => 0
[stars] => 0
[rating] => 0
[rating_plus] => 0
[rating_minus] => 0
[vote] =>
[star] => 0
[thread] =>
[rating_total] => 0
[cant_vote] => 1
[active] => 0
[inactive] => 1
[can_star] => 1
[stared] =>
[unstared] => 1
[isauthor] => 1
[unpublished] =>
[date_ago] => 02 августа 2019, 12:53
[idx] => 1
[new_comments] =>
)
Array
(
[section.id] => 75
[section.type] => document
[section.contentType] => text/html
[section.pagetitle] => FAQ
[section.longtitle] =>
[section.description] =>
[section.alias] => faq
[section.alias_visible] => 1
[section.link_attributes] =>
[section.published] => 1
[section.pub_date] => 0
[section.unpub_date] => 0
[section.parent] => 69
[section.isfolder] => 1
[section.introtext] =>
[section.richtext] => 1
[section.template] => 23
[section.menuindex] => 2
[section.searchable] => 1
[section.cacheable] => 1
[section.createdby] => 1
[section.createdon] => 1563011848
[section.editedby] => 2
[section.editedon] => 1564718352
[section.deleted] => 0
[section.deletedon] => 0
[section.deletedby] => 0
[section.publishedon] => 1563011820
[section.publishedby] => 1
[section.menutitle] =>
[section.donthit] => 0
[section.privateweb] => 0
[section.privatemgr] => 0
[section.content_dispo] => 0
[section.hidemenu] => 0
[section.class_key] => TicketsSection
[section.context_key] => web
[section.content_type] => 1
[section.uri] => lichnyj-kabinet/faq
[section.uri_override] => 0
[section.hide_children_in_tree] => 0
[section.show_in_tree] => 1
[section.properties] => Array
(
[template] => 24
[uri] => %id-%alias%ext
[show_in_tree] =>
[hidemenu] => 0
[disable_jevix] =>
[process_tags] =>
[tickets] => Array
(
[template] => 24
[uri] => %id-%alias%ext
[show_in_tree] =>
[hidemenu] => 0
[disable_jevix] =>
[process_tags] =>
)
[ratings] => Array
(
[ticket] => 10
[comment] => 1
[view] => 0.1
[vote_ticket] => 1
[star_ticket] => 3
[vote_comment] => 0.2
[star_comment] => 0.6
[min_ticket_create] =>
[days_ticket_vote] =>
[min_comment_create] =>
[days_comment_vote] =>
)
[syncsite] => 0
)
[username] => userBugalter
[internalKey] => 46
[fullname] => Бухгалтер
[email] => test@test.com
[phone] => 1234567890
[mobilephone] =>
[blocked] => 0
[blockeduntil] => 0
[blockedafter] => 0
[logincount] => 33
[lastlogin] => 1564121720
[thislogin] => 1564122046
[failedlogincount] => 0
[sessionid] => cf84504fc55d87d6d1d1a9244593581f
[dob] => 0
[gender] => 0
[address] => ул. Тестовая
[country] =>
[city] =>
[state] =>
[zip] =>
[fax] =>
[photo] =>
[comment] =>
[website] =>
[extended] => Array
(
)
[id] => 291
[type] => document
[contentType] => text/html
[pagetitle] => 231211
[longtitle] =>
[description] =>
[alias] => 231211
[alias_visible] => 1
[link_attributes] =>
[published] => 1
[pub_date] => 0
[unpub_date] => 0
[parent] => 75
[isfolder] => 0
[introtext] => 231211
[richtext] => 1
[template] => 24
[menuindex] => 0
[searchable] => 1
[cacheable] => 1
[createdby] => 46
[createdon] => 1564739579
[editedby] => 0
[editedon] => 0
[deleted] => 0
[deletedon] => 0
[deletedby] => 0
[publishedon] => 1564739579
[publishedby] => 46
[menutitle] =>
[donthit] => 0
[privateweb] => 0
[privatemgr] => 0
[content_dispo] => 0
[hidemenu] => 0
[class_key] => Ticket
[context_key] => web
[content_type] => 1
[uri] => lichnyj-kabinet/faq/291-231211
[uri_override] => 1
[hide_children_in_tree] => 0
[show_in_tree] => 0
[properties] => Array
(
[tickets] => Array
(
[disable_jevix] =>
[process_tags] =>
)
)
[comments] => 0
[views] => 0
[stars] => 0
[rating] => 0
[rating_plus] => 0
[rating_minus] => 0
[vote] =>
[star] => 0
[thread] =>
[rating_total] => 0
[cant_vote] => 1
[active] => 0
[inactive] => 1
[can_star] => 1
[stared] =>
[unstared] => 1
[isauthor] => 1
[unpublished] =>
[date_ago] => 02 августа 2019, 12:52
[idx] => 2
[new_comments] =>
)
Комментарии: 5
Такое ощущение, будто нельзя размещать более одного TicketComments на странице, но это же бред какой-то?Вообще вроде так и должно работать, например у формы как минимум задан Id — id=«comment-form», ну и в документации написано:
Выводит комментарии и форму для комментирования ресурса. *Может использоваться с любым документом MODX *Сниппет вызывается не кэшированным.Так что множественный вызов вряд ли должен работать.
Узнать бы наверняка…
Но вообще странно, что так не работает. А как можно еще реализовать эту задачу? Я пробовал QUIP подключать в качестве комментов к тикетам, но он уж совсем старый и требует доработок, так что пока отказался от него…
Но вообще странно, что так не работает. А как можно еще реализовать эту задачу? Я пробовал QUIP подключать в качестве комментов к тикетам, но он уж совсем старый и требует доработок, так что пока отказался от него…
Так а зачем вызывать на одной странице сразу множество форм? Не проще и удобней сделать как например в modstore реализована техподдержка?
https://modstore.pro/office/support — вот тут. Выводится список тикетов, и при переходе в тикет уже идёт переписка в комментах между пользователем и саппортом.
https://modstore.pro/office/support — вот тут. Выводится список тикетов, и при переходе в тикет уже идёт переписка в комментах между пользователем и саппортом.
По дизайну задумывалось, что все будет на одной странице, ну точнее, чтобы комменты были сразу видны. Про формы-то никто не задумывался, но это уже десятое дело.
Думаю вместо iframe можно же аяксом их подгружать. Ну либо все-таки наподобие как в поддержке, если одобрят такой вид.
Думаю вместо iframe можно же аяксом их подгружать. Ну либо все-таки наподобие как в поддержке, если одобрят такой вид.
Можно, конечно, извратиться. Сделать так, что каждый тикет — это iframe. Для самого тикета это воспринимается отдельной страницей и по идее будет работать. Но это ж извращение какое-то :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.