Хак Информация из дополнительных полей в title страницы [DLE 10.0]

Тема в разделе "DLE", создана пользователем sagentj007, 2 апр 2014.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. sagentj007

    sagentj007 Постоялец

    Регистр.:
    3 сен 2009
    Сообщения:
    88
    Симпатии:
    6
    Всем привет, столкнулся с проблемой изменения title страницы, который генерируется в engine/engine.php

    Подскажите пожалуйста, можно ли как-то в title страницы выводить информацию из дополнительных полей новости?

    Т.е., сейчас тайтл страницы состоит чисто из названия новости.

    Код:
    if ($nam_e) {
    
        $metatags['title'] = $nam_e . $page_extra;
        $rss_title = $metatags['title'];
    
    } elseif ($titl_e) {
    
        $metatags['title'] = $titl_e . $page_extra.;
    
    } else $metatags['title'] .= $page_extra;
    Кто-то реализовывал? Помогите :)
     
  2. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Вфайле: engine/engine.php

    Найти:
    Код:
    }elseif($titl_e){
    $metatags['title']=$titl_e.$page_extra.' » '.$config['home_title'];
    }else$metatags['title'].=$page_extra;
    
    Заменить на: (attributes – имя доп. Поля)
    Код:
    }elseif($titl_e){
    if($xfieldsdata['attributes']!=''){
    $xfield_data=' &raquo; '.$xfieldsdata['attributes'];
    }
    $metatags['title']=$titl_e.$page_extra.' &raquo; '.$config['home_title'].$xfield_data;
    }else$metatags['title'].=$page_extra;
    
     
    Последнее редактирование: 2 апр 2014
    sagentj007 нравится это.
  3. sagentj007

    sagentj007 Постоялец

    Регистр.:
    3 сен 2009
    Сообщения:
    88
    Симпатии:
    6
    Спасибо большое, т.к. у меня до этого были проблемы с синтаксисом!

    Я сделал так, возможно кому-то пригодится в будущем (использовал информацию из 2ух дополнительных полей)

    Код:
    if($xfieldsdata['season']!=''){
        $xfield_data='. ('.$xfieldsdata['season'].', '.$xfieldsdata['seria'].')';
    }
        $metatags['title']=$titl_e.$page_extra.$xfield_data;
    }
        else$metatags['title'].=$page_extra;
    где season - название 1го (обязательного дополнительного поля),
    и где seria - название 2го (необязательного дополнительного поля).
    Также тут убран тайтл (название) главной страницы (выражение .$config['home_title']. )
    Теперь title выглядит так: "Название новости. (season, seria)"
     
  4. sidorivan

    sidorivan Создатель

    Регистр.:
    18 июл 2007
    Сообщения:
    32
    Симпатии:
    1
    Вфайле: engine/engine.php

    Найти:
    Код:
    }elseif($titl_e){
    $metatags['title']=$titl_e.$page_extra.' » '.$config['home_title'];
    }else$metatags['title'].=$page_extra;

    Заменить на: (attributes – имя доп. Поля)
    Код:
    }elseif($titl_e){
    if($xfieldsdata['attributes']!=''){
    $xfield_data=' &raquo; '.$xfieldsdata['attributes'];
    }
    $metatags['title']=$titl_e.$page_extra.' &raquo; '.$config['home_title'].$xfield_data;
    }else$metatags['title'].=$page_extra;

    Помогите, данный хак работает, но только когда в дополнительно в редакторе новости ни чего не написано, если же там что то написано не работает, тогда как реализовать, поделитесь плиз!
    И еще как добавить название категории (категорию) перед TITLE?
     
  5. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    Надо убрать условие if($xfieldsdata['attributes']!='')
    PHP:
    }elseif($titl_e){
    $xfield_data=' &raquo; '.$xfieldsdata['attributes'];
    $metatags['title']=$titl_e.$page_extra.' &raquo; '.$config['home_title'].$xfield_data;
    }else
    $metatags['title'].=$page_extra;
     
  6. sidorivan

    sidorivan Создатель

    Регистр.:
    18 июл 2007
    Сообщения:
    32
    Симпатии:
    1
    Да, но теперь, наоборот там где что то вбито в титл не отображает, помоги плиз, чтобы работало при двух условиях, если есть что то в титл и если нет,
    да и еще хотел спросить, как сделать чтобы там где нет титла инфа из доп поля отображалась так:
    <title>Название фильма; Инфа из доп поля; Смотреть фильмы онлайн &raquo</title>
    а не так:
    <title>Название фильма; Смотреть фильмы онлайн &raquo; Инфа из доп поля</title>