Inurl component k2 бережный. Inurl component 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), то "
тут выводим предупреждение о недопустимости просмотра данной группой
" ?>

Итог:

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

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

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

Во первых отказываемся от использования модуля K2 Tools, который явно требует доработки во всех его направлениях. Особенно пытайтесь избежать его использования в качестве календаря и меню. Использование данных функций повысит запросы к БД аж до ~40 , что совсем не приемлимо...

Во вторых нужно отказаться от использования пункта меню вывода категории K2 с надстройкой "подтягивания" подкатегорий выводимой категории(материалы из дочерних категорий).. Конечно, это было бы весьма удобно использовать, особенно на сайтах со сложной структурой да и понизит юзабилити сайта, однако значительно снизит нагрузку в виде 50-70 запросов к БД. Поэтому в пункте материалы из дочерних категорий выбираем нет. И в меню добавляем подпункты меню в виде подкатегорий (для красивых ссылок).

В третьих, в настройках категории нам придется отказаться от опции "Наследовать параметры опций из категории ". Опять же эта, вроде бы очень удобная функция, задача которой облегчить жизнь пользователям, создает огромное количество запросов к БД, вместо нужного одного запроса. Таким образом, если у нас на странице 20 категорий, у которых включена опция наследования - имеем дополнительно 20 запросов.Сейчас же включение этой опции приводит к тому, что запрос параметров родительской категории происходит всякий раз при выводе материалов из дочерней или при выводе списка категорий.

В четвертых - используем только необходимые функции. Я вообще советую отказаться от использования стандартных комментариев K2, хотя использовать JComments так же не рекомендую. Лично Я больше предпочитаю использовать социальные комментарии, которые сейчас довольно распространены. Если же вы все таки используете стандартные комментарии K2, то отключите вывод кнопки комментариев. Так же в списке категорий или в самой категории советую отключать такие функции, как социальные закладки, вывод тегов, вывод автора, кнопки печати и эл.почты. В общем чем меньше будет функций запущено, тем будет меньше запросов, тем будет меньше нагрузка.
Здесь же хочу написать о загрузке изображений материалов компонента K2. Сам компонент загружает оригинальное изображение и сохраняет его в 5 вариациях - очень большое, большое, среднее, маленькое, очень маленькое. Зачастую нам нужно максимум три варианта изображений. Я пользуюсь только большими средними и маленькими изображениями. Для того, чтобы запретить создание лишних изображений нужно закомментировать строчку
$handle -> Process ($savepath ) ; у ненужного нам параметра сохранения изображения в файле /administrator/components/com_k2/models/item.php Чтобы запретить увеличение изображения в материале, нужно в файле components\com_k2\templates\default\item.php закомментировать строчку

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

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

Вот поэтому и придумали тэги. Как они работают? Допустим, на сайте у нас есть статья, посвященная выращиванию лилий. Значит что мы делаем в этом случае? Добавляем тэги, соответствующие нашей тематике. В данном случае тэги будут следующие: садоводство, лилии.

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

А теперь рассмотрим все это на примере K2 .

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

Здесь мы просто вводим название нужного тэга. Пусть это будет к примеру садоводство.

Далее. Пусть у нас есть статья, посвященная садоводству, созданная через компонент К2 – Материалы . В таком случае нам остается связать нашу статью с тегом садоводство. А сделать это очень просто. Просто в поле теги пропишем необходимые теги.

На самом деле, можно было сделать это изначально, в самом материале, минуя создание тегов. В этом случае, теги бы создались автоматом. Но если так просто, то зачем вообще нужен этот пункт меню теги? А сделано это неспроста, а для того, чтобы у нас был доступ к каждому пункту в отдельности.

Благодаря этому мы можем реализовать очень полезную фишку. А именно – привязать тег к конкретному пункту меню. Таким образом, щелкнув по пункту меню, мы получим в свое распоряжение доступ к каталогу статей.

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.

K2 это компонент материалов для Joomla! CMS с некоторыми дополнительными функциями, напоминающими CCK (Content Construction Kit – по русски это можно интерпретировать как «компонент-создающий-любой-тип-контента»). Его разработчиками является греческий портал JoomlaWorks.

Он позволяет пользователю управлять содержимым сайта в более удобном и современном режиме. Вы можете создать блог, каталог товаров или услуг, файловый архив, мультимедия-галерею, онлайн-журнал используя всего один компонент! Разработка этого мощного рения была начата в 2006 году, но, к сожалению, к этому моменту, никакой документации по нему опубликовано не было. Есть лишь несколько статей и видеофайлов на английском.

Эта небольшая пошаговая инструкция написана для тех, кто хочет попробовать и поизучать К2 в действии, но буквально не знает с чего начать.

Шаг 1. Скачайте последнюю версию K2 с официального сайта разработчиков.Шаг 2. Установите K2 используя Менеджер расширений Joomla.

Шаг 3. Скачайте и установите согласно инструкции последнюю версию перевода компонента K2

Шаг 4. Откройте панель управления К2 через пункт меню «Компоненты», или же воспользуйтесь ей через модуль на главной странице админки.

Шаг 5. Создайте группы дополнительных полей. Назовите их соответственно их назначению: Blog, Catalog, Directory или как угодно по другому.

Примечание: Дополнительные поля реализуют унификацию представления материалов, тоесть при создании нового материала в категории, которой присвоена группа дополнительных полей, вы сможете заполнить эти поля. И таким образом все материалы данной категории будут иметь данную информацию «поле – значение». Это абсолютно необходимо при создании каталога товаров.

Например вы создаете группу дополнительных полей Catalog и добавляете туда поля:

б)Размеры

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

Шаг 6. Добавьте дополнительные поля в ваши группы дополнительных полей

Примечание: По умолчанию любой материал уже имеет Заголовок, Текст и Основное изображение. Поэтому, если вам нужно использовать К2 лишь как продвинутый движок статей (для Новостей, Блогов), то вы можете не использовать дополнительные поля (как и приходится в большинстве случаев). Используйте дополнительные поля для создания Файловых архивов, Каталогов, Галерей.

Примечание: Вы можете импортировать все существующие категории и материалы Joomla! при помощи одной кнопки (В правом верхнем углу «Импорт»). Таким образом ваш переход из обычного компонента материалов на К2 будет практически безболезненным. Это одно из тех свойств, которые так быстро дали K2 его нынешнюю популярность.

Шаг 8. Добавьте группы пользователей. По умолчанию присутствуют Registered и Site Owner. Вы можете ограничить права доступа различных групп к публикации материалов (вообще или в определенных категориях), просмотру, редактированию материалов и некоторые другие функции.

Шаг 9. Назначте уже существующим joomla-пользователям соответствующую группу пользователей K2. Установите их пол, добавьте описание и загрузите аватар. Эта минимальная блого-анкета дается в базовой поставке K2. Детали автора выведутся после опубликованной им статьи или новости.

Шаг 10. Добавьте теги. Система тегов это не только современная модная «фишка», но и дейтствительно дает прорыв для юзабилити вышего сайта, позволяет реализовать псевдо-мультикатегориальность, усиляет перелинковку для SEO, превносит порядок в хаос.

Шаг 11. Назначте пунктам меню соответствующие элементы К2 (категории, материалы, страницы пользователей).

Примечание: Именно этот этап вызывает у новичков наибольшее количество вопросов. Часто не искушенный пользователь настраивает K2, делает импорт старых материалов, пишет в соответствующие категории новые дополнительные материалы, а результата не видет. А это все потому, что пункты меню все еще ссылаются на Статьи Joomla! Поэтому отнесителсь к Шагу 11 с особым вниманием!

Шаг 12. Опубликуйте модуль K2 LOGIN в менеджере модулей, если вы все-таки решили создавать интерактивный сайт.Вы также можете опубликовать другие модули К2 комментарии, К2 контент или же К2 инструменты. Их я затрону в отдельных статьях.

Шаг 13. Добавьте материалы в каждую категорию. Если вы проследовали пункту 8, а затем 12, то вы можете делать это прямо с лицевой панели сайта. В обратном же случае вы всегда можете работать через админ. Панель Joomla!

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

Основано на материалах JoomlaWorks