Протянут component k2. Компонент K2 для Joomla - быть или не быть? Анализ кала на копрограмму

K2 - мощный конструктор контента для Joomla, призванный полностью заменить стандартный компонент com_content и имеющий мощный функционал, не сложный в освоении благодаря отличному интерфейсу.

Описание компонента K2

Конструктор контента K2 был создан командой разработчиков JoomlaWorks в качестве полной замены стандартного компонента контента Joomla и, на текущий момент, у компонента есть все для того, что бы можно было безболезненно отказаться от этого стандартного функционала.

Установка расширения осуществляется стандартно, как и любое другое расширение для Joomla! - через Менеджер расширений . Компонент поддерживает полный импорт материалов из Joomla , и вы мгновенно получите массу новых возможностей для вашего существующего контента.

  • формы для элементов,
  • изображения,
  • видео,
  • подкасты,
  • галереи изображений,
  • галереи вложений,
  • многое другое.

Компонент K2 является идеальным решением для управления содержанием, независимо от объема сайта: вы можете использовать его как для небольшого блога, так и для сложного корпоративного сайта или даже новостного портала (авторы контента, рубрики, журналы, авторские колонки и пр.). С помощью данного расширения можно достаточно легко создать каталоги продукции, портфолио, базы знаний, файловый менеджер для скачивания вложений, список каталогов, список событий и многое другое - все это в стандартном комплекте компонента.

K2 является расширяемым компонентом: вы можете легко создавать специфические для вашего сайта типы контента.

Принципы функционирования K2

В работе компонента четко выделяются 4 основных принципа:

  • многофункциональность,
  • простота использования,
  • гибкая система шаблонизации,
  • оптимизированная производительность.

Исходя из вышеописанного не удивительно, что K2 - один из крупнейших и самых популярных в мире CCK для сайтов на CMS Joomla .

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

Расширение распространяется бесплатно по стандартной лицензии GNU/GPL . Скачать K2 можно с сайта разработчика.

Русификация K2

Наша команда обратила внимание на сложности, возникающие с установкой русского языка для данного компонента. Немного расскажем о специфике этих сложностей и о том, как их решить.

Итак, официальные языковые пакеты можно найти на этой странице. И уже на данном этапе возникает сложность выбора, т. к. к скачиванию предлагается целых 4 русификатора для K2:

  • Russian
  • Russian Petrine orthography
  • Russian (Russia)
  • Russian (Ukraine)

Ваш выбор должен пасть на Russian (Russia) .

При использовании CCK компонента K2, иногда бывает необходимость в использовании дополнительных полей. По умолчанию в компоненте K2 используется вывод всех дополнительных полей в одном месте, что очень не красиво и не удобно. Данная статья написана чтобы решить проблему с размещением дополнительных полей K2 в разных местах шаблона.

Для начала, если вы используете компонент K2 и его отдельные шаблоны то желательно скопировать все содержимое шаблонов K2 в ваш шаблон . Таким образом при обновлении K2 вы не потеряете свои новые дополнительные поля и все изменения которые внесли в файлы шаблона K2.

Шаг 1: Вывод дополнительных полей в разных местах шаблона материала K2

Итак, открываем папку: /components/com_k2/templates/

и копируем ее содержимое в папку с вашим шаблоном (предварительно создав папки com_k2/templates/): /templates/название_шаблона/html/com_k2/templates/

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

  • /templates/название_шаблона/html/com_k2/templates/default/
  • /templates/название_шаблона/html/com_k2/templates/novosti/
  • /templates/название_шаблона/html/com_k2/templates/faq/

После этого необходимо создать группу полей и сами поля, после чего присвоить их к нужной категории:

и в 12 строчке после:

вставляем данный код:

// дополнительные поля материала K2 $extrafields = array(); foreach($this->item->extra_fields as $item) { $extrafields[$item->id] = $item->value; }

После этого нам необходимо удалить существующий вывод всех дополнительных полей. Для этого в этом же файле удалите все с 250 по 266 строки. А именно:

item->params->get("itemExtraFields") && count($this->item->extra_fields)): ?>

    item->extra_fields as $key=>$extraField): ?> value): ?>
  • typetype); ?> groupgroup; ?>"> name; ?>: value; ?>

Далее нам нужно вывести одно какое нибудь дополнительное поле в материале, например это будет поле которое имеет уникальный ID - 2 (узнать ID поля можно в административной панели K2, во вкладке Доп. поля). Для этого, в этом же файле item.php ищем подходящую позицию для размещения дополнительного поля (в нашем случае в самом верху материала, под логином пользователя) и вставляем следующий код:

где это ID дополнительного поля.

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

Далее нам необходимо добавить стиль оформления для дополнительного поля K2. Вы же хотите чтобы ваши доп.поля в K2 выглядили привлекательно? Для этого достаточно просто обрамить наш код DIV"ом или любым другим элементом по желанию и добавить к нему CSS класс для создания уникального стиля нашему дополнительному полю. Например сделаем так:

Вы думайте на этом все? НЕТ! Если вдруг вы уберете информацию в материале из дополнительного поля K2, то вы увидите такую неприятную картину:

После если мы обновим страницу сайта, то на странице материала, стиль поля исчезнет:

Если мы вновь введем информацию в поле «Демо», то наша кнопка (точнее поле) снова будет отображатся на сайте:

В примере выше, мы использовали 2 поля (Демо и Скачать), которые были установлены в разных местах шаблона и имели совершенно разные CSS стили оформления. Поле «Демо» содержащее идентификатор ID 1, была добавлена вверх страницы, а поле «Скачать» с идентификатором ID 2 было добавлено ниже вывода полного текста статьи и отцентровано по центру материала с использованием CSS стилей.

Вы можете использовать неограниченное количество дополнительных полей компонента K2 и расставлять их в разных местах шаблона и применять к ним различные эффекты и стили оформления. Незабывайте только указывать корректный идентификатор (ID) дополнительного поля!

Вот на этом вывод дополнительных полей K2 в разных местах шаблона завершен.

Шаг 2: Вывод дополнительных полей в разных местах категории материалов K2

Если вы также хотите вывести дополнительные поля в самой категории компонента K2, при этом используя разные места вывода, то вам необходимо открыть файл category_item.php в папке с шаблоном K2. После перейдите к 12 строке, и после:

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

Вставьте следующий код:

// дополнительные поля категории K2 $extrafields = array(); if($this->item->params->get("catItemExtraFields") && count($this->item->extra_fields)) foreach($this->item->extra_fields as $item) { $extrafields[$item->id] = $item->value; }

Далее вам необходимо удалить стандартный вывод дополнительных полей в категории K2. Для этого в этом же файле category_item.php перейдите к 129 строке (нумерация может отличатся из-за внесения кода выше) и удалите все что связано с дополнительными полями (от 129 до 145 строки), а именно:

item->params->get("catItemExtraFields") && count($this->item->extra_fields)): ?>

    item->extra_fields as $key=>$extraField): ?> value): ?>
  • typetype); ?> groupgroup; ?>"> name; ?> value; ?>

Данный код выведет оба наших поля (c ID 1 и ID 2) в том месте где мы установили код (в данном случае мы установили код после вывода вступительного текста статьи K2 в категории материалов). Обратите внимание на то что к классу нашей кнопки мы добавили преффикс cat_, чтобы CSS стиль не смешался со стилем кнопок (полей) материалов K2:

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

Данное решение предназначено для Joomla 1.5 и 2.5 с использованием компонента K2 v2.5.4. В более ранних версиях компонента, может быть несоответствие строк.

Эта статья является единственным простым и гибким решением для вывода дополнительных полей в материалах и категориях K2.

В этом уроке будет рассмотрена работа с тэгами в компоненте K2 . И первый вопрос, который может возникнуть у читателя, незнакомого с этим понятием, что это такое и зачем это собственно нужно? А нужно это вот для чего. Рассмотрим такую ситуацию:

Предположим у вас на сайте есть некий материал, зайдя на страничку которого, пользователь заинтересуется данной тематикой. Дальнейшие действия читателя? Он может конечно зайти опять в поисковик и сделать вопрос по интересующей его информации там. Конечно, такой вариант нежелателен, но вполне возможен. Но ведь пользователь может пойти и другим путем и попробовать поискать статьи на вашем сайте. Но опять же, он может либо найти похожие статьи, либо не найти их, последний вариант вполне возможен, особенно если у сайта огромная структура, в которой легко потеряться. Итак, что мы имеем? В первом случаем посетителя мы потеряем, во втором, есть такая вероятность что потеряем. И это для нас нежелательно.

Создание категорий, материалов и их привязка к меню в компоненте K2. Урок 2

Создание категорий.

В компоненте K 2 можно создать неограниченное количество категорий любой вложенности. Рассмотрим это на примере. Допустим, у нас есть сайт, который представляет некую компанию, которая занимается торговлей недвижимости. И чтобы не запутаться в том обилии квартир и домов, было бы очень удобно создать некую структуру, нечто вроде каталога, в котором удобно ориентироваться. Ведь такой объект как квартира или дом, может принадлежать к тому или иному городу, улице или району. Значит, хорошо бы создать такую структуру, как:

Квартиры

Дома, коттеджи

Компонент K2. Установка и руссификация. Урок 1.

В сегодняшнем уроке мы будем рассматривать установку и руссификацию компонента K 2, который значительно расширяет возможности Joomla , превращая ее в более гибкое средство для управления контентом. Дело в том, что изначально в Джумле не было предусмотрено таких необходимых элементов как дополнительные поля, меток и неограниченной вложенности категории. Впрочем последний пункт актуален только для Joomla 1.5. В более поздних версиях уже упразднили понятие раздела, и стало возможным создавать категории неограниченной вложенности, что очень удобно. Остальные же пункты остались нереализованными и в более поздних версиях.

Как и я, вы наверное много раз сталкивались с компонентом K2 или слышали о нём. Если вы ещё не знаете о нем, то обязательно должны полюбопытствовать, ведь не зря он был признан компонентом года в 2010 году. Хотите узнать больше? Или просто поинтересоваться о его возможностях? - Читайте статью, в которой пройдет Знакомство с компонентом K2 .

Что же такое K2?

Компонент K2 - это конструктор контента на вашем сайте. То есть с помощью него можно изменить стандартную структуру отображения текстовых блоков и превратить ваш сайт в новостной, игровой и другие порталы, каталог файлов и материалов, портфолио работ и даже интернет-магазин.

После изменений внешняя структура Joomla преобразится до неузнаваемости и будет схожа со структурой таких CMS, как Wordpress или Drupal .

Основные возможности компонента K2

Структура компонента K2

После установки компонента (так же как любого расширения), K2 добавляет свои иконки быстрого доступа на главную панель управления.

Кроме иконок на панели управления, компонент K2 располагается в верхнем меню админки: Компоненты - K2 , где находятся 10 разделов:

  • Items (материалы) - аналогичны материалам Joomla
  • Categories (категории) - аналогичны разделам/категориям Joomla
  • Tags (теги) - список тегов, закрепленных за статьями
  • Comments (комментари) - комментарии, оставленные посетителями
  • Users (пользователи) - зарегистрированные пользователи
  • User Groups (группы пользователей) - список созданных групп
  • Extra Fields (дополнительные поля) - поля для привязки к статье
  • Extra Field Groups (группы для дополнительных полей) - привязываются к категории
  • Media Manager (медиа-менеджер) - управление загруженными файлами
  • Information (информация) - общая информация о компоненте, модулях и др.

Применение компонента K2

Компонент в сочетании с модулями можно найти в популярных готовых шаблонах (IceTheme, JoomlArt, RocketTheme, YouJoomla и др.). K2 получил более широкое распространение на зарубежных сайтах, чем в рунете.

Если Вы планируете создать свой блог на Joomla - попробуйте установить себе компонент K2. Разобравшись в нем один раз, в будущем без труда можно добавлять изображения, галерею, видео и вложения к статье всего за пару кликов!

В случае, если у Вас уже есть свой блог, импортируйте материалы Joomla в компонент и начинайте эксперименты. Или просто изучите статьи о создании материалов , категорий и настройке компонента K2.

1 Копируем файл с языковыми константами компонента K2

Сначала создадим файл с языковыми константами компонента K2 для нужного языка. Для этого скопируем файл с сервера из директории /language/en-GB/en-GB.com_k2.ini в директорию с нужным языком и переименуем его. Например, для русской локализации создадим на сервере файл: /language/ru-RU/ru-RU.com_k2.ini .

2 Установка языка по умолчанию на сайте Joomla

Теперь в панели управления зададим язык для сайта - русский: Менеджер языков Языковые пакеты сайта По умолчанию и ставим галочку напротив русского языка.


3 Правка файла ru-RU.com_k2.ini в блокноте

Далее можно поступить так: скачать с сервера файл ru-RU.com_k2.ini , открыть его в блокноте и изменить значения языковых констант в файле, т.е. перевести их с английского на русский язык. Затем сохраняем отредактированный файл и закачиваем его обратно на сервер, заменив исходный файл "ru-RU.com_k2.ini".


4 Переопределение языковых констант в панели управления Joomla

Можно поступить по-другому и переопределить нужные фразы прямо из админки Joomla. Для этого тут же, в менеджере языков, переходим в раздел Переопределение констант (1). Выбираем язык и область действия (сайт или панель управления), для чего выбираем в фильтре Russian - Сайт (2). А затем, чтобы создать новое переопределение языковой константы, нажимаем кнопку Создать (3).


5 Создание нового переопределения языковой константы в Joomla

Откроется окно переопределения языковой константы. В поле Найти введите на английском языке называние константы или фразы, которую хотите перевести. Выберите в выпадающем списке Значение (чтобы найти слово или фразу в текстах констант) или Константа (искать в названии констант) (1). Нажмите кнопку Найти , появится список найденных констант. Найдите в нём интересующую константу (2).

Для компонента K2 константы обычно имеют в названии префикс К2_ .

Выберете эту константу из списка, и её значение появится в левом поле (3). Переводим её значение в поле Текст и сохраняем.


Переопределённая константа появилась в списке. Аналогичные действия необходимо повторить для всех языковых констант, текст для которых должен быть локализован.


Метод переопределения языковых констант также применим и к обычным статьям Joomla, а не только к статьям, созданным с помощью компонента K2.