Совсем недавно начал использовать компонент K2 для Joomla. Компонент в принципе неплохой, но в нем есть небольшая недоработка. Дело в том, что при создании категории нет возможности добавить свое метаописание к категории K2. То есть все категории на сайте были с мета тегами description и keywords с главной страницы, что не есть хорошо для SEO.

Метаописания категории K2

И тут я начал копать. В Рунете я ответа не нашел. Пошел в буржунет. Копал, копал и, знаете ли, накопал. На одном профильном форуме K2 я нашел выход из этой ситуации. Нужно сделать пару небольших изменений в базе данных MySQL и системных файлов K2. Итак, начнем.

Идем в панельку phpMyAdmin нашей базы данных MySQL и ищем там таблицу jos_k2_categories. Переходим на вкладку SQL и делаем два запроса.

SQL запрос к таблице категории K2

Раз:

ALTER TABLE `jos_k2_categories` ADD `metadesc` text NOT NULL

И два:

ALTER TABLE `jos_k2_categories` ADD `metakey` text NOT NULL

Потом подключаемся по FTP и находим и редактируем файл, который находится здесь -administrator/components/com_k2/tables/k2category.php. В этом файле нам надо добавить всего 3 строки после строки 28:

var $metakey = null;
var $metadesc = null;
var $metadata = null;

Получиться у нас следующее:

Добавление строчек кода в файл k2category

Теперь переходим к редактированию следующего файла, который находится здесь components/com_k2/templates/default/category.php. Меняем код:

// no direct access
defined('_JEXEC') or die('Restricted access');

Вот на этот код:

// no direct access
defined('_JEXEC') or die('Restricted access');
/* Add AtLeast AutoMetadata - Hack */
$mainframe->prependMetaTag( "keywords", substr(strip_tags($this->category->metakey ), 0, 255) );
$mainframe->prependMetaTag( "description", substr(strip_tags($this->category->metadesc ), 0, 255) );

Вот что было:

Прежний код

Вот что должно получиться:

Полученный код

После всего этого приступаем к редактированию последнего файла - administrator/components/com_k2/views/category/tmpl/default.php. Чтобы не засовывать в пост огромный код, я просто создал два txt файла, чтобы показать вам. Вот файл по-умолчанию, а вот что должно получиться. Просто скопируйте код из этого файла и вставьте сюда administrator/components/com_k2/views/category/tmpl/default.php.

После всех вышеперечисленных манипуляций появилась возможность добавлять метаописания description и keywords к категории K2 прямо из админки при редактировании категории.

Редактирование метаописание категории K2 в админке

Вуаля! После проделанной работы не забываем во всех категориях K2 прописать метаописания.

Всем мир!