Сегодня столкнулся с необходимостью сделать механизм обратной связи с читателями сайта. Для осуществления этого я решил использовать принцип комментирования заметок. Так как мой сайт написан на движке Umbraco, то мне пришлось немало сил потратить на поиск нужного пакета, а потом для его адаптации к моему сайту.
Итак, чтобы добавить возможность комментировать страницы, например, чтобы посетители сайта могли оставлять свои мнения о заметке на странице новостей, можно установить готовый пакет, который назвается uComment.
К сожалению этот пакет нельзя использовать без модификаций. Во-первых: он просто не работает, если устанавливать согласно инструкциям. Во-вторых: апплет модерирования записей системы управления сайтом в конфликте с апплетом изменения пароля. В-третьих: форма и скрипты на английском языке.
Итак, как же решить вышеобозначенные проблемы? Для этого нужно сделать определеную последовательность шагов, начиная от установки пакета uComment, и заканчивая вставкой кода комментариев в страницу.
1. Установить пакет uComment в CMS через оснастку Developer.
2. В файловой структуре сайта найти файл ChangePassword.ascx, который находится в папке ./umbraco/dashboard, добавить к трем встречающимся элементам, которые производят проверку, параметр validationgroup="password" (эти элементы asp:RequiredFieldValidator и asp:CompareValidator).
3. Чтобы изменить дизайн формы комментариев, а так же английские надписи, нужно изменить файл UCommentForm.ascx, который находится в папке ./usercontrols/UComment. Так же я рекомендую удалить часть скрипта этого файла, которы отвечает за аватары пользователей, так как пользователи не зарегистрированы в CMS, и аватаров нет.
4. Также можно исправить английские надписи в скрипте обработки формы jquery.validate.min.js, который находится в папке ./scripts/UComment.
5. Чтобы исправить визуальный стиль опубликованных комментариев, нужно исправить файл UCommentListComments.xslt, который можно найти как в оснастке Developer, так и в папке ./xslt.
6. Последний шаг - это применение форм на страничке. Обычно оба макроса (форма и комментарии) вставляются в шаблон страницы. Но, чтобы конструкция заработала, нужно оба макроса поместить в блок <form id="Comments"></form>. В заголовке страницы так же должны присутствовать объявления скриптов <script type="text/javascript" src="/scripts/jQuery.js"></script> и <script type="text/javascript" src="/scripts/UComment/jQuery.Validate.min.js"></script>.
Более подробную информацию по установке блока комментирования в систему Umbraco читайте в очередной статье на моем сайте.
29.09.11: Несколько дней мучался с установкой комментариев в свой дневник. В итоге переделал весь HTML код шаблона сайта, отключил скрипты. Выяснилось, что скрипты комментариев в конфликте с формой поиска Яндекса. Проблема решается изменением селектора jQuery("form").validate на jQuery("#Comments").validate в файле UCommentForm.ascx.
09.10.11: Удобно будет разметить форму модерации комментариев на первой вкладке системы управления сайтом. Для этого нужно в файле ./config/Dashboard.config передвинуть секцию <section alias="Comments"> на первое место.