Онлайн-руководство разработчика 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

Title, keywords и description

Видеоурок

NetCat позволяет задавать тег title и мета-значения keywords, description в автоматическом режиме (например, у новостей выводить в заголовке страницы название новости) с возможностью переопределить эти значения для каждой конкретной страницы.

SEO-данные можно задать как для конкретного раздела, так и объекта.

Задать данные для раздела вы можете на вкладке «Настройки — SEO». Заполните необходимые поля: заголовок страницы, ключевые слова и описание страницы.

Для объекта данные задаются в окне редактирования на вкладке «Дополнительно». Здесь так же нужно заполнить желаемые поля.

Для вывода значений в коде страницы нужно использовать функции системы:

Таким образом, в блоке head можно прописать следующие строки:

<title><?=( ($nc_core->page->get_title()) ? $nc_core->page->get_title() : strip_tags(nc_browse_path($browse_path)))?></title>
<?=( ($nc_core->page->get_keywords()) ? "<meta name='keywords' content='".$nc_core->page->get_keywords()."' />" : "" ) ?>
<?=( ($nc_core->page->get_description()) ? "<meta name='description' content='".$nc_core->page->get_description()."' />" : "" ) ?>

Порядок определения title, keywords и description при списке объектов и при полном отображении объекта немного отличаются.

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

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

Рассмотрим простой пример. Пусть у нас есть компонент «Новости» с полем «Название новости» — Caption.

В поле «заголовок страницы» в блоке «шаблон отображения одного объекта на отдельной странице» пропишем:

$f_Caption

Если опция «использовать как полностью альтернативный заголовок» будет выключена, то тайтл страницы с подробным отображением новости с названием «Последняя новость» будет выглядеть примерно так:

«Мой сайт / Новости / Последняя новость»

При включенной опции «использовать как полностью альтернативный заголовок» тайтл на этой же странице будет выглядеть так:

«Последняя новость»

Кроме этого, разработчик может сам составить нужную цепь заголовка, используя значения массивов:

  • $current_sub['Subdivision_Name'] — для вывода названия раздела
  • $current_catalogue['Catalogue_Name'] — для вывода названия сайта
  • Любую переменую компонента для автоматического формирования уникального заголовка.

Заголовок H1

Помимо вышеописанных функций, на странице можно выводить заголовок H1, используя метод:

$nc_core->page->get_h1()>

На странице будут выведено название текущего раздела.

Также вы можете задать свой заголовок, используя метод:

$nc_core->page->set_h1()

См. также

Комментарии 5

ЮАСКО-Арт 04 сентября 2014, 12:53:01
[CODE]<title><?=( ($nc_core->page->get_title()) ? $nc_core->page->get_title() : strip_tags(nc_browse_path($browse_path)))?></title>[/CODE]

Зачем ссылка на страницу описания метода? Да ещё относительная? Из-за неё страница слетает.

Я так сделал:
[CODE]<title><?=( ($nc_core->page->get_title()) ? $nc_core->page->get_title() : "Название компании"</title>[/CODE]
   
ЮАСКО-Арт 04 сентября 2014, 19:04:37
Случайно нашёл вариант получше вот здесь: [URL='http://www.youtube.com/watch?v=76mi6H4E0N4']Презентация NetCat[/URL].

Если кратко, то записать надо так:

[CODE]<title><?=( ($nc_core->page->get_title()) ? $nc_core->page->get_title() : s_browse_path($aBrowsePathTitle) )?></title>[/CODE]

И ещё прописать в шаблоне навигации следующее:

[CODE]$aBrowsePathTitle['active'] = "%NAME - Название-компании";
$aBrowsePathTitle['active_link']= "%NAME - Название-компании";
$aBrowsePathTitle[''] = "%NAME - Название-компании";
$aBrowsePathTitle[''] = "/";[/CODE]

В этом случае заголовок страницы будет браться либо из настроек страницы, либо из поля %NAME, что эквивалентно добавлению навигации типа "хлебные крошки".
   
Константин  Константин 05 сентября 2014, 10:01:44
Раз уж вы принялись коллекционировать варианты формирования вывода тайтла, нате вам ещё один вариант:

В шаблоне вывода навигации:
[CODE]$s_path['active'] = "%NAME ";
$s_path['active_link'] = "%NAME";
$s_path['unactive'] = "%NAME";
$s_path['divider'] = " &mdash; ";[/CODE]

В выводе тайтла:
[CODE]<title><?=($nc_core->page->get_title() ? $nc_core->page->get_title() : implode(" &mdash; ", array_reverse(explode(" &mdash; ", strip_tags(s_browse_path($s_path))))))?></title>[/CODE]

Здесь вы получаете правильный тайтл, в котором разделы идут от последнего уровня к корню, то есть к названию сайта.

Чтобы в тайтле также отображался заголовок новостей или статей пропишите в поле переменную заголовка:
[IMG='http://cdn.joxi.ru/uploads/prod/2014/09/05/20f/2ab/d408dbe2f986a6a1b0dff6916c93a179fb0ce5ba.jpg']

В том случае, если вы будете заполнять сео-поля, будут отображаться только они.
   
а можно ли как-то вставить переменную с настроек сайта <?=$current_catalogue['']?> в title?
   
Да, воспользуйтесь методом $nc_core->page->set_metatags('title', $current_catalogue['MyVariable'])
   
Описание проекта