Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Проблема при использовании $nc_core->page->get_h1()

05.09.2014, 13:46
Gvenv_nk
Наталья Комарова
Gvenv_nk

Зарегистрирован:
2011-11-07
Сообщений: 43

Здравствуйте! Проблема вот в чем.
Мне нужно на внутренних страницах сайта (для них существует отдельный макет) вывести титлы по принципу: Название текущей страницы / краткое название сайта (на главной должно выводиться полное название проекта, оно довольно длинное). При этом необходимо сохранить возможность создания альтернативных титлов в полях на вкладках СЕО для разделов и объектов.

Сейчас в макете дизайна у меня написано:
Код:
<title>".( ($title = $nc_core->page->get_h1()) ? $title :
strip_tags(s_browse_path($browse_path_title)))." / Сайт Лидии Сычевой</title>


В шаблонах вывода:
Код:
// хлебные крошки для тайтла
$browse_path_title['active'] = "%NAME ";
$browse_path_title['active_link'] = "%NAME";
$browse_path_title['unactive'] = "%NAME";
$browse_path_title['divider'] = " / ";


В итоге титлы выглядят правильно, но альтернативные заголовки, введенные в соответствующие поля, не отображаются (например, на этой странице http://lsycheva.ru/literature/myDiary/myDiary_3098.html на вкладке "Дополнительно" вписан титл "Татьяна Наместникова. История и современность").

Пыталась решить эту проблему, применяя по очереди все рецепты из документации и переписки на форуме, в том числе s_browse_path_range - безрезультатно (был вариант и без "русскоязычной части", но, стоило мне заменить get_title() на get_h1(), как альтернативные поля переставали работать).

Сайт на v4, т.к. движок изначально был старый, впоследствии обновленный до v5.4.
Подскажите, в чем ошибка?
Заранее спасибо за помощь.

Наталья Комарова
05.09.2014, 16:41
Вячеслав
Студия "Кронос"
Вячеслав

Зарегистрирован:
2013-04-12
Сообщений: 91

а так не пробывали
".($action == 'full' ? $nc_core->page->get_h1() : ($current_sub['AlterTitle'] ? $current_sub['AlterTitle'] : $nc_core->page->get_h1()))
."
//AlterTitle - по умолчанию поле альтернативного заголовка, не знаю было ли оно в системе v4, у себя проверил работает
06.09.2014, 01:10
Gvenv_nk
Наталья Комарова
Gvenv_nk

Зарегистрирован:
2011-11-07
Сообщений: 43

Вячеслав, спасибо огромное, Вы мне очень помогли. На уровне разделов метод действует безотказно (только у меня вместо AlterTitle работает Title). А не подскажете, как бы дополнить этот код аналогичным правилом для компонентов? Допустим, у меня для альтернативных заголовков в инфоблоках компонента "Публикации. Статьи простые" создано поле AlterTitle1. Что мне с ним дальше делать?

Наталья Комарова
07.09.2014, 21:38
Вячеслав
Студия "Кронос"
Вячеслав

Зарегистрирован:
2013-04-12
Сообщений: 91

Вообще заголовок страницы с полным описанием статьи вы может указать в самом компоненте "редактирование компонента", там есть сноска "Заголовок страницы:" - туда и впишите латинское название поля для заголовка, которого вам нужен, к примеру $f_AlterTitle1
Ну или создайте второе поле для альтернативного заголовка, которое может быть условием для проверки или или
на v5
Код:
<? if ($f_AlterTitle1) { ?>
<?=$f_AlterTitle1?>
<? } else { ?>
<?=$f_AlterTitle2?>
<? } ?>

на v4
Код:
".($f_AlterTitle1 ? " 
".$f_AlterTitle1."
" : ".f_AlterTitle2.")."
07.09.2014, 22:57
Gvenv_nk
Наталья Комарова
Gvenv_nk

Зарегистрирован:
2011-11-07
Сообщений: 43

Вячеслав, Вы волшебник! Все работает (c условием). Огромное спасибо и творческих успехов!

Наталья Комарова
198 196 2014-09-07 22:57:48 13799
Описание проекта