Бесчувственный component k2. Нестандартный вывод дополнительных полей в К2. Вот основные и важные характеристики K2 v.2.6.8

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

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

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

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

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

Квартиры

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

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

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

Online service by OceanTheme are is a platform where people can unite with each other with mutual interest to purchase premium templates and extensions Joomla! at a bargain price. The target audience of the service are individuals and small and medium businesses, professional web developers to create online stores, community sites or people wishing to have your blog. In our great collection of premium solutions everyone will find what he needs.

Our resource acts as an organizer pooling, specifies the number of people that you want to buy templates and extensions, the cost of goods, as well as the amount and access to these materials. Our website has a lot of opportunities for easy searching of templates and extensions. Intuitive navigation, tagging system, sorting by the filter and the tool "add to bookmarks" will allow you to find the right material you want incredibly fast. In addition You will always find the latest information, so as to update the collection every day.

Access to the entire database of materials is provided for the duration of the club specified in the subscription purse. Subscribers receive unrestricted access to all available archives, news and updates, as well as technical support throughout the subscription period.

All the products you can find on this site are 100% GPL-compatible, which means you can change them as you want and install on unlimited number of sites.

Thanks to our collection you will save a lot of time and money, as the templates and extensions easy to use, easy to install and configure, multi-functional and diverse. That will allow you to create a website of any complexity and orientation, without learning advanced web development technologies.

Main features of our website

A rich set of functions, working out of the box:

Use all opportunities of our resource to get ready-made professional solution for rapid implementation of your business projects or creative ideas.

Use the search tools

Use advanced search and filtering, and easy navigation for quickly finding the desired web solutions in design, functionality and other criteria.

To favorite materials were always at hand, use the unique function "Add to favorites", and they are available in a separate section for the whole year.

Logged into our site, you will be able to leave comments and to participate in promotions, as well as use of a free subscription with permium access.

Join our club membership

Club subscription gives you full access to our entire catalogue of original material. And includes premium templates and extensions for several years.

Download appropriate to your Joomla templates and extensions, both free and subscription for the club without any limits and ogoranicheny speed.

If you liked any material on the site, you can leave your voice, as well as share it with friends via social networks.

Компонент К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 и его отдельные шаблоны, то нужно скопировать всё содержимое шаблона 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), то "
тут выводим предупреждение о недопустимости просмотра данной группой
" ?>

Итог:

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

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