Пользовательская форма комментария в шаблоне CCK
Предварительная проверка: я использую модуль MakeMeeting для создания / отображения опросов. Этот модуль имеет свой собственный тип контента, и я не могу отображать комментарии на экране (выбираю ли я показывать комментарии или на той же странице, или нет в настройках комментариев для этого типа узла). Модуль MakeMeeting имеет свои собственные функции темы, но, возможно, они не виноваты, поскольку, насколько я знаю, Drupal должен добавлять комментарии к любым данным, которые генерирует модуль.
Это поднимает два связанных вопроса:
1) Как можно использовать пользовательский код для отображения функциональности комментариев на пользовательском узле CKK? Скорее всего, этот код должен быть добавлен в node-typename.tpl.php
2) Как я могу отладить, почему комментарии не отображаются, где я должен проверить (вызовы функций, имена переменных и т. Д.).
Спасибо!
1 ответ
Комментарии обрабатываются в нескольких местах. Наиболее важным является, вероятно, файл шаблона узла и файл template.php. Поэтому, если комментарии для узла не отображаются (но для других типов узлов), количество мест, где что-то может пойти не так, ограничено.
- Наиболее важным местом для поиска, вероятно, будет файл шаблона, который используется при отображении узла. Но если это то же самое, что и для других типов узлов на вашем сайте, и там отображаются комментарии, это не может быть проблемой.
- После этого я зайду в ваш файл template.php и посмотрю на функцию preprocess_node. Здесь тема может сделать свою собственную логику, чтобы определить, должны ли комментарии быть представлены или нет.
- Третий вариант, может быть, если ваша тема реализовала свою собственную функцию темы функции темы, используемой для комментариев. Я думаю, что используется theme_comment_view().
Я просмотрел код для модуля, и не похоже, что это может быть причиной этой проблемы. Тем не менее, вы можете не видеть реальный узел, когда вы думаете, что делаете. Это наиболее вероятная причина. То, что вы просматриваете страницу, созданную модулем, а не просматриваете сам узел. Это может объяснить проблему, поскольку вы просто видите, что определил модуль. Решением этой проблемы было бы включение комментариев узла в используемый файл шаблона. Я видел, что в модуле реализовано много файлов шаблонов, поэтому вы можете взять копию того, что вам нужно изменить, и добавить туда некоторый код, который печатает комментарии. Вам может понадобиться использовать некоторый код в функции предварительной обработки (в template.php), чтобы получить актуальную тематическую версию комментариев, которую вы можете распечатать в файле шаблона.
В любом случае, это просто много предложений или догадок, но я не знаю, поможет ли это. Но это вещи, на которые я бы начал смотреть.