Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Настройки

Панель управления модулем («Настройки» — «Комментарии») поделена на 2 вкладки: «Настройки» и «Комментарии». Первая вкладка включает в себя вкладки по управлению общими настройками, шаблоном вывода, а также подписками и оповещениями, вторая — по управлению всем списком комментариев, конвертером из старых версий и средствами по оптимизации данных.

Основные настройки

Вкладка «Общие настройки» состоит из трех блоков.

В первом («Основные настройки») настраиваются:

  • поля из таблицы «Пользователи», используемые для имени и аватара зарегистрированного пользователя;
  • возможность ввода незарегистрированным пользователем имени и email, причем при установке галочек «Обязательно» у каждого из эти пунктов будет выводиться ошибка над формой добавления комментария с просьбой заполнить поля для ввода имени и email,
  • возможность сразу, т.е. без ссылки «оставить комментарий», показывать форму добавления комментария,
  • количество комментариев на страницу. При цифре, отличной от нуля, автоматически включается листинг комментариев, причем количество комментариев на страницу не учитывает ответы. Т.е. если у нас всего 11 комментариев, из них 3 — это ответы к комментарию номер 1, а значение в поле «количество комментариев на страницу» равно 5, то на первой странице листинга будет фактически 8 комментариев (5 + 3 ответа на первый), и 3 комментария на второй.
  • возможность показа кнопки «Показать все» (активна при включённом листинге комментариев),
  • возможность включения обратной сортировки комментариев (т.е. последние комментарии располагаются вверху списка),
  • возможность использования bb-кодов в комментариях.

Во втором блоке («Премодерация») предложено выбрать степень премодерации для добавляемых комментариев. Положение «нет» означает, что премодерация отключена; «только для неавторизованных пользователей» — соответственно, добавляет комментарий выключенным для неавторизованного пользователя/включённым для авторизованного; «всегда» — означает премодерацию для всех пользователей, кроме пользователей с правами директора, супервизора и редактора с возможностью модерирования.

На месте комментария, попадающего под премодерацию, будет выведено сообщение, которое настраивается во вкладке «Шаблон вывода» в поле «Сообщение о премодерации комментариев».

Последний блок «Новые комментарии» состоит из двух настроек:

  • подсветка новых комментариев (цвет подсветки настраивается в шаблоне вывода с учётом макропеременной %IS_NEW),
  • возможность показа кнопки перехода к следующему новому комментарию (не активна при включённом листинге комментариев).

Шаблон вывода

В этой вкладке можно добавить различные шаблоны оформления блоков комментирования. Решение о том, какой шаблон использовать, система принимает на основе идентификатора, переданного в функции вывода «стенки комментариев» или же, если такого идентификатора задано не было, использует шаблон по умолчанию. Это позволяет кастомизировать внешний вид вывода комментариев под различные задачи. Рассмотрим настройки подробнее.

В первом блоке «Шаблоны вывода комментариев» вынесен выпадающий список предустановленных шаблонов системы. Для добавления нового шаблона следует выбрать последний пункт списка «новый шаблон вывода». Если были внесены изменения в настройки текущего выбранного шаблона — следует нажать кнопку «Сохранить», иначе настройки не будут сохранены.

В блоке «Настройки шаблона вывода» устанавливается внешний вид всех блоков комментирования. Почти в каждом блоке присутствуют свои макропеременные, которые система обрабатывает при выводе блока. Например, макропеременная %USER_ID в блоке «Блок вывода комментария» превратится при выводе в идентификатор автора комментария. Для блоков, в которых есть подобные макропеременные, будет указана таблица с именами этих переменных. Рассмотрим все настройки шаблона вывода поближе:

  • использовать по умолчанию — позволяет назначить выбранный шаблон шаблоном, используемым по умолчанию,
  • название шаблона — любое «говорящее» название шаблона, например «шаблон для новостей»,
  • префикс «стенки комментариев» — позволяет разместить любой HTML-код в самом начале блока вывода «стенки комментариев». Это может быть какой либо заголовок или описание правил. В этом блоке доступна только 1 макропеременная и она обязательная:
  • %ID — идентификатор «стенки комментариев»

Примечание: здесь и далее по тексту жирным шрифтом выделены обязательные переменные

ВАЖНО: Контент префикса и суффикса должен быть вне основного контейнера комментариев DIV class='nc_comments'

  • блок вывода комментария — этот блок определяет, как следует выводить текст комментария. Ниже список макропеременных, доступных в этом блоке:
    %ID — идентификатор комментария
    %COMMENT — текст комментария
    %IS_NEW — если комментарий новый, псевдопеременная равна 1
    %USER_ID — идентификатор автора комментария из таблицы User
    %USER_NAME — поле Login автора из таблицы User
    %USER_AVATAR — ссылка на аватар пользователя
    %GUEST_NAME — имя гостя, если при добавлении комментария он его ввёл
    %GUEST_EMAIL — email гостя, если при добавлении комментария он его ввёл
    %DATE — дата добавления комментария
    %UPDATED — дата обновления комментария (редактирование)
    %REPLY_LINK — ссылка ответа на комментарий, заполняется из блока «Ссылка на ответ»
    %EDIT_LINK — ссылка на редактирования комментария, заполняется из блока «Ссылка на редактирование»
    %DELETE_LINK — ссылка на удаление комментария, заполняется из блока «Ссылка на редактирование»
    %REPLY_BLOCK — указывает в каком месте выводить блок ответов на комментарий
    %LEVEL — уровень вложенности ответа, дл комментариев равен 0

  • блок вывода ответа на комментарий — этот блок определяет, как следует выводить текст ответа на комментарий. В этом блоке можно задать отступ от левого края, чтобы показать, что данный комментарий является ответом. Макропеременные аналогичны тем, что указаны выше для «Блока вывода комментария».

  • ссылка на комментирование — данная настройка определяет, что следует выводить в ссылке на комментирование. Изменение положения ссылки в «стенке комментариев» не предусмотрено. Ниже список макропеременных, доступных в этом блоке:
    %ID — идентификатор ссылки
    %ACTION — действие, например onclick="%ACTION"
    %TEXT — текст ссылки или картинка

  • ссылка на ответ — данная настройка определяет, что следует выводить в ссылке ответа на комментарий. Макропеременные аналогичны блоку «Ссылка на комментирование», описанному выше.

  • ссылка на редактирование — данная настройка определяет, что следует выводить в ссылке на редактирование комментария. Макропеременные аналогичны блоку «Ссылка на комментирование», описанному выше.

  • ссылка на удаление — данная настройка определяет, что следует выводить в ссылке на удаления комментария. Макропеременные аналогичны блоку «Ссылка на комментирование», описанному выше.

  • блок добавления комментария или ответа — этот блок отображает форму добавления комментария. Ниже таблица макропеременных, доступных в этом блоке:
    %FORM_ID — идентификатор формы добавления
    %TEXTAREA_ID — идентификатор текстового поля
    %TEXTAREA_VALUE — значение внутри текстового поля
    %CANCEL_BUTTON_ID — идентификатор кнопки «Отменить»
    %CANCEL_BUTTON_ACTION — действие кнопки «Отменить»
    %SUBMIT_BUTTON_ID — идентификатор кнопки «Сохранить»
    %ISBBCODES — логическая переменная, true если BB-коды разрешены

    Поля для ввода гостем имени и email выводятся следующим кодом:

<span id='nc_comments_guest_name'> Ваше имя
    <input type='text' name='nc_comments_guest_name'></span>
<span id='nc_comments_guest_email'> Ваш email
    <input type='text' name='nc_comments_guest_email'></span>

Внимание! атрибуты id и name у тегов span и input должны точно соответствовать приведённым выше.

  • блок редактирования комментария или ответа — этот блок отображает форму редактирования комментария. Макропеременные аналогичны блоку «Блок добавления комментария или ответа», описанному выше.

  • блок удаления комментария или ответа — этот блок отображает форму удаления комментария. Все макропеременные этого блока обязательны:
    %FORM_ID — идентификатор формы добавления
    %CANCEL_BUTTON_ID — идентификатор кнопки «Отменить»
    %CANCEL_BUTTON_ACTION — действие кнопки «Отменить»
    %SUBMIT_BUTTON_ID — идентификатор кнопки «Сохранить»
    Следует отметить, что блоки «Блок вывода комментария», «Блок вывода ответа на комментарий», «Блок добавления комментария или ответа», «Блок редактирования комментария или ответа» и «Блок удаления комментария или ответа» обрабатываются PHP функцией eval(), что позволяет использовать PHP код внутри этих блоков.

  • суффикс «стенки комментариев» — позволяет разместить любой HTML-код в самом конце блока вывода «стенки комментариев».

  • шаблон вывода листинга комментариев — позволяет кастомизировать внешний вид ссылок «следующая страница» и «последняя страница». Дополнительно в макете дизайна можно определить массив $browse_comments такого вида:

$browse_comments['prefix'] = "";
$browse_comments['suffix'] = "";
$browse_comments['active'] = "<b>%PAGE</b>";
$browse_comments['unactive']="<a href='#' onclick='%NAV_ACTION'>%PAGE</a>";
$browse_comments['divider'] = " | ";
  • кнопка показа всех комментариев — задаёт внешний вид кнопки/ссылки показа всех комментариев. Доступна только 1 макропеременная:
    %SHOW_ALL — действие кнопки «Показать все»

  • сообщение об ошибке — определяет внешний вид сообщения об ошибке. Сообщения об ошибке выводятся, когда заданы настройки, требующие ввод гостем имени и email (т.е. также проставлены галочки «обязательно»), но гость не заполнил одно или оба поля, не правильно введена катча и другие ошибки. Доступна только 1 макропеременная:
    %WARNTEXT — сообщение об ошибке

  • сообщение о премодерации комментариев — определяет внешний вид сообщения. Сообщение выводится, когда в настройках включена премодерация для комментариев, добавляемых неавторизованными пользователями или для всех. Макропеременные отсутствуют.

  • кнопка перехода к новому комментарию — задаётся внешний вид кнопки. Кнопка автоматически не активна при включённом листинге комментариев. Доступна 1 макропеременная:
    %NEW_COMMENT_BUTTON_ACTION — действие кнопки

Подписки и оповещения

Во вкладке находится управление всем, что связано с подпиской на новые комментарии:

Доступна подписка на комментарии — пользователи смогут подписаться но новые комментарии.

Ссылка на подписку — данная настройка определяет, что следует выводить в ссылке на подписку. Доступные макропеременные в этом поле:

  • %ID — идентификатор ссылки
  • %ACTION — действие, например onclick='%ACTION'
  • %TEXT — текст ссылки

Тема письма — шаблон темы письма-уведомления о новом комментарию.

Шаблон тела письма — шаблон письма, приходящий пользователям при новом комментарии. В теме и теле шаблона письма доступны следующие переменные:

  • %SUBDIVISION_NAME — название раздела с комментариями
  • %COMMENT_TEXT — текст комментария
  • %FULL_LINK — адрес страницы с комментарием
  • $comment_id — номер комментария
  • $comment_text — текст комментария
  • $message_id — номер комментируемого объекта
  • $subdivision_name — имя раздела с комментариями
  • $subdivision_id — номер раздела
  • $sub_class_name — имя компонента в разделе
  • $sub_class_id — номер компонента в разделе
  • $fullLink — адрес страницы с комментарием
Описание проекта