Использование плагина MiniCCK

Установка.

  • Установить и опубликовать плагин "Контент - MiniCCK".

Настройка.

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

Каждому полю необходимо прописать:

  • Название поля - служебное название, состоящее только из латинских букв, цифр и знака подчеркивания _ в нижнем регистре. Другие символы не допустимы, включая пробел.
  • Заголовок поля - Это тот заголовок, что увидите вы в панели администрирования в дополнительных полях контента и пользователь на фронте вашего сайта. Для многоязычных сайтов сюда можно вписвывать языковые константы, которые будут обработаны в соответствии с языком контента.
  • Тип поля - выпадающий список, где вам необходимо выбрать тип создваемого поля. Эта устновка определяет как будет выглядеть поле в административной части сайта, на фронте выведется информация выбранная или введенная вами.
  • Параметры поля - это поле для введения дополнительных параметров для поля контента. Действует оно только для типов поля типа Выпадающий список, Радиокнопки, Чекбокс. Вводить сюда нужно пары ключ-значение через разделитель двойное двоеточие (::) каждую следующую пару на следующей строке. Для поля типа "изображение" сюда вводится путь от корневой папки изображений, объявленной в настройках медиаменеджера без переднего и заднего слеша. Это всего-лишь папка по умолчанию, пользователь сможет перейти к верхним папкам до корня медиаменеджера.

Удалить поле можно кнопкой "Удалить поле" расположенной напротив каждого поля.

Работа

В панели редактирования контента в компоненте com_content, после установки и настройки плагина и патча, в правой части снизу появится вкладка "Дополнительные поля" в которой вам предстоит ввести или выбрать значения для созданных вами полей. После сохранения контента при просмотре контента с фронта сайта там появится ваша дополнительная информация.

Варианты вывода полей

С версии 1.3 в плагине предусмотрено два способа вывода дополнительных полей:

  • Способ "HTML" реализует обычный вывод присоединением шаблона плагина к тексту контента, так как было и в прошлых выпусках плагина.
  • Способ "Объект" гораздо более гибок, но предназначен для профессионалов т.к. он не имеет собственного представления, а добавляет объект MiniCCK к объекту $article, что позволяет оперировать полями плагина в самом шаблоне com_content. Это добавляет непревзойденную гибкость в выводе полей - вы можете вывести любое поле плагина в любом месте шаблона контента, но требует от вебмастера навыков работы с шаблонами.

Для вывода полей плагина "Объектом" предусмотрено две функции - вывод заголовка поля и вывод значения поля. В шаблоне контента их можно вызывать так:

//в контенте
$this->item->minicck->getFieldLabel('field_name');
$this->item->minicck->getFieldValue($this->item->id, 'field_name');

С версии 2.2 доступна функция запроса типа контента (тип контента полезно знать для переключения макетов вывода и т.п.) и функция запроса чистых данных поля.

Тип контента можно получить так:

$this->item->minicck->getArticleType($this->item->id);

Чистые данные поля можно получить так:

$this->item->minicck->getFieldData($this->item->id, "field_name");

Получить ассоциативный массив всех полей материала можно так:

$this->item->minicck->getArticleFieldsArray($this->item->id);

Переопределение шаблонов

С версии 1.4 появились шаблоны полей (не путать с общим шаблоном плагина), а так-же возможность переопределения их в шаблоне Joomla.

Для переопределения основного шаблона плагина надо скопировать его из

/plugins/system/minicck/tmpl/название_шаблона.php

в

/templates/шаблон_сайта/html/plg_system_minicck/название_шаблона.php

После этого плагин будет использовать шаблон, находящийся в папке шаблона сайта. Так-жеможно поступить и с шаблонами полей. Копируем

/plugins/system/minicck/fields/папка_поля/tmpl/default.php

в

/templates/шаблон_сайта/html/plg_system_minicck/fields/папка_поля/default.php

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

Изменения в версии 3.0.

В версии 3.0. добавились дополнительные поля для категорий. Действия с ними аналогичны действиям с полями контента, за исключеним небольших нюансов при выводе полей объектом.

Плагин MiniCCK запускается непосредственно в шаблоне категории. Там описание категории выводится с обработкой контентными плагинами:

echo JHtml::_('content.prepare', $child->description, '', 'com_content.category');

В следствие этого дополнительные поля у категории не появятся раньше этой строки. Если вы хотите выводить поля раньше описания, то вам следует эту строку вместо echo присвоить переменной в шапке файла или непосредственно в начале цикла перебора категорий (в зависимости от макета). Тогда использовать поля можно будет по всему макету категории. Для использования дополнительных полей вы должны загрузить MiniCCK:

$minicck = MiniCCKCategoryData::getInstance()->getObject($categoryId);

Далее вы можете использовать $minicck аналогично контенту. Для примера выведем форматированное поле:

echo $minicck->getFieldValue($categoryId, 'field_3');

Таким-же образом доступны и другие функции работы с дополнительными полями категорий.

Комментарии  

Konstantin Skorohod
# Konstantin Skorohod 17.04.2018 19:44
Решил, что стоит оставить здесь это уточнение... Для получения данных из поля контента типа "Таблица" нужно результат пропустить через json_decode(); $arr = json_decode($this->item->minicck->getFieldData($this->item->id, 'field_1'));
Сергей Наумов
# Сергей Наумов 30.09.2017 10:09
как можно сделать одно из доп. полей неактивным для пользователя, мне это надо для вывода туда инф-ции в админке?
Аркадий Седельников
# Аркадий Седельников 30.10.2017 03:07
Удалите его вывод в шаблоне.
Аркадий Седельников
# Аркадий Седельников 02.10.2017 02:22
Если вы выводите объектом, то просто не выводите это поле на фронте. Если в виде html, то переделывать макеты вывода.
Djaison Джангалиев
# Djaison Джангалиев 10.08.2016 14:48
И еще - я пытаюсь достать значения дополнительных полей на страничке категории (default_articles.php) в цикле по материалам запускаю следующий код: $minicck = MiniCCKCategoryData::getInstance()->getObject($this->category->id); echo $minicck->getFieldValue($article->id, 'pole1'); В ответ - пусто. Я даже руками пытался подставлять значения category->id и article->id, но тщетно. Подскажите пожалуйста, в чем проблема, просто PHP не мой родной язык.
Аркадий Седельников
# Аркадий Седельников 11.08.2016 03:08
http://joomlaforum.ru/index.php/topic,253360.msg1659234.html#msg1659234 это сделали?
Djaison Джангалиев
# Djaison Джангалиев 10.08.2016 07:37
Еще один вопрос. Где можно узнать ссылку на поле в плагине, чтоб прописать в PHP. То есть, меня интересует путь к строке выбора, чтоб выбранный результат отражался также в другом наименовании материала или в списке категории.
Аркадий Седельников
# Аркадий Седельников 11.08.2016 03:07
Нигде, ваш функционал надо программировать.
Djaison Джангалиев
# Djaison Джангалиев 07.08.2016 04:30
Здравствуйте. Вещь шикарная, но вот проблема есть. Я установил тип "Большое текстовое поле" Но при помещении туда текста, он теряет свое форматирование. А мне нужно размещать на сайте уже отформатированный (в Ворде) текст, чтобы он имел точно такой же вид. Форматирование заключается в шрифте, размере, а главное в сохранении табуляции, межстрочных интервалов и заглавных букв в некоторых строчках. Не могли бы вы что нибудь посоветовать, что и куда прописать там...
Аркадий Седельников
# Аркадий Седельников 08.08.2016 02:30
Здравствуйте. Нигде в интернете не поддерживается форматирование ворда. Попробуйте отформатировать в html.
Djaison Джангалиев
# Djaison Джангалиев 03.08.2016 10:54
Добрый день, установил, все работает. Но список полей в статье выходит в два столбца, как сделать чтоб поля были в один столбец?
Аркадий Седельников
# Аркадий Седельников 04.08.2016 02:27
Переопределить и подредактировать макет.
Orsey
# Orsey 08.06.2016 11:53
Здравствуйте Аркадий. Пользую ваш плагин и пытаюсь вывести дополнительные поля материалов в Блоге категории. вот что получаю в результате этого кода item->minicck); ?> Результат: MiniCCKHTML Object ( [data:MiniCCKHTML:private] => stdClass Object ( [75] => stdClass Object ( [price] => от 900 грн [content_type] => content_type_0 ) [77] => stdClass Object ( [price] => 650 грн [content_type] => content_type_0 ) [76] => stdClass Object ( [price] => 1500 грн [content_type] => content_type_0 ) [72] => stdClass Object ( [price] => от 800 грн [content_type] => content_type_0 ) [71] => stdClass Object ( [price] => 600 [content_type] => content_type_0 ) ) ) Вопрос, как мне получить значение price из этого объекта? Если использую этот код $this->item->minicck->getFieldData($this->item->id, 'price'); то получаю ошибку. Подскажите как правильно вывести для каждого материала в списке его значение price. Заранее благодарю за помощь.
Аркадий Седельников
# Аркадий Седельников 10.06.2016 05:12
Добрый день, мы вроде на форуме по этому поводу общаемся?
Orsey
# Orsey 10.06.2016 07:37
Добрый день Аркадий, на форуме нашел тему и дублировал это сообщение туда уже после того как разместил сообщение тут. Функции удаления комментария я тут не нашел, вот потому оно и осталось )
Orsey
# Orsey 01.06.2016 11:05
Эту статью нужно давать в качестве инструкции при скачивании плагина! Не нашел правда как поблагодарить автора этой статьи, ни рекламы тебе ни лайков ( Придеться просто сказать СПАСИБО!
Аркадий Седельников
+1 # Аркадий Седельников 01.06.2016 15:55
Это и есть инструкция. Автор всего, что есть на сайте один, это я.
Ilunga Masan
# Ilunga Masan 19.09.2015 18:27
а запретить вывод пустых полей не возможно?
Guest
# Guest 19.09.2015 18:52
Нет. Только самостоятельно, выбирайте наборы полей в соответствии с типом контента.
Александр Захаров
# Александр Захаров 20.06.2015 14:07
а как в модуле новостей вывести данные?
Guest
# Guest 20.06.2015 20:03
http://argens.ru/zagruzki/minicck/content-module-minicck
Антон Чиндин
# Антон Чиндин 08.06.2015 01:49
Сделайте возможным перетаскивание полей. т.е. чтоб можно было изменить порядок.
Ну нифига себе
-4 # Ну нифига себе 09.02.2015 19:43
Ну нифига себе, Аркадий, как говорится созрел.МолодецСамый простой вариант расширения контента...Напомнило чем то FieldsAttach но тот более навороченный
Dorfman
-1 # Dorfman 09.02.2015 19:43
Извиняюсь за вопрос без тестирования (нет полигона и времени установить), но есть ли здесь зависимые допполя?
admin
-1 # admin 09.02.2015 19:43
Шутишь? :-) Эту поделку я за вечер сделал, откуда там такие навороты?
Вкусника_рф
-1 # Вкусника_рф 09.02.2015 19:43
То, что нужно! Давно искал простое средство дополнительных полей для своего проекта. Интересно продолжение.Немного пришлось применить метод тыка для настройки. ниже пример с тремя строками.Заголовок поля Вегетарианское блюдо:Тип поля Выпадающий списокПараметры поля ::не указано Да::ДА Нет::НЕТ
art-kaz.kz
# art-kaz.kz 09.02.2015 19:43
Попробовал установить Ваш плагин под денвером. Кнопка ADD Field неактивна.
admin
# admin 09.02.2015 19:43
Попробуйте в другом браузере. Кнопка работает на javascript и от сервера не зависит, а от браузера может.
Владимир sova
+1 # Владимир sova 09.02.2015 19:43
Отличный плагин. Пробую использовать для создания заочной интернет-конференции.Очень необходима возможность поиска по дополнительным полям.Спасибо за Вашу работу.
Анастасия Tolk
# Анастасия Tolk 09.02.2015 19:43
Устанавливаю плагин на joomla 3.2 и у меня появляется ошибка:JInstaller: :Install: Файл не существует /home/itsproby/public_html/tmp/README.mdс чем это может быть связано?
admin
# admin 09.02.2015 19:43
Удалите <filename>README.md</filename>из minicck.xml эта строка там по ошибке.
Сервер
# Сервер 09.02.2015 19:43
Я установил данный плагин к себе на сайт...в принципе он полностью устраивает. Только есть одно но. После установки, создал поля для ввода. При создании материала в админпанели - все нормально отображается и появляется во вкладке "Дополнительно" необходимые поля для ввода. Но при создании материала с сайта, во вкладке дополнительные поля появляется только выпадающий список "категории" вводимых данных. А вот сами строки для ввода не появляются. Если после создания статьи, выбрать изменить материал, тогда поля появляются. Как решить проблему??? и с чем может быть связано, мне кажется что при создании статьи не включается необходимый скрипт...вообщем как решить ее,хотелось бы узнать от Вас. Версия Joomla 3.2
admin
+1 # admin 09.02.2015 19:43
Ошибка зафиксирована. Будем чинить.
Сервер
# Сервер 09.02.2015 19:43
Спасибо. Буду ждать положительного результата.
admin
# admin 09.02.2015 19:43
Скачайте новый дистрибутив, там поправлено. Если других ошибок не наделал, то должно везде работать.
Бейбит
# Бейбит 09.02.2015 19:43
А вот фильтр или плагин для стандартного или расширенного поиска джумла 3.2. будет для этого плагина?Т.е. это было логично -- сделать возможность поиска по дополнительным полям, раз они уже есть в джумла контенте.
admin
# admin 09.02.2015 19:43
Нет, в данной реализации все значения пишутся в одно поле таблицы, да еще и кодируются.
Протон
+1 # Протон 09.02.2015 19:43
Здравствуйте Аркадий.Скачал, установил плагин 1.3. В материалах появляется вкладка "Поля" и всё работает. А в категории ничего не меняется. Мне нужно вывести описание категории, потом материалы, потом ещё одно описание. Все настройки перепробывал, все галочки выставил, может в категории как то по особому выводится? Версия joomla 3.2Заранее Спасибо
admin
# admin 09.02.2015 19:43
Может вы неправильно поняли? Дополнительные поля будут только у материалов, в этой версии дополнительные поля показываются и в блоге категории, но только у контента.
Протон
# Протон 09.02.2015 19:43
Спасибо за ответ.Действительно неправильно понял. Было бы очень удобно если бы было такое поле для категории непосредственно. Очень нужно сделать доп. описание категории )
Николай Голубев
# Николай Голубев 09.02.2015 19:43
Здравствуйте, Аркадий.Набрел на Ваш компонент после прочтения статьи Franz Korntner с целью решить смежную задачу.Может быть подкинете идею? Смысл задачки в том, что есть Category blog, выводящий Intro статей из нескольких категорий в порядке их популярности (Hits). Беда в том, что популярность набраная статьей некоторое время назад продолжает удерживать ее наверху, не давая новому контенту подниматься наверх. И хочется сделать так, чтобы Hits учитывал только популярность за определенный период времени. например, неделя\месяц.В итоге, решений сейчас вижу два:1. Свой счетчик через дополнительное поле статьи + патч, подобный этому для category blog.2. Патчить Hits, например, прописывая туда значения из Google Analytics.Возможно Вы подскажете, куда лучше двигаться? Заранее Спасибо!Николай
admin
# admin 09.02.2015 19:43
Добрый день Николай.К вашим методам могу добавить еще немного- можно к сортировке по популярности прибавить отбор по датам, т.е. выводить, допустим, самые популярные статьи с датой публикации не старее недели (месяца и т.п.). Если статьи пополняются регулярно, то решение будет работать.- свой счетчик можно организовать с датами хитов, при этом надо удалять ненужное время от времени т.к. таблица будет разрастаться.
Николай Голубев
# Николай Голубев 09.02.2015 19:43
Спасибо, Аркадий.Отбор по датам не очень подойдет, т.к. пополнение не очень частое и ссылки все-все статьи нужно показывать в category blog.Свой счетчик. Тут вопрос в том, что Category Blog не сможет сам сортировать по своему счетчику. И тоже придется думать, как патчить этот блог ;)Сейчас думаю еще попробовать использовать дату модификации статьи, чтобы хранить там открытия статей за несколько последних дней. Но, боюсь не хватит разрядности числа ;) Еще раз спасибо за совет!
kurskiy
# kurskiy 09.02.2015 19:43
Спасибо за очень полезный плагин! Такой вопрос: а будет ли реализована возможность вставлять ссылки в поля?
admin
# admin 09.02.2015 19:43
Это не проблема, надо только поле ссылки изобрести.
Владимир Пономарев
# Владимир Пономарев 09.02.2015 19:43
Здравствуйте. Мне нужно выводить дополнительные поля только в нескольких определенных категориях. Я так понял нужно назначить шаблон переопределения контента на необходимую мне категорию и там уже сделать разметку. Я правильно понимаю?
admin
# admin 09.02.2015 19:43
Добрый день, попробуйте просто сделать общую разметку, если не используете шаблон miniCCK, а выводите объектом, то проверяйте на существование элементы объекта перед их выводом. Должно сработать без разных шаблонов.
Григорий
# Григорий 09.02.2015 19:43
Добрый день, а данные полей в модулях можно будет выводить?Заранее спасибо!
admin
# admin 09.02.2015 19:43
Если кто-нибудь сделает такой модуль, то почему-бы и нет. Могу сделать и я, но не бесплатно, т.к. самому такой необходимости нет.
Роман Суворов
# Роман Суворов 09.02.2015 19:43
Аркадий, у меня появилась необходимость вывести значение поля в модуле mod_articles_category, это возможно? Если да, то как это можно реализовать?
admin
# admin 09.02.2015 19:43
Скорее всего никак. Разве что допилить этот модуль чтобы он запрашивал данные из таблицы MiniCCK
voland
# voland 09.02.2015 19:43
Так, я уже забил контент, продумал архитектуру и внезапно в mod_articles_category не могу получить значения полей. Как же так? Надо тогда свой модуль.. Или как подключить к контенту поля? Принудительно вызвать обработку плагином? ЗЫ. Последняя 3.3
Djaison Джангалиев
# Djaison Джангалиев 06.08.2016 05:32
поставьте предыдущую версию плагина
admin
# admin 09.02.2015 19:43
http://argens.ru/zagruzki/minicck/content-module-minicckТам модуль который используется на главной странице этого сайта. Работа с данными там сделана,а вот шаблончик не проработан для эникейщиков, сделан чисто под этот сайт. По этому без некоторых знаний использовать не получится, но все в принципе подсмотреть и переделать под свои поля можно.