Очередная component k2. Компонент K2 для Joomla - быть или не быть? Копируем файл с языковыми константами компонента K2

От автора: приветствую Вас уважаемые читатели. Как Вы знаете в CMS Joomla для создания материала предусмотрено определенное фиксированное количество полей, которые формируют его структуру и контент. К примеру, название, текст, изображение, привязка к категории и т.д. При этом добавить дополнительные элементы, в стандартном функционале возможности нет, без внесения правок в движек, конечно. Поэтому в данной статье мы с Вами рассмотрим расширение K2 Joomla, которое представляет собой конструктор контента, для выше указанной CMS.

Как уже говорилось стандартный компонент материалов com_content, хоть и выполняет свои задачи, но все же его функционал очень ограничен, в плане расширяемости. То есть мы не можем, используя админку Joomla добавить дополнительные поля к структуре материала, при этом, я уже не говорю о более сложных вещах, к примеру, о механизме добавления комментариев. Конечно зная API Joomla, можно расширить функционал компонента com_content, добавив необходимый код, но для новичков это достаточно сложная задача. Поэтому как правило для решения различных не стандартных задач используются сторонние расширения, которые добавляют недостающий функционал в CMS.

Но что делать, если к примеру нам необходимо добавить парочку дополнительных полей в стандартный материал – систему комментариев, а также возможность вставки видео непосредственно в контент материала. Ответ прост – установить необходимые расширения, а именно компонент комментариев (сейчас не важно какой) и плагин вставки видео контента. Но что касается добавления дополнительных полей – это уже проблема, так как порой очень сложно отыскать подходящее расширение. Поэтому в данном случае наиболее удачное решение – это использование конструктора контента (Content Construction Kit или CCK), который избавит Вас от необходимости устанавливать различные дополнительные расширения (в том числе и выше перечисленные).

Content Construction Kit или CCK – это система создания пользовательских типов контента. То есть – это специальное расширение в котором предусмотрены инструменты для создания и настройки различных типов контента. При этом, как правило, тип контента формируется путем создания необходимых полей. Соответственно количество полей, которые можно привязать к материалу не ограничивается. То есть разработчик самостоятельно, используя панель администратора создает необходимые поля и привязывает их к новому типу контента, которые в будущем будут использоваться для наполнения сайта содержимым.

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

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

1. Удобная панель управления компонента.

2. Собственный менеджер категорий, поддерживающий неограниченный уровень вложенности.

3. В компонент k2 джумла встроен удобный менеджер элементов (материалов) с стандартным набором полей, которые можно дополнить собственными при необходимости.

4. Интегрированная система комментирования с встроенной защитой от спама, система голосования, а также иконки социальных сетей.

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого роста с нуля в сайтостроении

5. Интегрированная система тегов (ключевых слов), которые Вы можете привязать к создаваемым элементам, по аналогии с CMS WordPress, что может быть полезно при создании блога.

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

7. Гибкая система настроек.

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

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

10. Добавление и редактирование материалов из пользовательской части сайта. При этом у пользователя должны быть соответствующие права.

Конечно, я перечислил только основные возможности компонента К2, на самом деле его возможности колоссальны и думаю Вы в этом сами убедитесь если будете использовать его в своих наработках. Более подробная работа с данным расширением рассмотрена в курсе . Всего Вам доброго и удачного кодирования!!!

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого роста с нуля в сайтостроении

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

Для начала, если вы используете компонент K2 и его отдельные шаблоны то желательно скопировать все содержимое шаблонов K2 в ваш шаблон Joomla. Таким образом при обновлении 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, при этом создавая любой внешний вид (хоть кнопка, хоть картинка, все что угодно и на ваше усмотрение).

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

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

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

Создание категории в K2

Заголовок - в этом поле указывается название категории

Псевдоним заголовка - для обозначения имени, показываемого в конце URL

Наследовать параметры от категории - выбрав категорию из списка, все её параметры будут унаследованы

Связанная группа доп. полей - здесь выбирается группа дополнительных полей, которая была создана в соответсвующем разделе

Уровень доступа - определить кому позволен доступ к редактируемой категории

Картинку можно загружать с компьютера (кнопка Обзор ) или найти на сервере (Обзор на сервере... ).

Справа располагаются параметры, которые относятся не только к категории, но и для прикрепленным к ней материалам.

Шаблон материалов категории

  • Выберите шаблон - если загружены шаблоны для K2, то можно выбрать их из списка

Способ отображения материалов на главной и в категориях

Материалы в K2 условно делятся на ведущие (те которые отображаются в самом верху страницы ), первичные (идут после ведущих ) и вторичные (располагаются после первичных ), также могут быть установлены ссылки на следующие материалы.

  • Количество основных материалов - указать число материалов, которые будут показаны самыми верхними
  • Колонки для ведущих материалов - количество колонок, на которые будут разделены материалы
  • Размер изображения для ведущих материалов - выбрать размер изображения из списка для основных материалов (точные размеры для каждого пункта устанавливаются ниже)

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

Другие варианты расположения

  • Режим каталога - если выбрать Нет, то будут отображаться материалы не только категории, но и подкатегорий
  • Избранные материалы - выбор показа материалов, отмеченных как избранные
  • Сортировка материалов - здесь выбирается порядок показа материалов на странице
  • Разбивка на страницы/Нумерация - требуется ли постраничная разбивка и нумерация

Опции отображения категории

Сначала выбираются пункты, которые будут/не будут отображаться при выводе категории (такие как заголовок, описание, картинка, ссылка на RSS).

Параметры изображения материала

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

Опции отображения материала в списке категории

Благодаря этим опциям можно точно настроить какие именно пункты, поля и иконки будут отображаться в списке категории (блоге материалов).

Все пункты интуитивно понятны, и по большей части знакомы из материалов Joomla

  • Включить плагины К2 - если установить Да, то будут задействованы плагины для блога материалов.

Опции отображения материала

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

Для удобства параметры разделены на подразделы: Социальный обмен, Настройки автора, Похожие материалы .

Мета-данные

Стандартные параметры для мета-тегов

Отображение категорий K2 на сайте

Для того, чтобы вывести категории K2 на сайте следует перейти в Менеджер меню и в нужном меню создать к нему новый пункт. Пункт меню должен иметь тип: К2 - Списки материалов - Категории. После указания заголовка, и других необходимых параметров, выбираются одна или несколько категорий для показа.

  • Если выбрана одна категория , то ниже выбирается лишь способ сортировки материалов.
  • Если выбраны несколько категорий , то ниже указываются опции, которые соответствуют параметрам в Шаблоне материалов категории . А также устанавливается показ ссылок на RSS рассылку.

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

Компонент К2 - очень интересное расширение для Joomla. Основная особенность компонента заключается в том, что он дает возможность Joomla использовать новые функции, которые по умолчанию недоступны для Joomla, но имеются в других подобных CMS таких как Drupal и Wordpress.

В первую очередь это возможность добавления материалов и статей на сайт пользователями сайта, а также создание новостных порталов, блогов, каталогов, введение дополнительных полей для каждой статьи, добавление видео на сайт с помощью плагина AllVideos , галереи изображений при помощи плагина Simple Image Gallery, встроенная система добавления комментариев с капчей от Google, модуль регистрации и авторизации, модуль автора, который позволяет выводить информацию об авторах, публикующих статьи, наличие архива, модуль категорий и тегов.

Все эти модули встроены в К2 и отсутствуют в Joomla по умолчанию. Работа с этим компонентом очень проста, так как редактор текста имеет те же параметры, что и Joomla, а использование категорий дает возможность выставлять настройки сразу для всех статей данной категории функцией "Унаследовать от категории". Кроме того, в каждом материале появляется возможность отображать социальные закладки, хиты просмотров, рейтинг голосов, навигацию.

На сегодняшний день компонент K2 обновился уже до версии 2.7.1. Этот релиз устраняет все известные ошибки, обнаруженные К2 сообществом после выхода предыдущих версий. Кроме того в эту версию внесены ещё и серьёзные изменения, касающиеся настроек отображения вашего контента и его редактирования с лицевой части сайта. В ближайшие время ожидается новая версия 2.7.0.

Как правильно обновить K2 до последней версии

Обновление К2 до последней версии (2.7.1)

Многих интересует вопрос, как правильно обновить компонент K2_v2.4.1 или другой версии до версии 2.7.1.

Обновить компонент к2 до последней версии, а именно до версии 2.6.5 совсем просто. Новая версия к2 устанавливается поверх предыдущих версий. (Не надо ничего удалять, просто устанавливаете новую версию и все будет работать). Но прежде чем обновляться, вы должны понимать, что если вы используете свой шаблон к2 предудущих версий, например, к2 2.5.7 и ранее, такой шаблон не совместим с новым к2.

Шаблон версии 2.6.2 совместим с версией 2.7.1 хотя немного отличается от предыдущей версии одним файлом (generic.php) путь к файлу components/com_k2

Скачайте zip архив K2 и перейдите к менеджеру расширений (Установить/Удалить) в админке Joomla и выберите, чтобы загрузить и установить zip-файл, который вы только что скачали (com_K2_v2.7.1.rus ). После этого компонент будет обновлен до последней версии или же просто используйте автоматическое обновление из админки Joomla.

Как и всегда, не забывайте вашего сайта, прежде чем обновлять К2 до последней версии, используйте для этого бесплатный компонент резервного копирования Akeeba .

Есть Вы используете свой, или изменённый шаблон, тогда начиная с версии 2.7.0 были изменения в шаблоне К2, так что будьте внимательны при (после) обновления вам придется корректировать шаблон.

Установка русификатора для К2 через админку Joomla

Если у Вас установлена английская версия К2, тогда, Вы можете его русифицировать, для русификации компонента, установите русификатор который k2_ru_language_pack.zip , русификатор устанавливается через менеджер расширений (Установить/Удалить) в админке Joomla, как и любые другие расширения для Joomla. После установки русификатора, компонент K2 на сайте и в админке будет полностью русифицирован.

Компонент K2 один из популярнейших компонентов для создания блогов, журналов, каталогов созданный компанией JoomlaWorks и завоевавшем в 2010 году статус "Лучшее расширение для Joomla"
Компонент K2 на сегодняшний день установлен на тысячах сайтов в виду своего удобства и широкого функционала, который не может в полной степени обеспечить базовый компонент материалов (com_content) идущий в составе дистрибутива Joomla.
Скачать компонент K2 для Joomla 1.5 и Joomla 1.7 вы можно на официальном сайте разработчика .
Если вам нужна помощь по компоненту по поищите на Joomlaforum
Если же перед вами стоит задача сделать шаблон для компонента K2 - то мой перевод руководства по созданию шаблона компонента K2 к вашим услугам

Мультикатегории в K2

Опубликовано 23.11.2012 15:15 Автор: Сергей Вячеславович Давно искал способ для того чтобы присвоить одному материалу в K2 несколько категорий, да и чтоб при этом работа сайта не пострадала. Кажется нашел, мир не без добрых разработчиков.

Новая версия K2 и новые типы полей

Опубликовано 22.11.2012 21:21 Автор: Сергей Вячеславович K2 развивается и становится все более похожим на настоящую CCK для Joomla. На этой неделе разработчики - команда JoomlaWorks снова представила новую версию K2 - версию 2.6.2.

Новая версия компонента K2 теперь для Joomla3

Опубликовано 12.10.2012 07:56

Выход новой версии Joomla 3 стимулировал многих разработчиков к переписыванию компонентов для полной совместимости с новой версией Joomla, команда JoomlaWorks с компонентом K2 не отстает и от остальных.

Новая версия K2 - теперь с интеграцией Community Builder

Опубликовано 19.02.2012 11:42 Автор: Сергей Вячеславович
Новая версия K2.5.5, по словам разработчиков, выйдет в ближайшую неделю. Она продолжит серию улучшений этого компонента, а также обеспечит совместимость с новой Joomla 2.5.
UPDATE. K2 версия 2.5.5 для Joomla 1.5 и Joomla 2.5 вышла 7 марта 2012 года и доступна к загрузке.
Внимание Некоторые вебмастера сообщают об ошибках в новом релизе. Будьте осторожнее - делайте бэкапы перед обновлением.