Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать вывод текста в title в определенных категориях?

Как сделать вывод текста в title в определенных категориях?


     16.05.2015    Все вопросы » Общие вопросы по PHP    2561

вопрос
Привет!
Как сделать вывод текста в title в определенных категориях? Есть данный код:
if ($subaction == "showfull") {
$metatags['title'] = "Скачать ".str_replace ( ' » '.$config['home_title']  , " " , $metatags['title'] ). " бесплатно";
}

Но он выводиться во всех категориях, а мне нужно в некоторых.

Ответа пока нет


11 комментариев

Webmaster
Юзер

Webmaster - 16 мая 2015 18:45 -

Ну если я правильно понял, то примерно так:

if ($subaction == 'showfull') {
    if ($category == 'test-1') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category == 'test-2') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category == 'test-3') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } else {
        $metatags['title'] = $config['home_title']; /* Здесь желаемый заголовок */
    }
}

Drol
Юзер

Drol - 17 мая 2015 10:09 -

Спасибо, сразу конечно не получилось, нужно так:
if ($subaction == 'showfull') {
    if ($category_id == 'test-1') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category_id == 'test-2') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category_id == 'test-3') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } else {
        $metatags['title'] = $config['home_title']; /* Здесь желаемый заголовок */
    }
}

Varden
Юзер

Varden - 16 мая 2015 23:00 -

А чем не устраивает шаблон для каждой категории?

Drol
Юзер

Drol - 17 мая 2015 10:25 -

Как теперь с этого кода:
if ($subaction == 'showfull') {
    if ($category_id == 'test-1') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category_id == 'test-2') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } elseif ($category_id == 'test-3') {
        $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';
    } else {
        $metatags['title'] = $config['home_title']; /* Здесь желаемый заголовок */
    }
}

Перечислить категории? Если напишу "if ($category_id == '1') то работает, но если if ($category_id == '1,2') уже не работает.

FastFud
Юзер

FastFud - 17 мая 2015 10:32 -

Попробуйте так
$catID = array(1,2,3);
if (in_array($category_id, $catID)) ...

if ($subaction == 'showfull' && (in_array($category_id, $catID)) $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';

Webmaster
Юзер

Webmaster - 17 мая 2015 11:13 -

Drol, Ну да, правильно, вместо
$category
нужно было
$category_id
, ну разобрался же ;)

Drol
Юзер

Drol - 17 мая 2015 12:38 -

Да, вот только как прописать много категорий?
С этим кодом чуть не разберусь,
$catID = array(1,2,3);
if (in_array($category_id, $catID)) ...

if ($subaction == 'showfull' && (in_array($category_id, $catID)) $metatags['title'] = 'Скачать '.str_replace ( ' » '.$config['home_title']  , ' ' , $metatags['title'] ). ' бесплатно';

Что вместо "..." нужно?:-)

Webmaster
Юзер

Webmaster - 17 мая 2015 13:50 -

Drol, попробуй так:

$catID = array('test-1', 'test-3', 'test-3'); /* Указываем категории, для которых нужен кастомный тайтл */
if ($subaction == 'showfull') {
    /* Если в массиве присутствует значение... */
    if (in_array($category_id, $catID)) {
        $metatags['title'] = 'Скачать ' . str_replace(' » '.$config['home_title'], ' ', $metatags['title']) . ' бесплатно';
    } /* Иначе, выводим это... */ else {
        $metatags['title'] = $config['home_title']; /* Здесь желаемый заголовок */
    }
}

Комментарии можешь удалить...

Webmaster
Юзер

Webmaster - 17 мая 2015 15:02 -

Drol, P.S.
Я не проверял, так как малость занят, но думаю должно работать...
А ещё массив
$catID
можно внутрь проверки засунуть, т. к. используется внутри неё и список категорий можно по идее по идентификатору из БД указывать, то есть цифрами, ну как-то так:

if ($subaction == 'showfull') {
    $catID = array(1, 2, 3);
    if (in_array($category_id, $catID)) {
        $metatags['title'] = 'Скачать ' . str_replace(' » '.$config['home_title'], ' ', $metatags['title']) . ' бесплатно';
    } else {
        $metatags['title'] = $config['home_title'];
    }
}

Проверять нужно в общем, а мне специально сейчас двиг ставить и моделировать ситуацию немного не с руки, так что чем смог...

Drol
Юзер

Drol - 17 мая 2015 15:18 -

О всё! Этот вариант сработал!! Всем огромное спасибо!!!))))

Webmaster
Юзер

Webmaster - 17 мая 2015 15:21 -

Drol, пожалуйста ;)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 13.05.2014 Руслан_Яруллин  Общие вопросы по PHP
наверх