Не нравятся результаты поиска? Попробуйте другой поиск!

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


     16.05.2015    Общие вопросы по PHP    1106

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

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

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


Комментарии пользователей (11)

Webmaster
9

41 | 12

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
7

64 | 16

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
3

Varden - 16 мая 2015 23:00 - Юзер

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

Drol
7

64 | 16

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
50

1599 | 588

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
9

41 | 12

Webmaster - 17 мая 2015 11:13 - Юзер

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

Drol
7

64 | 16

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
9

41 | 12

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
9

41 | 12

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
7

64 | 16

Drol - 17 мая 2015 15:18 - Юзер

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

Webmaster
9

41 | 12

Webmaster - 17 мая 2015 15:21 - Юзер

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

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

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

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