Inurl component k2 беззащитный. Joomla компонент K2 — удобный конструктор контента. Что такое копрограмма и для чего она нужна

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

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

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

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

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

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

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

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

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

Для начала - если Вы используете компонент 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 использовать новые функции, которые по умолчанию недоступны для 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 года и доступна к загрузке.
Внимание Некоторые вебмастера сообщают об ошибках в новом релизе. Будьте осторожнее - делайте бэкапы перед обновлением.

Компонент появился достаточно давно, во время, когда Joomla версии 1.5 была самой актуальной. Идея, которая подвигла разработчиков K2, заключается в том, что K2 привносит в Joomla все лучшее из WordPress и Drupal. Компонент K2 позволяет легко создавать на базе Joomla полнофункциональные каталоги, новостные порталы, блоги, магазины и т.п.

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

  • Комментарии . В K2 встроена система комментирования, она достаточно надежно защищена капчей от Google. В самой Joomla нет базовой системы комментирования, и при необходимости устанавливают компонент JComments, или какой другой еще.
  • Теги . К статьям, опубликованным через K2, вы можете добавлять теги, как в WordPress. Для вывода облака на сайте предназначен специальный модуль, который кроме непосредственного облака позволяет вывести на сайт Joomla хлебные крошки, архив материалов, календарь в стиле блога, список категорий (меню), окно поиска и др.
  • Фото . В компоненте K2 вы сможете к статье или категории добавлять фотографии, изображения. Вроде бы это как обычно, и в Joomla это тоже возможно, но разница в том что изображения, будут автоматически приводится к стандартному размеру. Это очень удобно при ведении авторских блогов пользователями вашего сайта. Ведь они не знают ваших стандартов и публикуют материал как могут.
  • Галерея . В шаблоне для каждой статьи, добавленной через компонент K2, предусмотрено место для вставки галереи изображений. Важно - галерея добавляется в статью через K2 максимально просто, буквально парой кликов - нужно только указать путь до zip архива с изображениями и выбрать вариант показа фотогалереи. В Joomla в материал тоже можно вставить фотогалерею, но через дополнительные расширения, к примеру, плагин Phoca Gallery Plugin , и все равно процесс вставки галереи в статью будет на гораздо сложнее, чем в при использовании компонента K2.
  • Видео . Так же как и в ситуации с фотогалерей, в админке статьи, публикуемой в K2, есть место для вложения видеоролика. Вставка видео происходит в один клик. Например, для вставки YouTube ролика достаточно ввести только код ролика.
  • Файлы . Еще в K2 можно прикреплять к статьям файлы для скачивания.
  • Поля . Кроме того, при написании статьи есть возможность добавить дополнительное поле, выбрав из выпадающего списка значение дополнительного поля. Дополнительные поля в K2 настраиваются в соответствующих разделах админки K2. Таким образом, в статье вы сможете заполнять дополнительные поля, это может пригодиться, например при создании каталога товаров в Joomla. Это напоминает карточки товара в VirtueMart , потому что VirtueMart - это тоже каталог товаров.
  • Социальные кнопки . Так же в шаблоне статей компонента K2 предусмотрено место для вывода кнопок социальных сетей, это очень удобно, и вам не придется прикручивать кнопки самостоятельно с помощью сторонних расширений.

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

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

В принципе, некоторые возможности, предоставляемые компонентом K2, сейчас уже реализованы в новых версиия Joomla . Когда-то лозунг на сайте K2 говорил именно о том, что не стоит ждать выхода новой Joomla, а уже сейчас воспользоваться этим компонентом. Тут и возможности - тут и проблемы.
Если перевести весь контент в К2 , то когда он станет большим будет очень сложно отказаться от компонента. Может отказываться и не придется. Но при выходе следующих версии Джумлы что-то из представленных преимуществ может быть реализовано стандартно. Что-то подобное уже происходило. Некоторые моменты, такие как количество вложений категорий уже реализовано стандартно. Что-то очень удачно реализовано сторонними плагинами и при от них тоже легко отказаться в пользу другого плагина.