Meta tags keywords and description for sections or categories of Joomla 1.5 (Мета тэги keywords и description блога раздела или категории Joomla 1.5)

В стандартной CMS Joomla 1.5 невозможно прописать мета тэги (meta tags) keywords и description при выводе блога раздела (section) или категории (category).

В блогах и форумах рекомендуют устанавливать специальные компоненты (например ArtioJoomSef) или плагины (например MetaTags). Однако, можно решить эту задачу, используя один небольшой хак, о котором будет идти речь ниже.

В результате этого простого хака получаем:

  1. В настройках пункта меню блога раздела или категории появится возможность указать мета тэги description и keywords
  2. Прописанные в настройках меню тэги будут выводиться на страницах сайта.

Итак, начнем…

Meta tags keywords and description for sections of Joomla 1.5 (Мета тэги keywords и description блога раздела Joomla 1.5)

1. В первую очередь делаем бэкап нашего сайта;

2. Все сделанные изменения необходимо фиксировать, т.к. при обновлении Joomla все изменения будут затерты;

3. Редактируем файл /components/com_content/views/section/tmpl/blog.xml

Между строками:

</param>
<advanced>

Добавляем строки:

<param name="description" type="textarea" rows="5" cols="30" default="" label="Description" description="METADESC" />
<param name="keywords" type="textarea" rows="5" cols="30" default="" label="Keywords" description="METAKEYS" />

4. Редактируем файл /components/com_content/views/section/view.html.php

После строк:

if (!$menu_params->get( 'page_title')) {
	$params->set('page_title',	$section->title);
}

Добавляем строки:

if ($menu_params->get( 'description')) {
	$document->setMetadata('description', $menu_params->get( 'description'));
}
if ($menu_params->get( 'keywords')) {
	$document->setMetadata('keywords', $menu_params->get( 'keywords'));
}

5. Сохраняем на хосте оба файла и тестируем.

Meta tags keywords and description for categories of Joomla 1.5 (Мета тэги keywords и description блога категории Joomla 1.5)

1. В первую очередь делаем бэкап нашего сайта;

2. Все сделанные изменения необходимо фиксировать, т.к. при обновлении Joomla все изменения будут затерты;

3. Редактируем файл /components/com_content/views/category/tmpl/blog.xml

Между строками:

</param>
<advanced>

Добавляем строки:

<param name="description" type="textarea" rows="5" cols="30" default="" label="Description" description="METADESC" />
<param name="keywords" type="textarea" rows="5" cols="30" default="" label="Keywords" description="METAKEYS" />

4. Редактируем файл /components/com_content/views/category/view.html.php

После строк:

$menus = &JSite::getMenu();
$menu  = $menus->getActive();

Добавляем строки:

$menu_params = new JParameter( $menu->params );
if ($menu_params->get( 'description')) {
	$document->setMetadata('description', $menu_params->get( 'description'));
}
if ($menu_params->get( 'keywords')) {
	$document->setMetadata('keywords', $menu_params->get( 'keywords'));
}

5. Сохраняем на хосте оба файла и тестируем.

Данную статью можно прокомментировать или обсудить в комментариях.

Создание и разработка web-сайта/a>

23 комментария

  1. Алексей
    2010/06/12 в 13:31

    Оставляем свои комментарии

    Ответить
  2. Гроземат
    2010/09/05 в 17:33

    Рулит! Долго искал, где тестировать, нашел эти поля в меню.
    Реальное решение!

    Ответить
  3. bezvadim
    2010/11/28 в 03:48

    Приветствую,
    все сделал как написано, окошко появились,
    но ни ключи ни описания не появились
    в метатегах страницы
    Джумла Версия 1.5.14

    Ответить
  4. bezvadim
    2010/11/28 в 09:44

    Все работает как надо. Это sh404SEF блокировал пока ключей и описаний.
    Спасибо з ахак

    Ответить
    1. Aeon
      2010/11/28 в 11:44

      Всегда пожалуйста :)
      Будут вопросы пишите

      Ответить
      1. Spencer
        2011/02/16 в 20:13

        У меня та же самая проблема, окошко появилось но ни ключей ни описания нету помогите понять в чем проблема. сделал все как надо перепроверил много раз. и что за sh404SEF у меня такое не установлено

        Ответить
  5. chip
    2010/12/01 в 14:41

    Сделал, работает :) автору спасибо!

    Ответить
  6. Иван
    2010/12/16 в 16:23

    А как на счет категории, не блога категории. Там увы новые формы для ключей и описания не появляются?

    Ответить
  7. Светлана
    2011/01/23 в 18:52

    Спасибо большое, работает! Но действительно интересует вопрос, как и Ивана: как изменить описание для категорий и разделов?

    Ответить
    1. Aeon
      2011/01/24 в 11:56

      Обратите внимание на пункт 3.
      Для решения этого вопроса необходимо сделать такие же изменения, но в файле default.xml

      Ответить
      1. Светлана
        2011/01/24 в 14:13

        Про default.xml я додумалась тоже, также вставляла п.3, но видимо, что-то намутила до этого, и у меня не получилось. (Я пыталась это все сделать так, чтобы при обновлении Joomla! изменения не затирались…)
        Сделала сейчас как Вы написали — все получилось и работает! Спасибо большое, а то уже думала MetaTags устанавливать.

        Еще раз спасибочки! :-) :-) :-)

        Ответить
  8. mike_optim
    2011/01/28 в 18:52

    Спасибо автору, удобная вещь! ;-)
    От себя хочу добавить, что также можно включить и для «Контактов» в Joomla 1.5.

    Единственное,

    а) в «components/com_contact/views/contact/tmpl/default.xml» из пункта 3 вставляем между тегами и ;

    б) в «components/com_contact/views/contact/view.html.php» из пункта 4 вставляем после «if (!$menu_params->get( ‘page_title’)) { $pparams->set(‘page_title’, $contact->name); }»
    :-)

    Ответить
  9. mike_optim
    2011/01/28 в 18:53

    ага, теги вырезались :lol:
    а) между тегами param и params

    Ответить
  10. KROG
    2011/04/09 в 22:02

    Спасибо за хак — но может быть Meta Tags, лучше. Пожалуйста подскажите начинающему — в чем разница.

    Ответить
  11. Марина
    2011/04/14 в 03:26

    Здраствуйте, уважаемый автор! Спасибо за хорошую статью.
    Я не сильна в програмировании, но сделать все по вашим предписаниям могу. Помогите понять каких настроек мне еще не хватает.
    Проблема такая: при проверки сайта на описания блогов категорий в теге дублируется тег , хотя все получилось и даже при прочтении исходного кода html-страницы блога категории я вижу именно то описание, которое задала для тега .
    И еще, сдесь упоминалось, про какую-то блокировку sh404SEF. Не могу понять, что это такое и как работает.
    Прошу помощи. Спасибо.

    Ответить
    1. Марина
      2011/04/14 в 03:31

      Исправление: (В теге description дублируется тег title.)

      Ответить
      1. Марина
        2011/04/14 в 04:13

        Ответ найден. В поле description нужно кодировать символы типа »
        При появлении такого некодированного символа Джумла автоматически берет описание из заглавия.
        Всем удачи!

        Ответить
  12. Евгения
    2011/05/12 в 04:26

    Столько раз все проверила но все равно выдает ошибку

    Fatal error: Call to a member function get() on a non-object in /home/*****/public_html/components/com_content/views/category/view.html.php on line 43

    Ответить
  13. Дмитрий
    2011/05/31 в 07:52

    Здравствуйте, проделал всё как описано, теги прописываются, но теперь на этой странице при нажатие на любую ссылку перенаправляет на: site.ru/component/content/section/50. Подскажите в чём может быть проблема?

    Ответить
    1. Дмитрий
      2011/06/02 в 12:15

      Проблема решилась, просто были изменены файлы в com_content к изначальным

      Ответить
  14. Роман
    2012/01/01 в 21:43

    А как быть при переносе сайта на версию 1.7 или 2.5? Где в базе хранятся данные этого хака?
    Будут ли предложены способы реализовать возможности хака на последующих версиях? (если это необходимо)

    Ответить
  15. olesyaf
    2012/03/26 в 12:11

    Добрый день! Я пытаюсь настроить Meta tags keywords и description в установленном компоненте на joomla 1,5. Все получилось, эти окошечки появились, написанное в них сохраняться, но если смотреть исходный код страницы, то там то что указано на главной странице, т.е они там не появляются. Не подскажите что можно сделать или в чем может быть причина? Я бы выслал код, но не знаю как его сюда вставить :oops:

    Ответить
  16. Кирилл
    2013/05/14 в 22:28

    Спасибо большое, все четко и грамотно расписано. По возможности(время) буду читать Ваш сайт!

    Ответить

Добавить комментарий

Specify GooglePlus Client ID and Secret in Super Socializer > Social Login section in admin panel for GooglePlus Login to work

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Имя *