Разойдемся component k2. Расширение возможностей Joomla с компонентом К2

Бесплатный компонент К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. Они не уникальны и не понадобятся. Откройте “Медио менеджер”, и пройдитесь по папкам. Лишние картинки выделяем и удаляем. Я удалила все. Мы немного освободили место на хостинге. Как не переплачивать и получить все возможности современного хостинга за минимальные деньги напишу в следующей статье.

Компонент К2 является конструктором контента (содержимого сайта), который после установки на Joomla перехватывает управление организацией материалов и фактически предоставляет собственную панель управления в качестве альтернативы админке Joomla , по крайней мере в той ее части, что отвечает за формирование контента (K2 заменяет собой встроенный в Joomla компонент com_content). И это очень удачная замена!

В принципе, некоторые возможности, предоставляемые компонентом K2, сейчас уже реализованы в новой версии Joomla 1.6(7). Но мы еще не скоро, по крайней мере, не в ближайшие 2 года, соберемся переезжать на новые версии, поскольку они еще сыроваты. Поэтому компонент K2 становится для нас неплохим вариантом.

Отличия компонента K2 от стандартного компонента Joomla

Обычно самым главным отличием считают возможность организации в K2 структуры категории неограниченной вложенности, в отличие от стандартной двухуровневой вложенности материалов в Joomla (разделы и категории). И только одно это достоинство стоит многого.

Представим все возможности компонента K2 в виде списка:

  1. Неограниченная вложенность материалов в категориях K2 (можно создавать бесконечное количество подкатегорий, чего нет в стандартном компоненте контента в Joomla, там, как мы знаем, только раздел и категории в нем, дальнейшее разветвление невозможно).
  2. В K2 интегрирована система комментирования, которая при желании может быть защищена довольно надежной капчей от Google (в Joomla изначально системы комментирования не предусмотрено, но, правда, можно установить компонент JComments, который де факто является лучшей системой комментирования для Joomla).
  3. К статьям, написанным в K2, можно добавлять теги (ключевые слова, характерные для конкретных материалов), (вы сможете использовать довольно наглядное облако тегов). Выводится облако тегов из K2 с помощью специального модуля, который, кроме облака тегов, может выводить на страницы Joomla «хлебные крошки» («глубиномер», т.е. указатель категорий, в которые погружается пользователь по мере «углубления» в структуру сайта), архив материалов, календарь в стиле блога, список категорий (меню), окно поиска и др.
  4. В компоненте K2 можно при написании статей или создании категории добавлять к ним изображения. Вроде бы ничего такого в этом нет, ибо в Joomla это тоже можно делать, но разница кроется в унификации добавляемых изображений, которые будут автоматически приводится к стандартному размеру (очень удобно при ведении авторских блогов пользователями вашего ресурса).
  5. В шаблоне для каждой статьи, написанной в админке компонента K2, будет предусмотрено место для вставки галереи изображений. Причем, галерея добавляется в статью через K2 буквально парой кликов - вам нужно будет только указать путь до zip архива с несколькими изображениями и выбрать вариант показа фотогалереи. (Это очень удобно, подобная функция вставки изображений из фотогалереи, например, PhocaGallery в материал выполняется гораздо сложнее.)
  6. Точно так же, как и в случае фотогалерей, в шаблоне для статьи, написанной посредством компонента K2, будет предусмотрено место для видеоролика. Вставить видео в статью через K2 можно будет буквально в один клик (например, для вставки ролика с YouTube будет достаточно только ввести код ролика).
  7. Еще в K2 можно прикреплять к статьям файлы для скачивания опять же в один клик при написании или редактировании материалов через панель управления компонента K2.
  8. При написании статьи через админку компонента K2 у вас будет возможность указывать или выбирать из выпадающего списка значения тех или иных дополнительных полей. Дополнительные поля в K2 задаются и настраиваются в соответствующих разделах админки K2, а затем привязывают к определенной категории материалов.

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

Так же в шаблоне статей компонента K2 предусмотрено место для вывода кнопок социальных сетей (обычно называется «Социальный обмен»), что очень удобно, ибо вам не придется прикручивать кнопки социальных сетей к сайту самостоятельно с помощью сторонних расширений или скриптов.

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

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

Тот, кто установил на своем сайте К2, никогда еще не возвращался к стандартному компоненту Joomla.

Этот обзорный материал будет продолжен серией публикаций об этом компоненте.

Для начала - если Вы используете компонент 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), то "
тут выводим предупреждение о недопустимости просмотра данной группой
" ?>

Итог:

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

Компонент К2 является конструктором контента (содержимого сайта), который после установки на Joomla перехватывает управление организацией материалов и фактически предоставляет собственную панель управления в качестве альтернативы админке Joomla , по крайней мере в той ее части, что отвечает за формирование контента (K2 заменяет собой встроенный в Joomla компонент com_content). И это очень удачная замена!

В принципе, некоторые возможности, предоставляемые компонентом K2, сейчас уже реализованы в новой версии Joomla 1.6(7). Но мы еще не скоро, по крайней мере, не в ближайшие 2 года, соберемся переезжать на новые версии, поскольку они еще сыроваты. Поэтому компонент K2 становится для нас неплохим вариантом.

Отличия компонента K2 от стандартного компонента Joomla

Обычно самым главным отличием считают возможность организации в K2 структуры категории неограниченной вложенности, в отличие от стандартной двухуровневой вложенности материалов в Joomla (разделы и категории). И только одно это достоинство стоит многого.

Представим все возможности компонента K2 в виде списка:

  1. Неограниченная вложенность материалов в категориях K2 (можно создавать бесконечное количество подкатегорий, чего нет в стандартном компоненте контента в Joomla, там, как мы знаем, только раздел и категории в нем, дальнейшее разветвление невозможно).
  2. В K2 интегрирована система комментирования, которая при желании может быть защищена довольно надежной капчей от Google (в Joomla изначально системы комментирования не предусмотрено, но, правда, можно установить компонент JComments, который де факто является лучшей системой комментирования для Joomla).
  3. К статьям, написанным в K2, можно добавлять теги (ключевые слова, характерные для конкретных материалов), (вы сможете использовать довольно наглядное облако тегов). Выводится облако тегов из K2 с помощью специального модуля, который, кроме облака тегов, может выводить на страницы Joomla «хлебные крошки» («глубиномер», т.е. указатель категорий, в которые погружается пользователь по мере «углубления» в структуру сайта), архив материалов, календарь в стиле блога, список категорий (меню), окно поиска и др.
  4. В компоненте K2 можно при написании статей или создании категории добавлять к ним изображения. Вроде бы ничего такого в этом нет, ибо в Joomla это тоже можно делать, но разница кроется в унификации добавляемых изображений, которые будут автоматически приводится к стандартному размеру (очень удобно при ведении авторских блогов пользователями вашего ресурса).
  5. В шаблоне для каждой статьи, написанной в админке компонента K2, будет предусмотрено место для вставки галереи изображений. Причем, галерея добавляется в статью через K2 буквально парой кликов - вам нужно будет только указать путь до zip архива с несколькими изображениями и выбрать вариант показа фотогалереи. (Это очень удобно, подобная функция вставки изображений из фотогалереи, например, PhocaGallery в материал выполняется гораздо сложнее.)
  6. Точно так же, как и в случае фотогалерей, в шаблоне для статьи, написанной посредством компонента K2, будет предусмотрено место для видеоролика. Вставить видео в статью через K2 можно будет буквально в один клик (например, для вставки ролика с YouTube будет достаточно только ввести код ролика).
  7. Еще в K2 можно прикреплять к статьям файлы для скачивания опять же в один клик при написании или редактировании материалов через панель управления компонента K2.
  8. При написании статьи через админку компонента K2 у вас будет возможность указывать или выбирать из выпадающего списка значения тех или иных дополнительных полей. Дополнительные поля в K2 задаются и настраиваются в соответствующих разделах админки K2, а затем привязывают к определенной категории материалов.

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

Так же в шаблоне статей компонента K2 предусмотрено место для вывода кнопок социальных сетей (обычно называется «Социальный обмен»), что очень удобно, ибо вам не придется прикручивать кнопки социальных сетей к сайту самостоятельно с помощью сторонних расширений или скриптов.

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

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

Тот, кто установил на своем сайте К2, никогда еще не возвращался к стандартному компоненту Joomla.

Этот обзорный материал будет продолжен серией публикаций об этом компоненте.

В сем привет. Компонент K2 одно из популярнейших расширений для создания блогов, журналов, каталогов и работы с видео. Ввиду удобства и широкого функционала в 2010 году компонент К2 завоевал статус «Лучшее расширение для Joomla». Компонент K2 создан компанией JoomlaWorks и на сегодняшний день установлен практически на каждом сайте работающим на CMS Joomla. Ну что, заинтересовало? Тогда поехали!

Что может компонент К2 ?

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

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

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

Изображения в компоненте К2

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

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

И напоследок ознакомительное видео о компоненте К2: