Inurl component k2 амбулатория. K2: дополнительные поля в разных местах шаблона

Файлы компонента находятся по пути components/com_k2/

Но разработчики шаблонов могут переопредилить и добавить своё компонент по пути templates/ваш шаблон/html/com_k2/

Маленький урок о компоненте K 2

1. Был замечена ошибка,при открытии для редактирования материала дополнительные поля (extraFields) не доступны для редактирования до тех пор, пока не изменится категория, к которой принадлежит данный материал (т.е. нужно сбросить или изменить на любую другую категорию, а затем выбрать первоначальную).

Для исправления идём по пути и открываем файлitemform.php

Ищем такой код (примерно 532 строка)

type = "header"): ?>

и меняем на этот код

type == "header"): ?>

2. Если при добавление материала с сайта (Front-End) у вас не добавляется автоматом категория в которой вы находитесь,делаем так

Идём ро пути components/com_k2/templates/default/ и открываем файл category.php

Ищем такой код (строку не могу сказать так как у нас файл сильно изменён, ищите по классу class="catItemAddLink")

addLink; ?>

и меняем на этот код

addLink."&catid=".$this->category->id ; ?>

Теперь при добавлении элемента в редакторе будет сразу выбрана текущая категория.

Удаляем лишнее с Front-End

Решили набросать как удалить некоторые функции и текст при редактирование или добавления материала с сайта

Начнём с файла itemform.php идём по пути components/com_k2/templates/default

Удалям или комментируем код

1. Убираем логотип, заголовок Добавить материал

2. Убираем боковую панель

3. Убираем надпись разрешений пользователя

permissionsMessage; ?>

4. Убираем псевдоним заголовка

5. Убираем теги

params->get("taggingSystem")): ?>

    row->tags) && count($this->row->tags)): ?>

    row->tags as $tag): ?>

  • name; ?>

    " class="tagRemove">x

  • params->get("lockTags") || $this->user->gid>23): ?>

    " />

    TAGS_ARE_APPENDED_AT_THE_BOTTOM_OF_THE_AVAILABLE_TAGS_LIST_LEFT"); ?>

    lists["tags"];?>

    »" />

    " />

    lists["selectedTags"]; ?>

    Сам компонент загружает оригинальное изображение и сохраняет его в 5 вариациях - очень большое, большое, среднее, маленькое, очень маленькое.

    Зачастую нам нужно максимум три варианта изображений.

    Я пользуюсь только большими средними и маленькими изображениями.

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

    $handle -> Process ($savepath ) ;

    у ненужного нам параметра сохранения изображения в файле /administrator/components/com_k2/models/item.php

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

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

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

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

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

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

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

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

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

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

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

    Установка К2

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

    Небольшая предыстория о том, как я познакомился с этим замечательным компонентом (давно это было).

    С Joomla я знаком с самого её рождения. Если точнее, то даже с её "эмбриона" - CMS-ки под названием Mambo. В те далёкие времена о конструкторах контента ещё никто и слыхом не слыхивал: для многих в диковинку было ещё само понятие "CMS" ! А если кто-нибудь и слыхал такое слово, то ассоциировал исключительно с господствовавшим в то время на этом рынке phpNuke.

    И вот, когда в Джумле, помимо com_content, появились альтернативы со страшным названием "Content Construction Kit" (CCK ), я с ужасом посматривал на сие "новшество". Но вскоре мне пришлось делать каталог товаров. Порывшись в Сети в поисках решения (разумеется, страшное слово CCK я для себя считал неприемлемым), я остановился на магазине Virtuemart, который мог работать просто в режиме каталога. Но, столкнувшись с массой ненужных настроек и "фенечек", я понял, что что-то не то делаю. И тут один знакомый Джумлер/Мамбер показал каталог, который он делал с помощью ненавистного для меня конструктора контента - это был K2. И не просто показал, но и дал в админке полазить.

    Я был шокирован!

    В глубине души понимая убогость com_content по сравнению с CCK, я противился мысли о переходе на "новшество". Но всё же разум взял верх, и я установил себе K2.

    МАМА ДОРОГАЯ! Такого количества настроек, как в этом компоненте, не было и во всей Джумле! Первым, конечно, было ощущение страха. Однако, вспомнив горький опыт с Virtuemart, я взял себя в руки и начал "копать".

    Первым открытием для меня оказалось то, что можно было оформлять статьи и (или) элементы каталога независимо от общего шаблона Joomla. Второе открытие - это дополнительные поля ! Причём для каждой категории товара можно было назначить свою группу полей! Следующим новшеством, поразившим меня наповал, было неограниченная вложенность категорий , чего так сильно не хватало в com_content. На этом открытия не закончились, но уже на этом этапе я сделал вывод:

    CCK - это не страшно, и даже очень полезно!

    Давайте посмотрим, что об этом расширении пишут греки на официальном сайте (мой вольный перевод):

    Она обеспечивает богатые формы для содержимого (дополнительные поля для статьи, изображения, видео- и фотогалереи, вложения файлов), неограниченную вложенность категорий, теги, комментарии, плагины, расширяющие возможности дополнительных полей (по аналогии с Drupal), мощный API плагинов, расширяющих возможности категорий и пользовательских форм, ACL, интерфейс редактирования, суб-шаблоны и многое другое!

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

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

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

    Шаг 1: Вывод дополнительных полей в разных местах шаблона материала K2

    Итак, открываем папку: /components/com_k2/templates/

    и копируем ее содержимое в папку с вашим шаблоном (предварительно создав папки com_k2/templates/): /templates/название_шаблона/html/com_k2/templates/

    При желании можете сразу создать несколько шаблонов, например чтобы использовать различные стили вывода и оформления в разных категориях. Например после создания нескольких шаблонов, ваша директория и папки будет выглядить так:

    • /templates/название_шаблона/html/com_k2/templates/default/
    • /templates/название_шаблона/html/com_k2/templates/novosti/
    • /templates/название_шаблона/html/com_k2/templates/faq/

    После этого необходимо создать группу полей и сами поля, после чего присвоить их к нужной категории:

    и в 12 строчке после:

    вставляем данный код:

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

    После этого нам необходимо удалить существующий вывод всех дополнительных полей. Для этого в этом же файле удалите все с 250 по 266 строки. А именно:

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

      item->extra_fields as $key=>$extraField): ?> value): ?>
    • typetype); ?> groupgroup; ?>"> name; ?>: value; ?>

    Далее нам нужно вывести одно какое нибудь дополнительное поле в материале, например это будет поле которое имеет уникальный ID - 2 (узнать ID поля можно в административной панели K2, во вкладке Доп. поля). Для этого, в этом же файле item.php ищем подходящую позицию для размещения дополнительного поля (в нашем случае в самом верху материала, под логином пользователя) и вставляем следующий код:

    где это ID дополнительного поля.

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

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

    Вы думайте на этом все? НЕТ! Если вдруг вы уберете информацию в материале из дополнительного поля K2, то вы увидите такую неприятную картину:

    После если мы обновим страницу сайта, то на странице материала, стиль поля исчезнет:

    Если мы вновь введем информацию в поле «Демо», то наша кнопка (точнее поле) снова будет отображатся на сайте:

    В примере выше, мы использовали 2 поля (Демо и Скачать), которые были установлены в разных местах шаблона и имели совершенно разные CSS стили оформления. Поле «Демо» содержащее идентификатор ID 1, была добавлена вверх страницы, а поле «Скачать» с идентификатором ID 2 было добавлено ниже вывода полного текста статьи и отцентровано по центру материала с использованием CSS стилей.

    Вы можете использовать неограниченное количество дополнительных полей компонента K2 и расставлять их в разных местах шаблона и применять к ним различные эффекты и стили оформления. Незабывайте только указывать корректный идентификатор (ID) дополнительного поля!

    Вот на этом вывод дополнительных полей K2 в разных местах шаблона завершен.

    Шаг 2: Вывод дополнительных полей в разных местах категории материалов K2

    Если вы также хотите вывести дополнительные поля в самой категории компонента K2, при этом используя разные места вывода, то вам необходимо открыть файл category_item.php в папке с шаблоном K2. После перейдите к 12 строке, и после:

    // no direct access defined("_JEXEC") or die("Restricted access");

    Вставьте следующий код:

    // дополнительные поля категории K2 $extrafields = array(); if($this->item->params->get("catItemExtraFields") && count($this->item->extra_fields)) foreach($this->item->extra_fields as $item) { $extrafields[$item->id] = $item->value; }

    Далее вам необходимо удалить стандартный вывод дополнительных полей в категории K2. Для этого в этом же файле category_item.php перейдите к 129 строке (нумерация может отличатся из-за внесения кода выше) и удалите все что связано с дополнительными полями (от 129 до 145 строки), а именно:

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

      item->extra_fields as $key=>$extraField): ?> value): ?>
    • typetype); ?> groupgroup; ?>"> name; ?> value; ?>

    Данный код выведет оба наших поля (c ID 1 и ID 2) в том месте где мы установили код (в данном случае мы установили код после вывода вступительного текста статьи K2 в категории материалов). Обратите внимание на то что к классу нашей кнопки мы добавили преффикс cat_, чтобы CSS стиль не смешался со стилем кнопок (полей) материалов K2:

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

    Данное решение предназначено для CMS Joomla 1.5 и Joomla 2.5 с использованием компонента K2 v2.5.4. В более ранних версиях компонента, может быть несоответствие строк.

    Эта статья является единственным простым и гибким решением для вывода дополнительных полей в материалах и категориях K2.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: