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

Объект подтягивает meta от раздела

09.06.2017, 23:37
Андрей
ИП Шаврин А.С.

Зарегистрирован:
2015-12-02
Сообщений: 2

Все привет, помогите понять в чем может быть проблема?
На сайте настроена маска для мета тегов, но почему-то объекты только в одном из разделов упорно подтягивают title от раздела...
Пример части кода:
Код:

if($title = $nc_core->page->get_title()){
echo $title;
}elseif($current_cc[Class_ID]==38 && $message!=0){
echo $f_Name.' в '.$f_Rayon;
}elseif($current_cc[Class_ID]==39 && $message!=0){
echo 'Готовые '.$f_Name;
}

т.е. у раздела используется компонент 39, у раздела задан title, у объектов нет, а на сайт у объекта выводится title от раздела.... если задать у объекта title вручную, то выведется он...
Почему когда не задан title все равно срабатывает правило из первого IF??
У раздела который использует компонент 38 все норм, если у объекта не задан title то выводится по маске....
10.06.2017, 08:18
Владимир
Web-Element

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

Попробуйте в первом условии поставить не =, а ==
))
10.06.2017, 09:20
Андрей
ИП Шаврин А.С.

Зарегистрирован:
2015-12-02
Сообщений: 2

Не помогло, заметил что все таки везде не правильно выводится... если у раздела задан title то он подтягивается к объектам...
Поменял условия, вроде теперь все работает
Код:

if($current_cc[Class_ID]==38 && $message!=0 && !$f_ncTitle){
echo $f_Name.' в '.$f_Rayon;
}elseif($current_cc[Class_ID]==39 && $message!=0 && !$f_ncTitle){
echo 'Готовые '.$f_Name;
}esleif($title = $nc_core->page->get_title()){
echo $title;
}
.......
22.06.2017, 07:52
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Да, это особенность Netcat - система действительно наследует значения метатегов от разделов к объектам. Я уже жаловался в Неткэт, чтобы это исправили, но воз и ныне там. То ли не согласны с моим мнением, что это баг, а не фича, то ли просто руки у них не дошли. улыбка

То решение, которое вы сами придумали, в общем-то, сгодится, единственное, что правильнее проверять не $message, а переменную $action (она равна full, если открыта детальная страница).
Ну а если совсем грамотно и универсально делать, то в макете выводить метатеги лучше стандартной функцией $nc_core->page->get_..., а в отображении объекта поставить, например, так:
if ( !$f_ncTitle ) $nc_core->page->set_metatags('title', "$f_Name - траливали.");
198 196 2017-06-22 07:52:47 14776
Описание проекта