Как вывести дополнительные поля в Joomla 3 автоматически и в ручном режиме?

Приветствую Вас на сайте Joom4all, тема сегодняшней статьи будет связана с дополнительными полями Joomla 3.

Что такое дополнительные поля и как с ними работать думаю, знает каждый веб-разработчик знакомый с системой управления контентом Joomla 3. Однако хочу заметить, что не каждый знает, каким образом они выводятся на страницах сайта и как выводить дополнительные поля в ручном режиме.

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

Способы отображения дополнительных полей - автоматические и ручной

Способы отображения дополнительных полей

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

After Title

Данный метод подразумевает автоматическое отображение поля при помощи события onContentAfterTitle. Что это значит? А значит это то, что все дополнительные поля, у которых в качестве метода отображения установлено значение «After Title» будут выведены после заголовка материала, но перед информационным блоком (метками, датой создания, автором и т.п.).

Если посмотреть в код файла шаблона статьи, или например блога категории то можно заметить там строки, отвечающие за вывод информации при помощи события onContentAfterTitle:

Код шаблона материала который отвечает за вывод дополнительных полей после заголовка при помощи события onContentAfterTitle

Before Display

Данный метод отображения дополнительных полей подразумевает их вывод перед основным текстом материала (в том числе перед изображением полного текста), но после блока с информацией (если таковой присутствует) при помощи события onContentBeforeDisplay:

Код отвечающий за вывод дополнительных полей при помощи плагина onContentBeforeDisplay

After Display

Последний из автоматических режимов отображения дополнительных полей Joomla 3. Данный метод как Вы наверно уже догадались, подразумевает вывод полей после основного текста материала в самом конце документа, при помощи плагина onContentAfterDisplay:

Вывод дополнительных полей после основного текста в самом конце документа при помощи плагина onContentAfterDisplay

Вывод дополнительных полей в ручном режиме

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

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

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

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

<?php
// Вывод дополнительных полей
$additionalFields = array(); //Создаем пустой массив, имя переменной выставляем по своему усмотрению
foreach($this->item->jcfields as $field) {/*Пробегаемся циклом по всем полям текущего материала*/
$additionalFields[$field->name] = $field->value; /*И добавляем их значения в наш ранее созданный массив*/
} 
// Теперь можно использовать значения массива для вывода пользовательских полей в указанных местах?>

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

<? if (isset($additionalFields['price']) and !empty($additionalFields['price'])) :?>
<div class="price">
<span>Распространение: </span><p><?php echo $additionalFields['price']; ?></p>
</div>
<?php endif; ?>

Что тут происходит? Сначала мы запускаем обычное условие, где проверяем, установлена ли наше поле (isset($additionalFields['price'])), а так же есть ли в нем данные (!empty($additionalFields['price'])). Если результат проверки истина (то есть поле существует и не пустое), тогда выводим его значение при помощи функции echo (echo $additionalFields['price'];).

Вот таким не хитрым образом мы вывели значение дополнительного поля в Joomla 3. Чтобы было понятно, откуда я взял имя поля со значением «price» посмотрите на скриншот ниже:

Имя поля которое мы будем использовать для его вывода в ручном режиме

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

Пример кода который выводит дополнительные поля в ручном режиме

На этом, пожалуй, все. Теперь Вы знаете, каким образом можно выводить дополнительные поля на страницах сайта. До скорых встреч.

Добавить комментарий


Комментарии   

Fruiste
0 #281 Fruiste 17.10.2019 02:24
mobile dating apps 2020 http://quecontactos-com.aevault.site/contactos-molins-de-rei jaumo flirt chat and dating apk
Цитировать
VideoseFer
0 #282 VideoseFer 17.10.2019 04:32
Новое порно видео ролики на андроид смарт с самыми классными категориями. Можно посмотреть онлайн и закачать без регистрации

японки порно лучшие ххх ролики секса http://sex.hoporno.net/ порно скачать на мобильный телефон
http://sexiporno.ru/ - смотреть порно онлайн http://mobi-sat.ru мобильное порн
Цитировать
DollieFer
0 #283 DollieFer 17.10.2019 12:11
Новое порно видео ролики на андроид смартфонов с популярными категориями. Можно посмотреть онлайн и скачать без вирусов

порно зо скачать лучшие ххх ролики секса http://mobi-sat.ru/ порно скачать на мобильный телефон
Цитировать
Innasnofe
0 #284 Innasnofe 17.10.2019 17:36
Как вылечить алкоголика

Врачи этой клиники - жулики
Цитировать
Kevinallon
0 #285 Kevinallon 17.10.2019 21:14
foto porn little girls

https://www.laurel-e-hardy.it/forum/index.php?topic=3307
http://www.farmkaikhai.com/board/index.php?topic=120477
http://web1.ss-zlatar.skole.hr/forum_novi/viewtopic.php?f=2&t=76121
https://www.theninthconfiguration.com/forum/showthread.php?161951-jailbait-video-vk&p=226050#post226050
Цитировать
dihodordsky
0 #286 dihodordsky 18.10.2019 14:46
Хотите надежную охрану? Щенки немецкой овчарки с дрессировкой.: http://www.abc64.ru/.: http://www.abc64.ru/. Дрессировка собак в питомнике немецкой овчарки.: http://www.abc64.ru/ Дрессировка собак.: http://www.kinologiyasaratov.ru/. Двухмесячные Щенки и взрослые дрессированные овчарки. Порода немецкая овчарка. Собаки с родословной.
Цитировать
linarepeikina
0 #287 linarepeikina 18.10.2019 17:59
Клуб любителей собак СИРИУС.: http://www.clubsirius.kinologiyasaratov.ru/.: http://www.clubsirius.kinologiyasaratov.ru/. Собаководы вступайте в клубы. Кинология и дрессировка в Саратове.: http://www.kinologiyasaratov.ru/.: http://www.clubsirius.kinologiyasaratov.ru/. Купить щенка немецкой овчарки: http://www.abc64.ru/. Кинологические выставки: http://www.clubsirius.kinologiyasaratov.ru/.
Цитировать
Svob0Da4
0 #288 Svob0Da4 18.10.2019 18:06
Наркологический центр "Свобода" в Киеве предлагает комплексную помощь в лечении алкоголизма и наркомании.
Я знаю, очень у многих людей есть близкие,
друзья, у которых есть проблемы с алкогольной
или наркотической зависимостью.
Наркологический Центр реабилитации Свобода в Киеве поможет вам . Я сам прошел Лечение в данном центре
и с уверенностью могу сказать, это работает
Лечение алконаркозависимости-Наркологичемкий центр пансионат Свобода: https://svoboda.in.ua/
Лечение наркомании Киев: https://svoboda.in.ua/lechenie-narkomanii-kiev/
Лечение алкоголизма Киев: https://svoboda.in.ua/lechenie-alkogolizma-kiev/
Лечение алконаркозависимости-Наркологический Центр Свобода: https://svoboda.in.ua/
Цитировать
olyaruhmonov
0 #289 olyaruhmonov 18.10.2019 18:28
Вступить в яхтклуб. Подготовка лодок к зимниму хранению.: http://boat.matrixboard.ru/.: http://boat.matrixboard.ru/. Как и чем отиыть днище и борта катера ниже ватерлинии.: http://boat.matrixboard.ru/.: http://www.matrixboard.ru/. Купить продать лодки, катера, лодочные моторы на доске обхявлений: http://www.matrixboard.ru/. Скпка гидроциклов, аквабайков. Ремонт и гарантийный ремонт.
Цитировать
Debradiavy
0 #290 Debradiavy 18.10.2019 20:03
Хай.
Мое имя Наташа.
Познакомлюсь с мужчиной для встречи. Приеду к тебе на район или встримся у меня. Живу близко.
My social media profile
Цитировать
milamoskvich
0 #291 milamoskvich 18.10.2019 20:25
Купить каталог сайтов. Интернет каталоги.: http://www.catalog.matrixplus.ru/.: http://www.catalog.matrixplus.ru/. Новости на сайтах: http://www.matrixplus.ru/vesti. Размещение отзывов.: http://www.matrixplus.ru/vesti. Все про робототехнику. Сделать робота своими руками: http://www.catalog.matrixplus.ru/.
Цитировать
imoskvichkina
0 #292 imoskvichkina 18.10.2019 21:06
Конец навигации. Устраняем дефекты днища. Купить химию для мойки и очистки днища катера, лодки.: http://ws.matrixplus.ru.: http://ws.matrixplus.ru. Химия для очистки днища яхт, гидроциклов, катеров, лодок. Какой химией смыть наросты и краску. Химия для стирки парусов.: http://www.matrixplus.ru.: http://ws.matrixplus.ru. Доставка в регионы. Купить Фаворит-К: http://www.matrixplus.ru
Цитировать
svidanie.net
0 #293 svidanie.net 19.10.2019 08:12
Знакомства с девушками и парнями из Лабинска https://m.svidanie.net/znakomstva/labinsk
Цитировать