Joomla keywords - description блогу категории, блогу раздела

Автор vladimir1983, 28-05-2011, 04:30:02

« назад - далее »

vladimir1983Topic starter

Есть сайт на джумла, структура сайта изначально была сделана крайне простой, каждая статья была самостоятельной, вывод контента был только в настройке "самостоятельная статья".
Потребовалось мне создать серию статей на похожую тему, решил сделать серию выводом контента в настроке блога категории, и какого же было моё удивление когда я узнал что блоку категории нельзя задать свои ключевые слова, своё описание.
Порывшись в нете мои опасения подтвердились... Вменяемого решения этой проблемы нет, в большинстве предлагается юзать sef компоненты которые позволяют задать кеи и дискрипшен блоку категории статей, но нафиг мне надо 30 и более запросов на индексе от всех этих тяжеловесных sef компонентов...
В общем порывшись, подумав, и снова порывшись... решение таки было найдено.  Небольшой хак который позволяет прописать своё описание и ключевики блоку категории статей.
keywords - description блог категории
Открыть:
/components/com_content/views/category/tmpl/blog.xml
Найти:

</param>
</advanced>

Найти в найденном:

</param>

Добавить после:
<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" />


Открыть:
/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'));
}

Ну вот и всё... Эта модификация добавляет поля "Описание" и "Ключевые слова" в меню настройки "Дополнительные параметры" в случае когда созданному пункту меню присваивается тип "Блок категории".
=================
У меня в скором времени планируется несколько блоков категорий одного раздела, и вывести в будущем я их планирую настройкой вывода контента блог раздела.
Но тут опять нельзя задать свои ключевики и описание блогу раздела... "Чиним" далее...

keywords - description блог раздела
Открыть:
/components/com_content/views/section/tmpl/blog.xmll
Найти:
</param>
</advanced>

Найти в найденном:
</param>
добавить после:
<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" />


Открыть:
/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'));
}

Всё...
В принципе хак универсален, кто понял, тот сможет его применить более широко).


svitok

 Спасибо большое Владимиру.   Моя ему радостная улыбка. :D Всё работает.  Не поняла где на форуме поставить вам плюс. Поставила твиты и прочие закладки социальные внизу страницы. Спасибо!
  •  


vitosstos

Вот она оказываеться, где собака эта зарыта! Благодарноствую.
[spoiler][/spoiler]
  •  

kulman

А после аптейта джумлы, не надо переделывать все заново?
А то поменял в шаблоне вывод заголовков с н3 на жирный, и после каждого апдейта джумла возвращает снова н3.