[DLE 9.0] Добавление в <title> новостей дополнительных полей

D0
На сайте с 01.05.2009
Offline
51
2169

Доброго времени суток!

Появилась необходимость добавить в тайтлы новостей дополнительные поля. По умолчанию они формируются так:

"Заголовок статьи >> Название сайта"

А мне надо:

"[Дополнительно_поле_1] заголовок статьи [Дополнительное_поле_2]>> Название сайта"

В интернете нашел способ:

в engine/engine.php

найти:

} elseif ($titl_e) {


$metatags['title'] = $titl_e . $page_extra . ' » ' . $config['home_title'];

} else $metatags['title'] .= $page_extra;

заменить на:

} elseif ($titl_e) {

if ( $xfieldsdata['attributes'] != '' ) {
$xfield_data = ' » '. $xfieldsdata['attributes'];
}
$metatags['title'] = $titl_e . $page_extra . ' » ' . $config['home_title'] . $xfield_data;
} else $metatags['title'] .= $page_extra;

Но проблема в том, что он написан, видимо, для ранних версий dle. В файле dle 9.0 нет такой конструкции, даже нет переменной $page_extra.

Подскажите, как можно решить эту проблему?

md5by
На сайте с 30.12.2011
Offline
68
#1

FTP доступ мне в личку. Сделаю.

---------- Добавлено 13.06.2012 в 16:07 ----------

Создавай теперь доп. поля pre_title и post_title и пользуйся. (префикс и постфикс)

pre_title - перед заголовком

post_title - после заголовка

Код:


$pre_title = '';
$post_title = '';

if ( $xfieldsdata['pre_title'] )
$pre_title = $xfieldsdata['pre_title'] . ' ';

if ( $xfieldsdata['post_title'] )
$post_title = ' ' . $xfieldsdata['post_title'];

if ($titl_e) $metatags['title'] = $pre_title . $titl_e . $post_title . ' &raquo; ' . $config['home_title'];
D0
На сайте с 01.05.2009
Offline
51
#2

md5by, спасибо! Уже не первый раз выручаешь в доработках по DLE!

Если кому актуально, вышеприведенный код добавляется в engine/engine.php

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий