Практические решения

Добавляем мета-данные и title к категориям ZOO

Joomla

"dobavlaem-meta-dannye-i-title-k-kategoriyam-zoo

Итак, вы используете Joomla CCK компонент ZOO для реализации различных прикладных задач на Joomla и хотите сделать SEO настройки гибкими? Необходима модификация компонента малой кровью, дабы имелась возможность назначать категориям ZOO теги <meta-keywords>, <meta-description>, команду для robots и, безусловно, самый важный элемент - <title> страницы. Например:

Фитинги латунные (название категории), но Фитинги для труб, фитинги обжимные, фитинги латунные - любая запорная трубопроводная арматура - <title> страницы.

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

Добавляем meta-данные и title в категориях компонента ZOO

Шаг первый. Объявление переменных приложению ZOO.

Прежде всего нужно определиться для какого типа приложения ZOO нужно внедрить данную модификацию. Например, если вы используете бесплатную версию, то для модификации доступы приложения blog и page. Если вы счастливый обладатель платной версии (которая стоит не много ни мало 100€), то можно выбрать другой используемый тип, например, product.

Открываем файл: media/zoo/applications/ APL / application.xml: (где APL - приложение ZOO (blog, business, cookbook, documentation, download, movie, product).

находим строку <params group="category-content"> и перед её закрытием - </params> добавляем 4 строки:

<param name="meta_description" type="textarea" label="Meta description" description="Set a Meta description for this category." />
 <param name="meta_keywords" type="text" label="Meta Keywords" description="Set a Meta Keywords for this category." />
 <param name="meta_robots" type="text" label="Meta robots" description="Set a Meta robots for this category." />
 <param name="meta_title" type="text" label="Meta title" description="Set a Meta title for this category." /><code class="php plain">

Получается следующий код:

<params group="application-content"><param name="title" type="text" label="Title" description="Set a frontpage title." />
 <param name="image" type="zooimage" label="Image" description="Choose a frontpage image." />
 <param name="categories_title" type="text" label="Categories Title" description="Set a title above the displayed sub categories." />
 <param name="items_title" type="text" label="Items Title" description="Set a title above the displayed items." />
 </params>
 <params group="category-content"><br /> <param name="teaser_description" type="textarea" label="Teaser Description" description="Set a teaser description for this category. It will be displayed in the parent category." />
 <param name="teaser_image" type="zooimage" label="Teaser Image" description="Choose a teaser image for this category. It will be displayed in the parent category." />
 <param name="image" type="zooimage" label="Image" description="Choose a category image." />
 <param name="categories_title" type="text" label="Categories Title" description="Set a title above the categories." />
 <param name="items_title" type="text" label="Items Title" description="Set a title above the items." />
 <param name="meta_description" type="textarea" label="Meta description" description="Set a Meta description for this category." />
 <param name="meta_keywords" type="text" label="Meta Keywords" description="Set a Meta Keywords for this category." />
 <param name="meta_robots" type="text" label="Meta robots" description="Set a Meta robots for this category." />
 <param name="meta_title" type="text" label="Meta title" description="Set a Meta title for this category." />
 </params>

Теперь можно изменять новые параметры при редактировании категории ZOO.

Шаг второй. Модификация шаблона ZOO.

Итак, путём модификации xml файла мы добавили возможность редактировать дополнительные параметры через админ.панель системы. Теперь же нужно эти параметры выводить в фронтальной части сайта, на страницах категорий ZOO. Добавим также проверку на заполненность параметра title, чтобы во фронтальной части не выводить пустой тег. В случае, если в настройках категории параметр title пуст, система будет выводить название категории.

Открываем файл: media/zoo/applications/APL/templates/TMPL/category.php: (где APL - приложение ZOO (blog, business, cookbook, documentation, download, movie, product), а где TMPL - используемый шаблон расширения, по умолчанию это default)

в самом начале между двумя строками 12-14:


defined('_JEXEC') or die('Restricted access');
// include assets css/js

вставляем следующий код:


// no direct access
defined('_JEXEC') or die('Restricted access');
$document =& JFactory::getDocument();
if($this->category->getParams()->get('content.meta_title')) {$this->app->document->setTitle($this->category->getParams()->get('content.meta_title'));}
$document->setMetadata('title', $this->category->getParams()->get('content.meta_title'));
$document->setMetadata('keywords', $this->category->getParams()->get('content.meta_keywords'));
$document->setDescription($this->category->getParams()->get('content.meta_description'));
$document->setMetadata('robots', $this->category->getParams()->get('content.meta_robots'));
// include assets css/js

Теперь вы можете гибко управлять мета-данными, <title> тегом и заняться полноценным продвижением сайта на Joomla, построенного на компоненте ZOO. Пример модификации можно посмотреть здесь.

Предупреждение: перед внесением модификации рекомендуется сделать резервные копии файлов. Также следует помнить, что при обновлении расширения ZOO на более свежую версию, внесённые изменения могут затереться и потребуется их повторное внедрение.

Протестировано на следующей конфигурации:

  • Joomla 1.6.4
  • ZOO 2.4.6
Eugene Sivokon
Предприниматель, менеджер проектов, Joomla-энтузиаст. Занимаюсь созданием сайтов с 2002 года. Координатор нескольких Joomla проектов. Обожаю путешествовать, интересуюсь историей и изучаю иностранные языки.
timeweb

Заработок в сети

  • Sape - биржа ссылок