Матье component k2. Компонент k2 или отличная замена стандартному компоненту статей в Joomla. И напоследок ознакомительное видео о компоненте К2

Компонент K2 v.2.6.8 | Joomla 2.5/3.x

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

K2 является идеальным решением для управления содержанием, независимо от "размера" вашего сайта: Вы можете использовать его начиная от небольшого блога заканчивая сложным корпоративным сайтом или даже с мульти-авторской средой (порталы, журналы и т.д.). Фактически, K2 был построен на 4 принципах: поддержка многофункционального содержания, простота использования, гибкость шаблонов и производительность.

После установки расширения K2 в Joomla! станут доступны новые функции, которые доступны в других, подобного рода, CMS, таких как Drupal и Wordpress. В новой версии компонента K2 2.6.8 устранены все известные ошибки, а также сделаны серьезные изменения, касающиеся настроек отображения контента и его редактирования с фронтальной части сайта.

Вот основные и важные характеристики K2 v.2.6.8:

  • Высокая степень совместимости с Joomla 2.5 и Joomla 3.x
  • Полностью бесплатный!
  • Большая аудитория среди веб-студий по разработке готовых стильных шаблонов Joomla!
  • Наличие множества дополнительных полей и форм
  • Наличие иконок в админ-панели для быстрого доступа
  • Простая и удобная установка

Компонент К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 на сайте и в админке будет полностью русифицирован.

Бесплатный компонент К2 поможет сделать записи более интересными и информативными. Подробно расскажу для начинающих блогеров как установить и русифицировать K2 на Joomla .

Установка К2

Компонент К2 устанавливается с официального сайта http://getk2.org/ . Вот так выглядит главная страница сайта. Скачиваем приложение себе на компьютер, нажав на кнопку “Скачать К2”. Познакомиться с возможностями К2 можно на демо-сайте разработчиков JoomlaWorks. В каждый материал можно включить фотогалерею, настроить вывод дополнительных полей. Дополнительные поля -это вывод значимой информации рядом с изображением. Особенно это пригодится интернет-магазинам, агентствам недвижимости или сайтам-каталогам. Для загрузки К2 на свой сайт зайдем в “Расширения”- “Менеджер расширений” “Установка” – “Загрузить файл пакета”. Выбираем файл на компьютере и устанавливаем на сайт.

Русификация К2

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

Во вкладке “Инфо” дан список всех имеющихся плагинов и модулей К2. Еще можно узнать нужную версию веб-сервера, PHP, MySQL, выстановленные права на папки, и другую полезную информацию. Обратите внимание на лимит загрузки. Иногда пользователи загружают архивы или фото большего размера и не могут понять, почему выдается ошибка. Большие файлы надо загружать прямо на хостинг.

Дополнительные плагины К2

В комплект К2 не включены плагины галереи и видео. Их нужно скачать отдельно на этом же сайте. Или открываем “Менеджер расширений” – “Установка из JED”, вбиваем в поиск AllVideos и скачиваем плагин. Плагин галереи Simple Image Gallery PRO платный. На один из сайтов я купила шаблон с предустановленным компонентом К2 и платным плагином галереи. На другой сайт установлю бесплатную галерею от этого же разработчика Simple Image Gallery. Галерею таким же образом устанавливаем из интернета. Не забудем включить плагины в “Менеджере плагинов”. Я проверю, как работает K2 и можно ли обойтись без платного плагина. О результатах обязательно напишу.

Удаляем предустановленные картинки

Первым делом, я избавилась от предустановленных картинок в K2. Они не уникальны и не понадобятся. Откройте “Медио менеджер”, и пройдитесь по папкам. Лишние картинки выделяем и удаляем. Я удалила все. Мы немного освободили место на хостинге. Как не переплачивать и получить все возможности современного хостинга за минимальные деньги напишу в следующей статье.

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) .

Для начала - если Вы используете компонент K2 и его отдельные шаблоны, то нужно скопировать всё содержимое шаблона K2 в Ваш шаблон Joomla. Таким образом, при обновлении K2 (особенно это касается J2.5 и выше) Вы не потеряете свои изменения, которые Вы произвели в файлах шаблона K2.

Создаём копию шаблона K2

Открываем папку: /components/com_k2/templates / и копируем ее содержимое в папку с вашим шаблоном (предварительно создав папки com_k2/templates / ): /templates/имя_вашего_Joomlaшаблона/html/com_k2/templates /
Если Вы будете использовать разделение доп.полей не везде, то весьма полезным будет создание отдельного шаблона для этих целей. К примеру, часть статей мы будем выводить так, как они и выводятся в К2 по умолчанию (пусть шаблон так и называется default ), а наш модернизированный шаблон банально обзовём new . Чтобы было более понятно - смотрим дерево на картинке (будьте внимательны - по поводу имени файла CSS-стиля в данной папке мы пожуём ниже). В нашем примере мы используем шаблон от компании Yootheme - Nano3 .

Содержимое папки default полностью копируем в папку new . Именно в папке new мы и буедм производить все дальнейшие манипуляции.

Так как К2 по умолчанию "тянет" стили из "родной" папки компонента (/components/com_k2/css/k2.css ), решим проблему следующим образом:

Предоставляя базовое переопределение для item.php , мы делаем рестайлинг названия и удаляем стиль font-family по умолчанию, созданный K2, а вместо этого наследуем его из шаблона. В этом случае, вы должны увидеть изменение название стиля.

Как это расширить?

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

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

Настройка стилей

В item.php мы предоставляем ссылку на импорт, чтобы загрузить файл CSS - k2.css . Вы можете скопировать все CSS из файла стилей компонента K2 - k2.css и поместить его здесь. Я предпочитаю переопределять только то, что требуется. В k2.css мы предоставляем ссылки на 3 дополнительных CSS просто разбитых на типографику, расположение и цвета, вы не должны использовать их, если вы не хотите, я разделил их, по просьбе продвинутых клиентов.

Здесь подразумевается, что с К2 вы уже работали, а значит, создали группу дополнительных полей, а в ней - хотя бы два самих поля. Затем нужно присвоить эту группу допполей нашей категории, которой мы назначили шаблон new. Создаём тестовый материал, открываем его и делаем запись в дополнительных полях (в нашем примере это банальные «Демо» и «Скачать»):

Теперь разберёмся c содержимым папки нашего К2-шаблона.

category.php файл, отвечающий за вывод списка категорий
category_item.php файл, отвечающий за вывод материалов при открытии непосредственно категории в режиме блога
item.php файл, отвечающий за вывод материала в развёрнутом (полном) виде
item_comments_form.php файл вывода формы комментариев после материала
itemform.php файл вывода формы добавления материала
latest.php файл вывода списка последних материалов
latest_item.php файл вывода материала в списке последних материалов
new_style.css файл стилей данного шаблона (в нашем примере имя шаблона - new)
tag.php файл вывода списка материалов по тэгу
user.php файл вывода страницы автора

Для примера будем ковырять файл, отвечающий за вывод материалов в режиме блога - а именно category_item.php . Сделаем так, чтобы при просмотре списка материалов пользователь видел только Демо , а уже при просмотре развёрнутого материала появлялось бы ещё и поле Скачать .
Хочу обратить Ваше внимание, что за просмотр развёрнутого материала отвечает уже другой файл, а именно - item.php , и в нашем примере для достижения желаемого результата нужно будет подправить только первый файл, category_item.php .

Разделяем дополнительные поля

Открываем файл /templates/название_шаблона/html/com_k2/templates/new/category_item.php и после строки:

Defined("_JEXEC") or die("Restricted access");

(это практически в самом начале файла) вставляем следующий код:

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

После этого нам необходимо удалить существующий вывод всех дополнительных полей. Ищем в районе 136-й строки код (от версии к версии номера строк могут меняться - для этого у Вас должна быть голова на плечах и более-менее прямые руки) и удаляем его:

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

    item-> extra_fields as $key=> $extraField): ?> value ! = "" ): ?>
  • type type); ?> group group; ?>"> type == "header" ): ?>

    name; ?>

    name; ?> value; ?>

Далее нам нужно вывести одно дополнительное поле внизу intro -текста материала, это будет поле Демо , которое имеет уникальный ID - 1 (узнать ID поля можно в административной панели K2, во вкладке Доп. поля):

Затем в этом же файле category_item.php ищем подходящую позицию для размещения дополнительного поля (в нашем случае это будет в самом верху материала, под Автором) и вставляем следующий код:

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

НЕМАЛОВАЖНОЕ ЗАМЕЧАНИЕ: в настоящее время можно использовать алиасы доп. полей вместо id, что существенно упростит навигацию в файлах К2-шаблона:

$this->item->extraFields->АЛИАС->name $this->item->extraFields->АЛИАС->value

Таким образом, счастливые обладатели К2, начиная с версии 2.6.1, могут наслаждаться ещё и тем, что теперь возможен вывод названия (name) и значения (value) любого дополнительного поля в любом месте шаблона! Ну, а мы, так сказать, для простоты, поработаем пока "по старинке".
И ещё одно замечание. Как Вы уже могли заметить, у нас вывелось только значение дополнительного поля, имя поля в нашем случае не было необходимо, и мы его упустили. Если же Вы хотите вывести и название поля, и его значение - нужно несколько видоизменить код, который мы добавляли в начале (помните, после строки запрета прямого доступа к файлу):

// дополнительные поля материала K2 $extrafields = array(); foreach($this->item->extra_fields as $item) { // добавлением следующей строки мы определяем переменную, содержащую имя допполя, а в следующей - его значение: $extrafieldsname[$item->id] = $item->name; $extrafields[$item->id] = $item->value; }

Индивидуальное оформление каждого поля

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

После этого открываем CSS файл компонента K2 (это наш файлик new_style.css) и создаем стиль оформления. Здесь уже делайте оформление как душе угодно. Например, вот так:

Demo { background: url ("../images/red-button.png"); width: 60px; height: 20px; margin: 8px 0 7px 5px; }

Но я использовал уже готовые стили шаблон и просто прописал class="uk-button uk-button-success", плюс добавил своих для позиционирования:

.demo { display: flex; } .demo_button { margin: 1% auto; } .demo_button a { color: #fff; }

Результат получим такой:

Усложняем задачу

В "штатном" режиме дополнительные поля К2 выводятся циклом, мы же в предыдущем примере убрали цикл и вывели поля индивидуально. Но не запаримся ли мы, если у нас два десятка полей, и нам не нужно делать индивидуальное оформление для каждого поля, а нужно лишь скрыть одно-два поля от посторонних? Выведем снова циклом, исключив ненужные поля. Ситуация с алиасами нам не подойдёт однозначно. Например, будем выводить поле "оптовая цена" только для конкретной группы пользователей К2 (назовём их условно "Оптовики"). В данном примере рассмотрим поля "Мелкий опт" и "Крупный опт" id которых равны соответственно 19 и 20, и группу пользователей "Оптовики", id которой равно 5.

Обратите внимание: мы работаем не с группами пользователей JOOMLA, а с группами пользователей К2. Это важно!

    item-> extra_fields as $key=> $extraField): ?> value ! = "" ) && ($extraField-> id <> 19 ) && ($extraField-> id <> 20 )): ?>
  • type type); ?> group group; ?>"> name; ?>: value; ?>

Таким образом, в этом куске кода мы выводим все поля, кроме незаполненных и тех, у которых id=19 и id=20. Теперь проверим, какой id у пользователя, и если он из группы "Оптовики" (т.е. id группы юзеров К2 =5) - выведем по описанноый ранее методике оставшиеся два поля:

// получаем айдишку К2-юзера и его К2-группы id); if ($k2_user-> group >= 5 ) { ?> "

" ?>

Смотрим готовый код:

// Начинаем цикл-перебор всех существующих доп.полей

    item-> extra_fields as $key=> $extraField): ?> // Делаем проверку, не пустые ли допполя и не равны ли их id-шки 19 и 20, и если условие верно - выводим допполя по очереди: value ! = "" ) && ($extraField-> id <> 19 ) && ($extraField-> id <> 20 )): ?>
  • type type); ?> group group; ?>"> name; ?>: value; ?>
// получаем айдишку К2-юзера и его К2-группы id); // проверяем на соответствие нашей группе, и если группа =5 (оптовики) - то выводим допполя с id=19 и 20 if ($k2_user-> group >= 5 ) { ?> // Если условие не выполнилось (id группы не равен 5), то "
тут выводим предупреждение о недопустимости просмотра данной группой
" ?>

Итог:

Думаю, простота данного решения не введёт в ступор даже мало-мальски посвящённого в тему Джумлера. Используя данную методику, можно не только выводить/скрывать доп. поля, но и при желании размещать их в разном порядке, в начале и конце статей, а также выводить в одной статье поля из разных групп.