{"id":528,"date":"2020-10-07T14:49:45","date_gmt":"2020-10-07T14:49:45","guid":{"rendered":"https:\/\/cinnk.com\/index.php\/2020\/10\/07\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/"},"modified":"2020-10-07T14:49:45","modified_gmt":"2020-10-07T14:49:45","slug":"aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017","status":"publish","type":"post","link":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/","title":{"rendered":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7  &#8211; Juillet 2017"},"content":{"rendered":"<p>Le pr\u00e9sent article tente de compiler un maximum d&rsquo;informations sur les Custom Fields (Champs Personnalis\u00e9s) introduits dans Joomla! 3.7, qui ouvrent beaucoup de perspectives.<\/p>\n<p>Il compl\u00e8te utilement <a href=\"index.php?option=com_content&amp;view=article&amp;id=977;les-champs-personnalises-dans-joomla&amp;catid=119&amp;lang=fr-FR\">l&rsquo;article de pr\u00e9sentation g\u00e9n\u00e9rale des Custom Fields (traduction de l&rsquo;article de Sander Potjer publi\u00e9 dans le Webdesigner Magazine NL #94), disponible dans ce m\u00eame num\u00e9ro du Cinnk Magazine<\/a>.<\/p>\n<p>Il se veut aussi complet que possible, avec m\u00eame parfois des sources dans diff\u00e9rentes langues.<\/p>\n<p>Le sujet est neuf et nombreux sont les articles et extensions qui continuent \u00e0 sortir. Aussi, n&rsquo;h\u00e9sitez pas \u00e0 partager vos d\u00e9couvertes dans les commentaires ci-dessus ou en me contactant directement.<\/p>\n<p style=\"text-align: center;\"><img fetchpriority=\"high\" decoding=\"async\" class=\" size-full wp-image-527\" src=\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\" alt=\"joomla custom field\" width=\"800\" height=\"275\" srcset=\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg 800w, https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field-600x206.jpg 600w, https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field-300x103.jpg 300w, https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field-768x264.jpg 768w\" sizes=\"100vw\" \/><\/p>\n<p><!--more--><br \/>\nLe pr\u00e9sent article tente de compiler un maximum d&rsquo;informations sur les Custom Fields (Champs Personnalis\u00e9s) introduits dans Joomla! 3.7, qui ouvrent beaucoup de perspectives.<br \/>\nIl compl\u00e8te utilement l&rsquo;article de pr\u00e9sentation g\u00e9n\u00e9rale des Custom Fields (traduction de l&rsquo;article de Sander Potjer publi\u00e9 dans le Webdesigner Magazine NL #94), disponible dans ce m\u00eame num\u00e9ro du Cinnk Magazine.<br \/>\nIl se veut aussi complet que possible, avec m\u00eame parfois des sources dans diff\u00e9rentes langues.<br \/>\nLe sujet est neuf et nombreux sont les articles et extensions qui continuent \u00e0 sortir. Aussi, n&rsquo;h\u00e9sitez pas \u00e0 partager vos d\u00e9couvertes dans les commentaires ci-dessus ou en me contactant directement.<\/p>\n<p>Les ressources g\u00e9n\u00e9rales<br \/>\nCommen\u00e7ons par le d\u00e9but : le site officiel de la Documentation Joomla<\/p>\n<p>FR&nbsp;https:\/\/docs.joomla.org\/J3.x:Adding_custom_fields\/fr<br \/>\nEN&nbsp;https:\/\/docs.joomla.org\/J3.x:Adding_custom_fields <\/p>\n<p>Portail Joomla.fr et Joomla Community Magazine<\/p>\n<p>Episode 1&nbsp;<\/p>\n<p>FR&nbsp;https:\/\/www.joomla.fr\/actualites\/cp-episode-1-cas-utilisation-champs-personnalises<br \/>\nEN&nbsp;https:\/\/magazine.joomla.org\/item\/3326-how-far-can-we-go-with-joomla-and-custom-fields <\/p>\n<p>Episode 2<\/p>\n<p>FR&nbsp;https:\/\/www.joomla.fr\/actualites\/cp-episode-2-comment-gerer-ses-champs-personnalises<br \/>\nEN&nbsp;https:\/\/magazine.joomla.org\/item\/3330-custom-fields-episode-2-how-to-manage-your-custom-fields <\/p>\n<p>Joomla Extension Directory<\/p>\n<p>beginning 2018, a new Category called \u00ab\u00a0Custom Fields\u00a0\u00bb has been added to the JED (Joomla Extensions Directory), which is an excellent thing https:\/\/extensions.joomla.org\/category\/authoring-a-content\/custom-fields\/   (but note that not all authors have moved their extension to that Category, especially if the main purpose of the extension fits better in another Category)<\/p>\n<p>Article de survol (FR)<\/p>\n<p> https:\/\/cinnk.com\/magazine\/avril-2017\/930-joomla-3-7-sur-les-champs<br \/>\n https:\/\/cinnk.com\/magazine\/juillet-2017\/977-les-champs-personnalises-dans-joomla(traduction de l&rsquo;article de Sander Potjer, version originale NL : sanderpotjer.nl\/customfields)     <\/p>\n<p>Articles de survol (EN)<\/p>\n<p> https:\/\/www.joomlashack.com\/blog\/tutorials\/custom-fields &nbsp;(intro)<br \/>\n https:\/\/www.joomlashack.com\/blog\/tutorials\/fields-joomla &nbsp;(d\u00e9tails)<br \/>\n https:\/\/www.joomshaper.com\/blog\/how-to-use-joomla-3-7-custom-fields<br \/>\n https:\/\/www.joomlabeginner.com\/blog\/tutorials\/65-how-to-add-custom-fields-to-joomla-articles<br \/>\n https:\/\/www.joomla-monster.com\/documentation\/joomla-tutorials\/custom-fields-in-joomla-3-7   <\/p>\n<p>Articles de survol (DE)<\/p>\n<p> https:\/\/www.hosteurope.de\/blog\/joomla-overrides-und-custom-fields-ein-dreamteam&nbsp;by&nbsp;Viviana Menzel&nbsp;<br \/>\n https:\/\/www.hanser-elibrary.com\/isbn\/9783446440159   \u00ab\u00a0Joomla! 3 Professionelle Webentwicklung. Aktuell zu Version 3.7\u00a0\u00bb by David Jardin and Elisa Foltynwith a&nbsp;Chapter \u00ab\u00a0Eigene Felder\u00a0\u00bb (Custom Fields) :&nbsp;https:\/\/www.hanser-elibrary.com\/doi\/pdf\/10.3139\/9783446440883.016 <\/p>\n<p>\u00ab\u00a0How to Add Custom Fields to Joomla! Contact Forms\u00a0\u00bb (EN)<\/p>\n<p> https:\/\/www.joomlashack.com\/blog\/tutorials\/contact-custom-fields&nbsp;(voir ci-dessous pour plus de d\u00e9veloppements)<\/p>\n<p>Elisa Foltyn a publi\u00e9 sur son blog un excellent tutoriel d\u00e9taill\u00e9 sur&nbsp;comment cr\u00e9er son propre plugin de champ personnalis\u00e9.Il est disponible en anglais et en allemand :<\/p>\n<p>Tutorial: Build your own custom field plugin https:\/\/coolcat-creations.com\/en\/blog\/tutorial-build-your-own-custom-field-plugin&nbsp;<br \/>\nTutorial: Erstelle ein eigenes Custom Field Plugin https:\/\/coolcat-creations.com\/blog\/tutorial-erstelle-ein-eigenes-custom-field-plugin <\/p>\n<p>\u00ab\u00a0Custom Fields in Joomla! 3.7\u00a0\u00bb (DE)<\/p>\n<p> http:\/\/www.dev-insider.de\/custom-fields-in-joomla-37-a-615010\/ <\/p>\n<p>Pour m\u00e9moire, avant l&rsquo;introduction des Custom Fields, il \u00e9tait bien s\u00fbr d\u00e9j\u00e0 possible pour un \u00ab\u00a0d\u00e9veloppeur\u00a0\u00bb de cr\u00e9er \u00ab\u00a0manuellement\u00a0\u00bb des champs :<\/p>\n<p> https:\/\/docs.joomla.org\/Creating_a_custom_form_field_type   <\/p>\n<p>Les Custom Fields pr\u00e9sent\u00e9s lors de conf\u00e9rences<br \/>\nJoomladay DE (N\u00fcrnberg, 9-10\/11\/2018)<\/p>\n<p> https:\/\/www.joomladay.de&nbsp;2 topics<\/p>\n<p>Elisa Foltyn a pr\u00e9sent\u00e9 en d\u00e9tail comment r\u00e9aliser un \u00ab\u00a0diagramme de gantt\u00a0\u00bb (un tableau de planning) sur base des Champs Personnalis\u00e9s R\u00e9p\u00e9tables &nbsp;(Repeatable Fields, introduits par J!3.9) et en utlilisant des overrides :  https:\/\/coolcat-creations.com\/slides\/jd18de\/jd18de.pdf &nbsp;  https:\/\/github.com\/coolcat-creations\/joomla-timeline<br \/>\nAxel Hartmann (Continga) a trait\u00e9 de \u00ab\u00a0Custom Fields Type Subform\u00a0\u00bb (\u00ab\u00a0Custom Fields verschachtelt\u00a0\u00bb) https:\/\/www.slideshare.net\/continga\/joomladay-germany-2018-custom-fields-type-subform  https:\/\/www.youtube.com\/watch?v=XMVAvkEQX5o      <\/p>\n<p>JoomlaDay FR (Paris, 18-19\/05\/2018)<\/p>\n<p> https:\/\/www.joomladay.fr\/20182&nbsp;topics <\/p>\n<p>Les Overrides de Layout : utilisez la puissance et la souplesse de Joomla!(NDLR : utile pour apr\u00e8s exploiter les Custom Fields dans les layouts) https:\/\/www.joomladay.fr\/2018\/programme\/conferences\/les-overrides-de-layout-utilisez-la-puissance-et-la-souplesse-de-joomla<br \/>\nLa beaut\u00e9 et la puissance des Custom Fields coupl\u00e9s aux Overrides de Layout https:\/\/www.joomladay.fr\/2018\/programme\/conferences\/la-beaute-et-la-puissance-des-custom-fields-couples-aux-overrides-de-layout <\/p>\n<p>JoomlaDagen NL (Eindhoven, 13-14\/04\/2018)<\/p>\n<p> https:\/\/www.joomladagen.nl\/programma&nbsp;2 topics :<\/p>\n<p>Custom Fields : how far can you go ?   https:\/\/www.joomladagen.nl\/presentaties\/custom-fields-how-far-can-you-go  https:\/\/slides.woluweb.be\/jd18nl\/cf&nbsp;<br \/>\nCreate your own custom Field Plugin (Elisa Foltyn) https:\/\/www.joomladagen.nl\/presentaties\/create-your-own-custom-field-plugin    https:\/\/coolcat-creations.com\/slides\/jd18nl\/slides.pdf      <\/p>\n<p>Joomla Camp DE (Joomla Unconference &#8211; 03\/02\/2018 &#8211; DE)<\/p>\n<p> https:\/\/www.joomlacamp.de<br \/>\nEin EIGENES custom field Erstellen&nbsp;   https:\/\/coolcat-creations.com\/slides\/jc18de\/slides_jc18de.pdf <\/p>\n<p>Joomla User Group Provence-Marseille (09\/01\/2018 &#8211; FR)<\/p>\n<p>Open forum Custom Fields (vid\u00e9o 1h48) https:\/\/www.facebook.com\/groups\/833179530125274\/permalink\/1479133712196516\/&nbsp;<\/p>\n<p>Joomla World Conference Rome (17-19\/11\/2017 &#8211; EN)<\/p>\n<p>Joomla Custom Fields &#8211; Using Them to Their Full Potential &#8211; by Geraint Edwards https:\/\/conference.joomla.org\/schedule\/joomla-custom-fields-using-them-to-their-full-potential.html  https:\/\/www.youtube.com\/joomla <\/p>\n<p>JoomlaDay DE (22-23\/09\/2017 &#8211; EN)<\/p>\n<p>Build your own Custom Field Plugin &#8211; by Elisa Foltyn https:\/\/www.joomladay.de\/sprecher?view=session&amp;id=2684&nbsp;<\/p>\n<p>Joomladay UK (08\/07\/2017 &#8211; EN)<\/p>\n<p>An in depth look at Custom Fieldspar Allon Moritz, le cr\u00e9ateur de DPFields, qui a \u00e9t\u00e9 int\u00e9gr\u00e9 dans Joomla! et am\u00e9lior\u00e9 sous le nom de Custom Fields<\/p>\n<p>Synopsis :&nbsp;http:\/\/www.joomla-day.uk\/component\/timetable\/event\/an-in-depth-look-at-custom-fields<br \/>\nVid\u00e9o :&nbsp;https:\/\/www.youtube.com\/watch?v=Aaql8u4ZLDA&nbsp;<\/p>\n<p>Easy template overrides with Custom Fieldspar Tony Partridge de EasyLayouts.net, une extension payante<\/p>\n<p>Synopsis :&nbsp;http:\/\/www.joomla-day.uk\/component\/timetable\/event\/overrides-made-easy<br \/>\n  Vid\u00e9o :&nbsp;https:\/\/www.youtube.com\/watch?v=1ZsGzu8LTPg <\/p>\n<p>J&amp;Beyond (02-04\/06\/2017 &#8211; EN)<\/p>\n<p> http:\/\/jandbeyond.org\/programme.html?view=session&amp;id=405&amp;return=L3Byb2dyYW1tZS5odG1s (synopsis)par Geraint Edwards de EasyLayouts.net, une extension payante<br \/>\n https:\/\/www.youtube.com\/watch?v=9_EhniR6FE4 (vid\u00e9o)<\/p>\n<p>JoomlaDay Marseille (12-13\/05\/2017 &#8211; FR)<\/p>\n<p> https:\/\/www.joomladay.fr\/presentations-a-telecharger\/decouvrez-le-potentiel-des-champs-personnalises-de-jooma-3-7 (synopsis + vid\u00e9o)par Jean-Marc Bouill\u00e9<\/p>\n<p>JoomlaDay Austria (02-03\/12\/2016 &#8211; EN)<\/p>\n<p> https:\/\/www.youtube.com\/watch?v=F_Ni15icn1U (vid\u00e9o &nbsp;&#8211; 38 min.)par Allon Moritz, le cr\u00e9ateur de DPFields, qui a \u00e9t\u00e9 int\u00e9gr\u00e9 dans Joomla! et am\u00e9lior\u00e9 sous le nom de Custom Fields<\/p>\n<p>Joomla World Conference (11-13\/11\/2016 &#8211; EN)<\/p>\n<p> https:\/\/www.youtube.com\/watch?v=fgDoZsD71H8&nbsp;(vid\u00e9o &#8211; 41 min.)par Marco Dings<\/p>\n<p>JoomlaDay Germany (16-17\/09\/2016)<\/p>\n<p>Custom Fields in Joomla! for the end users https:\/\/www.youtube.com\/watch?v=I4DzrGMoLqE (slides EN &#8211; langue parl\u00e9e DE)<br \/>\nCustom Fields in Joomla! for developers https:\/\/www.youtube.com\/watch?v=eeHbN0b4aoQ (slides EN &#8211; langue parl\u00e9e DE)<\/p>\n<p>JoomlaDay UK (13\/02\/2016)<\/p>\n<p>Custom Fields 4 Joomla par Marco Dings https:\/\/fr.slideshare.net\/RCheesley\/custom-fields-in-joomla-joomladay-uk-2016-marco-dings  https:\/\/www.youtube.com\/watch?v=KDh1IPuZAVA      <\/p>\n<p>Les plugins de Custom Fields<br \/>\nComme on s&rsquo;en aper\u00e7oit rapidement en survolant les ressources ci-dessus, les Custom Fields ouvrent\u2026 le champ des possibles.<br \/>\nEn natif, Joomla! embarque une quinzaine de types de champs diff\u00e9rents.<br \/>\nTechniquement, il s&rsquo;agit de plugins. On peut donc d\u00e9sactiver un type de champ simplement en d\u00e9sactivant le plugin correspondant (filtrer les plugins sur le type \u00ab\u00a0fields\u00a0\u00bb pour directement voir tous les types disponibles).<br \/>\nEt puisque les types de champs sont des plugins, cela signifie aussi qu&rsquo;il est facile d&rsquo;en ajouter sur un site. De nombreux nouveaux types vont encore appara\u00eetre\u2026 et sont d\u00e9j\u00e0 apparus (parfois ils sont gratuits, parfois payants). Voici ceux d\u00e9j\u00e0 disponibles :<br \/>\nPar Allon Moritz (gratuit)<br \/>\nAllon Moritz, le p\u00e8re des Custom Fields, a mis \u00e0 disposition plusieurs Custom Fields sur son Github :&nbsp;https:\/\/github.com\/Digital-Peak\/DPFields. On y trouve notamment les \u00ab\u00a0DPFields\u00a0\u00bb suivants :<\/p>\n<p>champ Gallery (galerie d&rsquo;images)<br \/>\nchamp Map (Google Map)<br \/>\nchamp Article (pour lier un article \u00e0 un autre)<br \/>\nchamp Media (avec plus d&rsquo;options que le champ par d\u00e9faut de Joomla)<\/p>\n<p>Par Elisa Foltyn (gratuit)<\/p>\n<p>blog view with Tag &amp; Custom Field Filter (un override de la vue blog, mettre les fichiers dans&nbsp;\/components\/com_content\/views\/category\/tmpl) https:\/\/github.com\/coolcat-creations\/blog-tagfilter<br \/>\nchamp carte OpenStreetMap https:\/\/github.com\/coolcat-creations\/plg_fields_osm<br \/>\nchamp YouTube with lazyload https:\/\/github.com\/coolcat-creations\/cccyoutubefield\/<br \/>\nchamp Google Invisible Recaptcha pour l&rsquo;enregistrement utilisateurs + le formulaire de contact https:\/\/github.com\/coolcat-creations\/cccinvisiblerecaptcha\/<br \/>\nchamp url avec ic\u00f4ne Font-Awesome https:\/\/github.com\/coolcat-creations\/plg_fields_iconlink\/&nbsp;<br \/>\nchamp \u00ab\u00a0voyage\u00a0\u00bb &#8211; affiche une adresse, une carte ou une gallerie flickr \u00e0 partir de l&rsquo;input utilisateur (avec autocomplete) https:\/\/github.com\/coolcat-creations\/plg_fields_travel<br \/>\naffiche les images d&rsquo;un dossier donn\u00e9 dans un carrousel bootstrap 4   https:\/\/github.com\/coolcat-creations\/simpleBootstrapSlider<br \/>\naffiche un champ d&rsquo;adresse avec \u00ab\u00a0autocomplete d&rsquo;Algolia\u00a0\u00bb   https:\/\/github.com\/coolcat-creations\/plg_fields_addresscomplete <\/p>\n<p>Par Tassos Marinos (version gratuite et version payante \u00e0pd \u20ac 19)<br \/>\n https:\/\/www.tassos.gr\/joomla-extensions\/advanced-custom-fields <\/p>\n<p>D\u00e9j\u00e0 disponible au moment de la r\u00e9daction<\/p>\n<p>YouTube Field<br \/>\nGoogle Maps Field<br \/>\nVimeo Field<br \/>\nDailyMotion Field<br \/>\nFacebook Video Field<br \/>\nHTML5 Video Field<br \/>\nHTML5 Audio Field<br \/>\nSoundCloud Field<br \/>\nTrue\/False Field<br \/>\nTimepicker Field<br \/>\nCurrency Field<br \/>\nCountry Field<br \/>\nBing Maps<br \/>\nIFrame<br \/>\nProgress Bar<br \/>\nDownload Button<br \/>\nModule Field (Pro only)<\/p>\n<p>Disponible bient\u00f4t (ou entre-temps d\u00e9j\u00e0 disponible)<\/p>\n<p>File Upload Custom Field<br \/>\nFacebook Page Like Custom Field<br \/>\nTwitter Custom Field<br \/>\nWhatsApp Custom Field<br \/>\nRepeater Custom Field<br \/>\nCountdown Custom Field<br \/>\nFlickr Custom Field<br \/>\nQR Code Custom Field<br \/>\nGravatar Custom Field<\/p>\n<p>Par RegularLabs<br \/>\nEn octobre 2017, RegularLabs sort son 1er plugin de Champ Personnalis\u00e9 (NB : par ailleurs, les Custom Fields sont aussi int\u00e9gr\u00e9s dans Article Anywhere)<\/p>\n<p>Articles Field, qui permet de faire des liens vers d&rsquo;autres articlesCe Champ Personnalis\u00e9 est extr\u00eamement facile\/puissant\/configurableOn peut typiquement l&rsquo;utiliser sur un site o\u00f9 il y aurait d&rsquo;une part des Livres, d&rsquo;autres part des Auteurs : on peut ainsi facilement associer des Auteurs \u00e0 des Livres et r\u00e9ciproquement https:\/\/www.regularlabs.com\/extensions\/articlesfield&nbsp;<\/p>\n<p>NB : pour un usage (ultra-)avanc\u00e9, si on souhaite avoir un Custom HTML Output du Custom Field diff\u00e9rent selon telle ou telle page du site, c&rsquo;est possible en combinant avec ReReplacer : https:\/\/www.regularlabs.com\/forum\/articlesfield\/45206-custom-html-output-how-to-have-2-different-outputs-for-example <\/p>\n<p>Articles Anywhere, qui permet dans sa version Pro d&rsquo;utiliser les Custom Fields<\/p>\n<p>int\u00e9gration des Custom Fields https:\/\/www.regularlabs.com\/extensions\/articlesanywhere\/tutorial#custom-fields<br \/>\n\u00e0 noter :<\/p>\n<p>il est possible de filtrer sur les Custom Fields (pour les valeurs simples et les listes)   https:\/\/www.regularlabs.com\/extensions\/articlesanywhere\/tutorial#filters<br \/>\nmais il n&rsquo;est pas possible de trier sur les Custom Fields(sauf \u00e9ventuelllement \u00e0 combiner avec Sourcerer pour ins\u00e9rer son propre code PHP, voir p.ex.&nbsp;https:\/\/www.regularlabs.com\/forum\/articlesanywhere\/42644-limit-articles-by-date#70063)<\/p>\n<p>Par Stereonomy<\/p>\n<p>Related Articles Free&nbsp;https:\/\/www.stereonomy.com\/joomla-products\/item\/related-articles-custom-field<br \/>\nRelated Articles Pro (coming soon)<br \/>\nBar Chart Free&nbsp;https:\/\/www.stereonomy.com\/joomla-products\/item\/bar-chart-custom-field-for-joomla<br \/>\nBar Chart Pro (\u20ac 9) https:\/\/www.stereonomy.com\/joomla-products\/item\/bar-chart-custom-field-pro-for-joomla <\/p>\n<p>Par Joomill<br \/>\n(version gratuite et version payante \u00e0 \u20ac 10. Voir les diff\u00e9rences sur&nbsp;https:\/\/www.joomill-extensions.com\/extensions\/custom-fields-vimeo-plugin\/compare)<\/p>\n<p>Youtube https:\/\/extensions.joomla.org\/extensions\/extension\/multimedia\/multimedia-players\/custom-fields-youtube\/<br \/>\nVimeo https:\/\/extensions.joomla.org\/extensions\/extension\/multimedia\/multimedia-players\/custom-fields-vimeo\/<br \/>\nSlideshare https:\/\/www.joomill-extensions.com\/downloads\/custom-fields-slideshare-plugin <\/p>\n<p>Par le JUG Nuremberg<\/p>\n<p>Joomla! CustomField &#8211; Displays jpg-images from a folder within a gallery and lightbox (uikit-template) https:\/\/github.com\/JUG-Nuremberg\/jugnbg_uikitgalleryfield  https:\/\/github.com\/coolcat-creations\/jugnbg_uikitgalleryfield&nbsp;     <\/p>\n<p>Par Nordmograph (payant \u20ac 14)<\/p>\n<p>OpenStreetMap Custom Field https:\/\/www.nordmograph.com\/extensions\/index.php?option=com_virtuemart&amp;view=productdetails&amp;virtuemart_product_id=192&amp;virtuemart_category_id=7&amp;Itemid=58<br \/>\nGoogle Map Custom Field https:\/\/extensions.joomla.org\/extensions\/extension\/maps-a-weather\/gmap-custom-field\/  https:\/\/www.nordmograph.com\/extensions\/index.php?option=com_virtuemart&amp;view=productdetails&amp;virtuemart_product_id=175&amp;virtuemart_category_id=7&amp;Itemid=58<br \/>\nIl est m\u00eame possible d&rsquo;obtenir une carte Google Map multi-points en combinant les diff\u00e9rentes extensions<\/p>\n<p>Le custom field pour assigner une localisation \u00e0 un article.&nbsp;Le champs affiche une carte dans le formulaire, o\u00f9 on peut cliquer ou sp\u00e9cifier une adresse.(l&rsquo;autre plugin &lsquo;Itin&rsquo; permet quant \u00e0 lui, lui d&rsquo;assigner des itineraires plus complexes \u00e0 un article.)<br \/>\n Geommunity Lite (composant + module) pour afficher une carte (dont les marqueurs sont charg\u00e9s par diff\u00e9rents plugins) (9\u20ac)<br \/>\nLe plugin qui \u00ab\u00a0fait le pont\u00a0\u00bb en allant chercher les articles localis\u00e9s pour les afficher dans la grande carte (gratuit). Sur la carte, on aura les marqueurs aux emplacements des articles et une \u00ab\u00a0infowindow\u00a0\u00bb avec des infos (basiques + custom fields) sur l&rsquo;article<\/p>\n<p>Itinerary Map Custom Field https:\/\/extensions.joomla.org\/extensions\/extension\/maps-a-weather\/maps-a-locations\/itinerary-map-custom-field\/<br \/>\nBitcoin And Cryptocurrencies Custom Field https:\/\/extensions.joomla.org\/extensions\/extension\/e-commerce\/donations\/bitcoin-and-cryptocurrencies-custom-field\/ <\/p>\n<p>Par EasyLayouts (payant, dans le cadre de l&rsquo;extension EasyLayouts)<br \/>\n https:\/\/www.easylayouts.net\/ <\/p>\n<p>Related Article<br \/>\nManaged Location (en lien avec JEvents)<\/p>\n<p>Par Lomart<\/p>\n<p>LightboxSur le forum, Lomart a post\u00e9 un exemple de plugin qu&rsquo;on peut d\u00e9velopper soi-m\u00eame pour g\u00e9rer une demande particuli\u00e8re (dans le cas d&rsquo;esp\u00e8ce, un lien lightbox sur une image) https:\/\/forum.joomla.fr\/showthread.php?220731&nbsp;<\/p>\n<p>Par Christian Hent<\/p>\n<p>Un plugin pour ins\u00e9rer un champ&nbsp;HTML5Media   https:\/\/github.com\/christianhent\/plg_fields_jugnmedia\/tree\/master   <\/p>\n<p>Par JoomlaXTC<\/p>\n<p>HTML5 Audio Custom Field https:\/\/www.joomlaxtc.com\/joomla-extensions\/audio-custom-field<br \/>\nHTML5 Video Custom Field https:\/\/www.joomlaxtc.com\/joomla-extensions\/video-custom-field<br \/>\nYouTube Custom Field https:\/\/www.joomlaxtc.com\/joomla-extensions\/youtube-custom-field<br \/>\nProgress Bar Custom Field https:\/\/www.joomlaxtc.com\/joomla-extensions\/progress-bar-custom-field   <\/p>\n<p>Par&nbsp;Sergio Iglesias<\/p>\n<p>SlideShare Custom Field https:\/\/sergiois.github.io\/cfslideshare.html<br \/>\nGist Custom Field (to integrate&nbsp;Gist of GitHub) https:\/\/sergiois.github.io\/cfgist.html<br \/>\nInstagram Custom Field https:\/\/sergiois.github.io\/cfinstagram.html<br \/>\nPayPal Me Custom Field https:\/\/sergiois.github.io\/cfpaypalme.html<br \/>\niVoox Podcast Custom Field   https:\/\/sergiois.github.io\/cfivoox.html   <\/p>\n<p>Par FireCoders<\/p>\n<p>Econa for Joomla : en bref, des images responsive (plusieurs tailles d&rsquo;images servies selon la taille de l&rsquo;\u00e9cran) sous forme de champ personnalis\u00e9 Upload, resize, crop and edit images for Joomla and K2. Integrates with Joomla Custom Fields providing responsive images, retina images, automatic image resizing, multiple image sizes, custom image names, image editor and many other great features in a single extension!  https:\/\/extensions.joomla.org\/extensions\/extension\/photos-a-images\/images\/econa-for-joomla-articles-and-k2-items\/&nbsp; https:\/\/www.firecoders.com\/joomla-extensions\/econa<br \/>\nShowtime Image Gallery Showtime Joomla Gallery is the most modern, elegant and simple image gallery component for Joomla! The only Joomla gallery that supports custom fields and live previews right into the article editor!  https:\/\/www.firecoders.com\/joomla-extensions\/showtime-image-gallery  https:\/\/extensions.joomla.org\/extensions\/extension\/photos-a-images\/galleries\/showtime-image-gallery\/ <\/p>\n<p>Par Cory Webb<\/p>\n<p>CW Field Display : pour afficher un champ \u00ab\u00a0n&rsquo;importe o\u00f9\u00a0\u00bb With CW Field Display, you can either set a specific context and item ID in the module parameters, or allow it to use the current page&rsquo;s context and item ID. You can also set specific fields or field groups to be displayed or allow it to display all custom fields. This module gives you greater control over how and where you display custom fields on each page because it makes it possible to display custom fields outside of the component&rsquo;s output.    https:\/\/cwextensions.com\/extensions\/cw-field-display   <\/p>\n<p>Par Roland Dalmulder<\/p>\n<p>CSV Improved : en tant que tel, il s&rsquo;agit d&rsquo;une extension permettant d&rsquo;importer\/exporter les articles\/utilisateurs\/&#8230; vers\/depuis son site Joomla. Depuis juin 2017, il int\u00e8gre \u00e9galement les champs personnalis\u00e9s   https:\/\/csvimproved.com\/news\/2635-csvi-pro-7-2-0-released  https:\/\/csvimproved.com\/support\/tutorials\/278-joomla-custom-fields\/2938-joomla-custom-fields &nbsp;  https:\/\/csvimproved.com\/support\/tutorials\/249-joomla-content     <\/p>\n<p>Par designs.ch<\/p>\n<p>nx-YouTube : un champ persoonalis\u00e9 pour int\u00e9grer des vid\u00e9os YouTube responsives en exploitant toutes les possibilit\u00e9s de l&rsquo;API v3 de YouTube   https:\/\/nx-designs.ch\/index.php\/projekte\/joomla-extensions\/nx-youtube-cust-field   <\/p>\n<p>DP Calendar<\/p>\n<p>DP Calendar \u00e9tant d\u00e9velopp\u00e9 par le p\u00e8re des Custom Fields, il \u00e9tait logique qu&rsquo;elle les int\u00e8gre https:\/\/joomla.digital-peak.com\/products\/dpcalendar <\/p>\n<p>Par Acymailing<br \/>\nDans sa version 5.9, AcyMailing int\u00e8gre les Custom Fields, comme indiqu\u00e9 sur le changelog :<\/p>\n<p>Joomla article custom fields handled when inserting articles<br \/>\nJoomla user custom fields handled in user information insertion and mass actions<\/p>\n<p>Illustration :<\/p>\n<p>Dans sa version 5.10, Acymailing va encore plus loin :<\/p>\n<p>The Joomla custom fields can now be inserted in a custom plugin template using the syntax {custom:my_field}<\/p>\n<p>OS Downloads de JoomlaShack<br \/>\nL&rsquo;extension OS Downloads de JoomlaShack permet de proposer en t\u00e9l\u00e9chargement des fichiers (pdf, &#8230;) en \u00e9change de l&rsquo;adresse email du visiteur.<br \/>\nEn janvier 2018, la possibilit\u00e9 d&rsquo;ajouter des Custom Fields a \u00e9t\u00e9 introduite. Plus d&rsquo;informations sur<\/p>\n<p> https:\/\/www.joomlashack.com\/docs\/osdownloads\/collect-user-data\/<br \/>\n https:\/\/www.joomlashack.com\/blog\/joomlashack\/custom-fields-osdownloads\/   <\/p>\n<p>PWT Image<br \/>\nPWT Image de Perfect Web Team est une extension payante permettant notamment de redimensionner\/retailler les images et p.ex. de forcer un ratio donn\u00e9.<br \/>\nDepuis le 20.10.2018, il peut \u00eatre utilis\u00e9 comme Custom Field<\/p>\n<p> https:\/\/extensions.perfectwebteam.com\/pwt-image <\/p>\n<p>Canonical URL<br \/>\nIl ne s&rsquo;agit pas ici d&rsquo;une extension, mais d&rsquo;un exemple d&rsquo;utilisation des Custom Fields propos\u00e9 par Daniel Morell&#8230;. pour cr\u00e9er une URL canonique sur son site Joomla en natif<\/p>\n<p>Explication d\u00e9taill\u00e9e :&nbsp;https:\/\/www.danielmorell.com\/blog\/how-to-create-joomla-canonical-tags<br \/>\nR\u00e9f\u00e9rence \u00e0 ce sujet sur le frorum francophone :&nbsp;https:\/\/cinnk.com\/magazine\/juillet-2017\/960-custom-fields-bonus <\/p>\n<p>Les Template Overrides et les Alternate Layouts en g\u00e9n\u00e9ral<br \/>\nLorsqu&rsquo;on cr\u00e9e des Custom Fields, on peut les faire afficher de plusieurs mani\u00e8res :<\/p>\n<p>automatiquement, p.ex. avant\/apr\u00e8s le contenu de l&rsquo;article<br \/>\nmanuellement n&rsquo;importe o\u00f9 dans un article gr\u00e2ce \u00e0 la syntaxe<br \/>\n {field ID}<br \/>\no\u00f9 ID est l&rsquo;identifiant du champ, p.ex. 1<br \/>\nmais si on veut aller plus loin, on peut aussi utiliser les Overrides (ou les Alternate Layouts, lesquels sont des \u00e9galement surcharges mais qui sont appliqu\u00e9es \u00e0 la demande et pas d&rsquo;office)<\/p>\n<p>M\u00eame si vous n&rsquo;avez jamais r\u00e9alis\u00e9 d&rsquo;Override ou d&rsquo;Alternate Layout, vous allez d\u00e9couvrir que cela est finalement assez facile et cela va vous permettre de tirer le plein potentiel des Custom Fields au niveau de la pr\u00e9sentation de votre site.<br \/>\nPour cette raison, nous compilons ci-dessous une s\u00e9rie de ressources int\u00e9ressantes pour faire le tour de la question.<br \/>\nJoomlaDay Paris 2016<br \/>\nYann Gomerio et C\u00e9dric Keiflin avaient fait une excellente pr\u00e9sentation sur les \u201csurcharges et les layouts alternatifs\u201d<\/p>\n<p>Pr\u00e9sentation et vid\u00e9o https:\/\/www.joomladay.fr\/2016\/programme\/templates-et-surcharges-les-secrets-des-concepteurs <\/p>\n<p>JoomlaDay Netherlands 2017<br \/>\nPar Hans Kuijpers, sur une pr\u00e9sentation d&rsquo;Elisa Foltyn<\/p>\n<p> <iframe title=\"JD17NL Joomla! Overrides and alternate layouts\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/eaTM7Dl2rcQP7m\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe> <\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/hans2103\/jd17nl-joomla-overrides-and-alternate-layouts\" title=\"JD17NL Joomla! Overrides and alternate layouts\" target=\"_blank\">JD17NL Joomla! Overrides and alternate layouts<\/a> <\/strong> from <strong><a href=\"https:\/\/www.slideshare.net\/hans2103\" target=\"_blank\">Hans Kuijpers<\/a><\/strong> <\/div>\n<p>OSTraining<\/p>\n<p>The 13 Best Tutorials on Joomla! Template Overrides (EN) https:\/\/www.ostraining.com\/blog\/joomla\/list-of-ostraining-resources-on-joomla-teamplate-overrides<br \/>\nTutoriel vid\u00e9o (EN &#8211; payant) https:\/\/www.ostraining.com\/blog\/news\/template-overrides <\/p>\n<p>Livres<\/p>\n<p>C\u00e9dric Keiflin : \u00ab\u00a0Cr\u00e9ation de template Joomla! 3\u00a0\u00bb (FR \/ 320 pages \/ \u20ac 10) couvre tr\u00e8s bien notamment le sujet des Overrides et des Alternate Layouts https:\/\/www.joomlack.fr\/documentations-tutoriels-joomla\/livre-de-creation-de-templates<br \/>\nDavid Jardin &amp; Elisa Foltyn : \u00ab\u00a0Joomla! 3: Professionelle Webentwicklung. Aktuell zu Version 3.7\u00a0\u00bb (\u20ac 35, sortie pr\u00e9vue le 11\/09\/2017) https:\/\/www.amazon.de\/Joomla-Professionelle-Webentwicklung-Aktuell-Version\/dp\/3446440151\/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1497815721&amp;sr=1-1&amp;keywords=Elisa+Foltyn (livre uniquement en allemand pour l&rsquo;instant. Pourquoi pas une traduction p.ex. de certains chapitres ? Prenez contact avec les auteurs)<\/p>\n<p>Changer le format de la date (champ personnalis\u00e9 \u00ab\u00a0Calendrier\u00a0\u00bb) sans m\u00eame faire d&rsquo;override<br \/>\nSi on veut changer le layout d&rsquo;une page, on va devoir typiquement devoir effectuer un override.Mais s&rsquo;il s&rsquo;agit simplement de changer p.ex. le format de la date du champ personnalis\u00e9 \u00ab\u00a0Calendrier\u00a0\u00bb, il y a une technique nettement plus simple et rapide :<br \/>\n&#8230; le format date du champ personnalis\u00e9 \u00ab\u00a0Calendrier\u00a0\u00bb&nbsp;est en effet simplement modifiable \u00e0 partir du menu&nbsp;\u201cLangues: Substitutions de traduction\u201dde Joomla avec la cha\u00eene&nbsp;\u201cDATE_FORMAT_LC4\u201d&nbsp;pour la date et&nbsp;\u201cDATE_FORMAT_LC5\u201d&nbsp;pour la date et l\u2019heure.<br \/>\nDonc si on veut changer le format de date qui par d\u00e9faut est en&nbsp;Y-m-d&nbsp;il suffit de la remplacer avec&nbsp;d-m-Y. Si on veut avoir plus de valeurs pour la fonction date, on les retrouve&nbsp;ici.<br \/>\nDe plus, cela permet d&rsquo;avoir un format de date adapt\u00e9 \u00e0 chaque langue\/r\u00e9gion du monde (exemple : d-m-Y en France mais m-d-Y aux Etats-Unis)<br \/>\nLes Overrides dans le cadre des Custom Fields<br \/>\nMaintenant que le d\u00e9cor est plant\u00e9, on peut voir comment concr\u00e8tement r\u00e9aliser un Override dans le cadre des Custom Fields.<br \/>\nDocumentation officielle<\/p>\n<p> https:\/\/docs.joomla.org\/J3.x:Adding_custom_fields\/Overrides\/fr <\/p>\n<p>En particulier, la pr\u00e9sentation d&rsquo;Elisa Foltyn (#jd17nl) \u00e9voque sp\u00e9cifiquement le cas des Custom Fields \u00e0 partir du slide 37 (NB : c&rsquo;\u00e9tait juste avant la sortie officielle des Custom Fields et certains exemples de code doivent entre-temps \u00eatre adapt\u00e9s, cfr infra)<\/p>\n<p> <iframe title=\"JD17NL Joomla! Overrides and alternate layouts\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/eaTM7Dl2rcQP7m\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe> <\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/hans2103\/jd17nl-joomla-overrides-and-alternate-layouts\" title=\"JD17NL Joomla! Overrides and alternate layouts\" target=\"_blank\">JD17NL Joomla! Overrides and alternate layouts<\/a> <\/strong> from <strong><a href=\"https:\/\/www.slideshare.net\/hans2103\" target=\"_blank\">Hans Kuijpers<\/a><\/strong> <\/div>\n<p>Je profite d&rsquo;ailleurs de l&rsquo;occasion pour remercier ici Elisa Foltyn avec qui j&rsquo;ai pu \u00e9changer directement au sujet de l&rsquo;utilisation des Custom Fields dans les Overrides et qui m&rsquo;a permis de compl\u00e9ter de mani\u00e8re substantielle ce dossier sur une s\u00e9rie de points.<br \/>\nNB : vous aviez test\u00e9 les Custom Fields dans des Overrides avant la sortie officielle (p.ex. dans les Release Candidates), sachez p.ex. que \u00ab\u00a0fields\u00a0\u00bb a \u00e9t\u00e9 rebaptis\u00e9 \u00ab\u00a0jcfields\u00a0\u00bb au moment. Exemple :<br \/>\n$this-&gt;item&gt;fields est devenu $this-&gt;item&gt;jcfields<br \/>\nLes Overrides dans le cadre des Custom Fields &#8211; concr\u00e8tement<br \/>\nComment afficher tous les champs \u00e0 un endroit donn\u00e9 via une boucle<br \/>\nOverride en utilisant le FieldsHelper :<br \/>\n&lt;?php foreach ($this-&gt;item-&gt;jcfields as $field) : ?&gt;   &lt;?php echo FieldsHelper::render($field-&gt;context, &lsquo;field.render&rsquo;, array(&lsquo;field&rsquo; =&gt; $field)); ?&gt;&lt;br \/&gt;&lt;?php endforeach ?&gt;<br \/>\nRaw override (brut, sans mise en forme) :<br \/>\n&lt;?php foreach ($this-&gt;item-&gt;jcfields as $field) : ?&gt;   &lt;?php echo $field-&gt;label . &lsquo;:&rsquo; . $field-&gt;value; ?&gt;&lt;br \/&gt;&lt;?php endforeach ?&gt;<br \/>\nComment afficher un seul champ<br \/>\nPar exemple, le champ ayant l&rsquo;ID 9 :<br \/>\nIngr\u00e9dients : &lt;?php echo $this-&gt;item-&gt;jcfields[9]-&gt;value; ?&gt;<br \/>\nEncore mieux : d&rsquo;abord v\u00e9rifier si le champ est existe pour l&rsquo;article (ou le contact, \u2026)<br \/>\n&lt;?php if (isset($this-&gt;item-&gt;jcfields[9])): ?&gt;&nbsp; &nbsp;&lt;?php echo $this-&gt;item-&gt;jcfields[9]-&gt;value; ?&gt;&lt;?php endif; ?&gt;<br \/>\nDans certains cas, on pourrait vouloir utiliser !empty pour n&rsquo;afficher un champ que s&rsquo;il a une valeur (par exemple pour les champs qui ont une valeur par d\u00e9faut)<br \/>\n&lt;?php if (!empty($this-&gt;item-&gt;jcfields[9]-&gt;value)): ?&gt;<br \/>\nNB : pour avoir la valeur brute (raw value) et pas la valeur avec rendu, il suffit de remplacer value par rawvalue dans le code.<br \/>\nComment afficher le bloc de tous les champs<br \/>\n&lt;?php echo FieldsHelper::render(&lsquo;com_content.article&rsquo;, &lsquo;fields.render&rsquo;, array(&lsquo;item&rsquo; =&gt; $this-&gt;item, &lsquo;context&rsquo; =&gt; &lsquo;com_content.article&rsquo;)); ?&gt;<br \/>\nComment utiliser les Noms (alias) dans les Overrides<br \/>\nAu quotidien, pour une meilleure lisibilit\u00e9 du code, on peut pr\u00e9f\u00e9rer utiliser les Noms des Custom Fields plut\u00f4t que leur ID (attention cependant \u00e0 la coh\u00e9rence si vous changez en cours de route le Nom de certains champs)<br \/>\nDans votre Override, il suffit d&rsquo;ajouter la correspondance entre ID et Noms comme suit\u2026<br \/>\n&lt;?php   $customFields = $this-&gt;item-&gt;jcfields;   foreach ($customFields as $customField){      $customFields[$customField-&gt;name] = $customField;   }?&gt;<br \/>\n\u2026 et dans la suite du code, vous pourrez alors \u00e9crire simplement<br \/>\nIngr\u00e9dients : &lt;?php echo $customFields[&lsquo;mes-ingredients&rsquo;]-&gt;value; ?&gt;<br \/>\nD\u00e9boguer dans un Override<br \/>\nQuand on est occup\u00e9 dans un (Template ou Layout) Override et que l&rsquo;on souhaite d\u00e9boguer, il peut \u00eatre pratique d&rsquo;afficher tous le d\u00e9tail concernant un champ donn\u00e9.<br \/>\nDans ce cas, on peut utiser une des deux lignes suivantes, dans le cas d&rsquo;un champ ayant l&rsquo;ID 9 (NB : la balise \u00ab\u00a0preformatted\u00a0\u00bb permet d&rsquo;afficher le tout de mani\u00e8re plus lisible)<br \/>\n&lt;pre&gt;&lt;?php var_dump($this-&gt;item-&gt;jcfields[9]); ?&gt;&lt;\/pre&gt;&lt;pre&gt;&lt;?php print_r($this-&gt;item-&gt;jcfields[9]); ?&gt;&lt;\/pre&gt;<br \/>\nPoser des conditions sur le type de champ<br \/>\nAvec quelques connaissances, on peut rapidement aller plus loin dans la personnalisation, comme par exemple ici on o\u00f9 met une condition sur le type de champ (pour le champ ayant l&rsquo;ID 1)<br \/>\n&lt;?php\/\/ Affiche seulement si le Type du Champ est Text if ($this-&gt;item-&gt;jcfields[1]-&gt;type === &lsquo;text&rsquo;) { echo &lsquo;&lt;h1&gt;This is a text field.&lt;\/h1&gt;&rsquo;; }?&gt;<br \/>\nCr\u00e9er un Custom Field de type SQL permettant de s\u00e9lectionner un ou plusieurs articles (et les transformer en liens)<br \/>\nPour ce faire, cr\u00e9ons tout d&rsquo;abord un Custom Field de type SQL, avec la requ\u00eate suivante (qui va afficher tous les articles du site d&rsquo;une cat\u00e9gorie donn\u00e9e, tri\u00e9s par ordre alphab\u00e9tique)<br \/>\nselect id as value, title as text from #__content WHERE state = 1 and catid = 10 ORDER BY title ASC<br \/>\nDans l&rsquo;exemple pr\u00e9sent, je donne au champ comme Nom articles-lies et j&rsquo;autorise m\u00eame les s\u00e9lections multiples.<br \/>\nSur le site, je souhaite que tous les articles s\u00e9lectionn\u00e9s se transforment en hyperlien vers ces articles. Pour r\u00e9aliser cela facilement, je peux p.ex. utiliser l&rsquo;extension Articles Anywhere de Regular Labs (NB : la version Pro permet d&rsquo;ins\u00e9rer plusieurs articles, la version Free permet d&rsquo;ins\u00e9rer un seul article \u00e0 la fois)<br \/>\nDans mon Override, je vais alors ins\u00e9rer le code suivant :<br \/>\n{articles &lt;?php echo str_replace(&lsquo;, &lsquo;, &lsquo;,&rsquo;, $customFields[&lsquo;articles-lies&rsquo;]-&gt;value); ?&gt;}[link][title][\/link]&lt;br \/&gt;{\/articles}<br \/>\nNB : par d\u00e9faut, en cas de s\u00e9lection multiple, il y a un espace apr\u00e8s la virgule qui s\u00e9pare les diff\u00e9rentes valeurs. Nous supprimons cet espace avec la fonction str_replace afin de supprimer cet espace et respecter la syntaxe de Articles Anywhere.<br \/>\nLien vers un seul article et sans utilisation d&rsquo;une extension<br \/>\nSi on souhaite seulement faire un lien vers un seul article et qu&rsquo;on ne souhaite pas utiliser d&rsquo;extension, on peut p.ex. simplement cr\u00e9er un champ SQL, qui permette de choisir l&rsquo;ID de l&rsquo;article \u00e0 lier, puis d&rsquo;utiliser le code suivant :<br \/>\n&lt;?php echo Jhtml::_(&lsquo;link&rsquo;, &lsquo;index.php?option=com_content&amp;view=article&amp;id=&rsquo; . $customFields[&lsquo;my_article_id&rsquo;]-&gt;value .&rsquo;&gt;&rsquo;, $customFields[&lsquo;my_article_id&rsquo;]-&gt;text); ?&gt;<br \/>\nNB : ce code est un exemple rapide. Le cas \u00e9ch\u00e9ant, allez voir&nbsp;https:\/\/docs.joomla.org\/Supporting_SEF_URLs_in_your_component&nbsp;pour plus s&rsquo;informations.Par exemple, JRoute permet aussi de faire un lien vers l&rsquo;article 1 de la cat\u00e9gorie 20 comme suit<br \/>\necho JRoute::_(&lsquo;index.php?view=article&amp;id=1&amp;catid=20&rsquo;);<br \/>\nRender Class<br \/>\nPour chaque champ, il est possible de sp\u00e9cifier une classe de rendu (\u00ab\u00a0Render class\u00a0\u00bb).<br \/>\nA l&rsquo;usage, on remarque cependant que sur le front-end cette classe de rendu n&rsquo;est fonctionnelle que lorsqu&rsquo;on affiche les champs en bloc p.ex. avant\/apr\u00e8s le contenu.<br \/>\nAutrement dit, cette classe de rendu est inactive<\/p>\n<p>si on affiche un champ au sein d&rsquo;un article via le shortcode<br \/>\n {field 1}<\/p>\n<p>si on affiche un champ via un Override<\/p>\n<p>NB : s&rsquo;il s&rsquo;agit d&rsquo;un bug et non d&rsquo;un \u00ab\u00a0feature\u00a0\u00bb, ceci devrait \u00eatre corrig\u00e9 lors d&rsquo;une mise \u00e0 jour future<br \/>\nO\u00f9 est d\u00e9fini le layout pour un champ (field) ou pour le groupe des champs (fields)<br \/>\nPour g\u00e9n\u00e9rer le rendu d&rsquo;un champ donn\u00e9, Joomla! utilise le fichier<br \/>\n\/components\/com_fields\/layouts\/field\/render.php<br \/>\nLa derni\u00e8re ligne de ce fichier indique<br \/>\n&lt;span class=\u00a0\u00bbfield-value\u00a0\u00bb&gt;&lt;?php echo $value; ?&gt;&lt;\/span&gt;<br \/>\n&nbsp;<br \/>\nAutrement dit, on affiche la valeur du champ, dans une balise span ayant la classe field-value.<br \/>\nDe mani\u00e8re similaire, pour g\u00e9n\u00e9rer le rendu de le groupe des champs (p.ex. lorsqu&rsquo;ils sont tous affich\u00e9s avant\/apr\u00e8s le contenu), Joomla! utilise le fichier<br \/>\n\/components\/com_fields\/layouts\/fields<br \/>\n&nbsp;<br \/>\nOn note au passage la pr\u00e9sence des deux lignes suivantes qui concernent la render_classs :<br \/>\n&lt;?php $class = $field-&gt;params-&gt;get(&lsquo;render_class&rsquo;); ?&gt;&lt;dd class=\u00a0\u00bbfield-entry &lt;?php echo $class; ?&gt;\u00a0\u00bb&gt;<br \/>\n&nbsp;<br \/>\nCeci explique donc pourquoi la \u00ab\u00a0Render Class\u00a0\u00bb que l&rsquo;on peut assigner \u00e0 chaque champ ne joue que lorsqu&rsquo;on affiche tous les champs en bloc p.ex. avant\/apr\u00e8s le contenu\u2026 (cfr point pr\u00e9c\u00e9dent)<br \/>\nOverride pour le layout pour un champ (field) ou pour le groupe des champs (fields)<br \/>\nImaginons que l&rsquo;on souhaite cr\u00e9er un Override pour le rendu des champs.<br \/>\nOn duplique alors simplement le fichier render.php \u00e9voqu\u00e9 ci-dessous, que l&rsquo;on place au choix dans<br \/>\n\/templates\/MY_TEMPLATE\/html\/layouts\/com_fields\/field\/templates\/MY_TEMPLATE\/html\/layouts\/com_content\/field<br \/>\npour le rendu de champ<br \/>\n&nbsp;<br \/>\n\/templates\/MY_TEMPLATE\/html\/layouts\/com_fields\/fields\/templates\/MY_TEMPLATE\/html\/layouts\/com_content\/fields<br \/>\npour le rendu du bloc des champs<br \/>\n&nbsp;<br \/>\nChangez alors p.ex. la ligne<br \/>\n&lt;span class=\u00a0\u00bbfield-value\u00a0\u00bb&gt;&lt;?php echo $value; ?&gt;&lt;\/span&gt;<br \/>\npar<br \/>\n&lt;span class=\u00a0\u00bbfield-value btn btn-primary\u00a0\u00bb&gt;&lt;?php echo $value; ?&gt;&lt;\/span&gt;<br \/>\net vous constaterez (si votre template utilise Bootstrap) que votre champ sera affich\u00e9 sous la forme d&rsquo;un bouton de la couleur primaire du site.<br \/>\nAlternate layout pour le layout pour un champ (field) ou pour le groupe des champs (fields)<br \/>\nL&rsquo;Override est certes sympathique, mais il s&rsquo;applique par d\u00e9finition \u00e0 tous les champs.<br \/>\nOr, dans certains cas, on voudrait qu&rsquo;il ne s&rsquo;applique que pour certains champs.<br \/>\nC&rsquo;est ce qu&rsquo;on appelle l&rsquo;Alternate Layout (layout alternatif).<br \/>\n&nbsp;<br \/>\nLa proc\u00e9dure est la m\u00eame que celle expliqu\u00e9e ci-dessus pour l&rsquo;Override, mais on renomme le fichier comme on le souhaite (et non plus render.php, qui est le nom d&rsquo;origine).<br \/>\nPrenons comme exemple<br \/>\n\/templates\/MY_TEMPLATE\/html\/layouts\/com_fields\/field\/joomladay.php\/templates\/MY_TEMPLATE\/html\/layouts\/com_content\/field\/jug.php<br \/>\no\u00f9 joomladay et jug sont bien entendu des noms arbitraires que j&rsquo;ai choisis de donner \u00e0 mes layouts personnalis\u00e9s.<br \/>\nUtiliser un Alternate Layout au sein d&rsquo;un article<br \/>\nComme d\u00e9j\u00e0 vu, pour ins\u00e9rer au sein d&rsquo;un article le champ ayant l&rsquo;ID 1, il suffit d&rsquo;ins\u00e9rer le shortcode suivant :<br \/>\n {field 1}<br \/>\nSi on veut que le rendu soit diff\u00e9rent, on va pouvoir utiliser nos Alternate Layouts comme suit :<br \/>\n {field 1, joomladay} {field 1, jug}<br \/>\nUtiliser un Alternate Layout dans un Override d&rsquo;article<br \/>\nOn se souvient que dans un Override, on peut appeler le champ 1 comme suit :<br \/>\n&lt;?php if (isset($this-&gt;item-&gt;jcfields[1])): ?&gt;&nbsp; &nbsp;&lt;?php echo FieldsHelper::render(&lsquo;com_content.article&rsquo;, &lsquo;field.render&rsquo;, array(&lsquo;field&rsquo; =&gt; $this-&gt;item-&gt;jcfields[1])); ?&gt;&lt;?php endif; ?&gt;<br \/>\n&nbsp;<br \/>\nPour utiliser un de mes Alternate Layouts, il suffit que je remplace render par le nom de mon Alternate Layout (dans mon cas, joomladay ou jug) :<br \/>\n&lt;?php if (isset($this-&gt;item-&gt;jcfields[1])): ?&gt;&nbsp; &nbsp;&lt;?php echo FieldsHelper::render(&lsquo;com_content.article&rsquo;, &lsquo;field.joomladay&rsquo;, array(&lsquo;field&rsquo; =&gt; $this-&gt;item-&gt;jcfields[1])); ?&gt;&lt;?php endif; ?&gt;<br \/>\n&nbsp;<br \/>\nSi en outre j&rsquo;ai fait en sorte de pouvoir utiliser les Noms plut\u00f4t que les IDs, je peux r\u00e9\u00e9crire ce code comme suit :<br \/>\n&lt;?php if (isset($customFields[&lsquo;mes-ingredients&rsquo;])): ?&gt;&nbsp; &nbsp;&lt;?php echo FieldsHelper::render(&lsquo;com_content.article&rsquo;, &lsquo;field.joomladay, array(&lsquo;field&rsquo; =&gt; $customFields[&lsquo;mes-ingredients&rsquo;])); ?&gt;&lt;?php endif; ?&gt;<br \/>\nMettre en forme les champs pour qu&rsquo;ils soient align\u00e9s<br \/>\nSi j&rsquo;affiche mes champs en bloc p.ex. avant\/apr\u00e8s le contenu et que je souhaite aligner les valeurs des champs quelle que soit la longueur des diff\u00e9rents libell\u00e9s, je peux simplement utiliser un peu de CSS. Exemple de solution rapide exploitant Flexbox, donnant \u00e0 tous les libell\u00e9s la m\u00eame largeur et en les alignant \u00e0 droite :<br \/>\ndd.field-entry {&nbsp; &nbsp;display: flex;}span.field-label {&nbsp; &nbsp;flex-basis: 200px;&nbsp; &nbsp;text-align: right;&nbsp; &nbsp;margin-right: 10px;}<br \/>\nIns\u00e9rer les Custom Fields via un query plut\u00f4t qu&rsquo;en \u00e9ditant dans l&rsquo;Administration<br \/>\nSi on a de nombreux Custom Fields \u00e0 introduire, on pourrait vouloir le faire via un query plut\u00f4t qu&rsquo;en \u00e9ditant les articles \u00e0 la main dans l&rsquo;Administration.<br \/>\nVoici un simple exemple de query<br \/>\nINSERT INTO `#_fields_values` (`field_id`, `context`, `item_id`, `value`) VALUES(1, &lsquo;com_content.article&rsquo;, &rsquo;11&rsquo;, &lsquo;cats&rsquo;),(2, &lsquo;com_content.article&rsquo;, &rsquo;11&rsquo;, &lsquo;food&rsquo;);<br \/>\no\u00f9 on remplace # par le pr\u00e9fixe de la table (si on lance la requ\u00eate depuis PHPMyAdmin p.ex.) et o\u00f9 la 1e variable les l&rsquo;ID du champ et la 3e variable l&rsquo;ID de l&rsquo;article.<br \/>\nHow to Add Custom Fields to Joomla Contact Forms<br \/>\nDans l&rsquo;article suivant, il est expliqu\u00e9 en d\u00e9tail comment ajouter un Champ Personnalis\u00e9 dans un formulaire de contact. https:\/\/www.joomlashack.com\/blog\/tutorials\/contact-custom-fields\/<br \/>\nMais le probl\u00e8me est que, par d\u00e9faut, tous les champs compl\u00e9mentaires sont ajout\u00e9s apr\u00e8s le Captcha, ce qui n&rsquo;est pas forc\u00e9ment le rendu voulu.<br \/>\nPour personnaliser le rendu de la page, c\u00e0d non seulement la mise en page mais aussi l&rsquo;ordre des champs, voici comment appeler les diff\u00e9rents champs dans l&rsquo;override (surcharge) :<br \/>\nYou need to override com_contact\/default_form.php \u00ab\u00a0Normal\u00a0\u00bb fields can be rendered with e.g.<br \/>\n&lt;?php echo $this-&gt;form-&gt;renderField(&lsquo;contact_name&rsquo;); ?&gt;<br \/>\nor<br \/>\n&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_name&rsquo;); ?&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_name&rsquo;); ?&gt;<br \/>\nCustom fields should be called with<br \/>\n&lt;?php echo $this-&gt;form-&gt;renderField(&lsquo;fieldalias&rsquo;,&rsquo;com_fields&rsquo;); ?&gt;<br \/>\nor<br \/>\n&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;fieldalias&rsquo;,&rsquo;com_fields&rsquo;); ?&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;fieldalias&rsquo;,&rsquo;com_fields&rsquo;); ?&gt;<br \/>\nand then you can sort your fields as you want<br \/>\nNicky Veitch donne un exemple concret d&rsquo;override sur son site internet, o\u00f9 on peut directement t\u00e9l\u00e9charger le fichier PHP :   https:\/\/www.websolutionz.com.au\/blog\/219-modifying-a-joomla-contact-form-with-custom-fields<br \/>\n&lt;?php\/** * @package Joomla.Site * @subpackage com_contact * * @copyright Copyright (C) 2005 &#8211; 2018 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt *\/<br \/>\ndefined(&lsquo;_JEXEC&rsquo;) or die;<br \/>\n$this-&gt;form-&gt;setFieldAttribute(&lsquo;contact_message&rsquo;, &lsquo;hint&rsquo;, &lsquo;How can we help you?&rsquo;);JHtml::_(&lsquo;behavior.keepalive&rsquo;);JHtml::_(&lsquo;behavior.formvalidator&rsquo;);<br \/>\n?&gt;&lt;div class=\u00a0\u00bbcontact-form\u00a0\u00bb&gt; &lt;form id=\u00a0\u00bbcontact-form\u00a0\u00bb action=\u00a0\u00bb&lt;?php echo JRoute::_(&lsquo;index.php&rsquo;); ?&gt;\u00a0\u00bb method=\u00a0\u00bbpost\u00a0\u00bb class=\u00a0\u00bbform-validate form-horizontal well\u00a0\u00bb&gt; &lt;?php foreach ($this-&gt;form-&gt;getFieldsets() as $fieldset) : ?&gt; &lt;?php if ($fieldset-&gt;name === &lsquo;captcha&rsquo; &amp;&amp; !$this-&gt;captchaEnabled) : ?&gt; &lt;?php continue; ?&gt; &lt;?php endif; ?&gt; &lt;?php $fields = $this-&gt;form-&gt;getFieldset($fieldset-&gt;name); ?&gt; &lt;?php if (count($fields)) : ?&gt; &lt;?php endif; ?&gt; &lt;?php endforeach; ?&gt;<br \/>\n&lt;fieldset&gt; &lt;?php if (isset($fieldset-&gt;label) &amp;&amp; ($legend = trim(JText::_($fieldset-&gt;label))) !== \u00a0\u00bb) : ?&gt; &lt;legend&gt;&lt;?php echo JText::_(&lsquo;COM_CONTACT_CONTACT_DEFAULT_LABEL&rsquo;); ?&gt;&lt;\/legend&gt; &lt;?php endif; ?&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_name&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_name&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_email&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_email&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt;<br \/>\n&lt;?php if($this-&gt;form-&gt;getInput(&lsquo;mobile&rsquo;,&rsquo;com_fields&rsquo;) != \u00a0\u00bb): ?&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;mobile&rsquo;, &lsquo;com_fields&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;mobile&rsquo;, &lsquo;com_fields&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;?php endif; ?&gt;<br \/>\n&lt;?php if($this-&gt;form-&gt;getInput(&lsquo;phone&rsquo;,&rsquo;com_fields&rsquo;) != \u00a0\u00bb): ?&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;phone&rsquo;, &lsquo;com_fields&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;phone&rsquo;, &lsquo;com_fields&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;?php endif; ?&gt;<br \/>\n&lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_subject&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_subject&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_message&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_message&rsquo;); ?&gt;&lt;\/div&gt; &lt;br \/&gt;  &lt;?php if ($this-&gt;params-&gt;get(&lsquo;show_email_copy&rsquo;)) : ?&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;contact_email_copy&rsquo;); ?&gt; &lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;contact_email_copy&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt;&lt;br \/&gt; &lt;?php endif; ?&gt; &lt;\/div&gt; &lt;\/fieldset&gt;<br \/>\n&lt;fieldset&gt; &lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrol-label\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getLabel(&lsquo;captcha&rsquo;); ?&gt;&lt;\/div&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt;&lt;?php echo $this-&gt;form-&gt;getInput(&lsquo;captcha&rsquo;); ?&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;\/fieldset&gt;<br \/>\n&lt;div class=\u00a0\u00bbcontrol-group\u00a0\u00bb&gt; &lt;div class=\u00a0\u00bbcontrols\u00a0\u00bb&gt; &lt;button class=\u00a0\u00bbbtn btn-primary validate\u00a0\u00bb type=\u00a0\u00bbsubmit\u00a0\u00bb&gt;&lt;?php echo JText::_(&lsquo;COM_CONTACT_CONTACT_SEND&rsquo;); ?&gt;&lt;\/button&gt; &lt;input type=\u00a0\u00bbhidden\u00a0\u00bb name=\u00a0\u00bboption\u00a0\u00bb value=\u00a0\u00bbcom_contact\u00a0\u00bb \/&gt; &lt;input type=\u00a0\u00bbhidden\u00a0\u00bb name=\u00a0\u00bbtask\u00a0\u00bb value=\u00a0\u00bbcontact.submit\u00a0\u00bb \/&gt; &lt;input type=\u00a0\u00bbhidden\u00a0\u00bb name=\u00a0\u00bbreturn\u00a0\u00bb value=\u00a0\u00bb&lt;?php echo $this-&gt;return_page; ?&gt;\u00a0\u00bb \/&gt; &lt;input type=\u00a0\u00bbhidden\u00a0\u00bb name=\u00a0\u00bbid\u00a0\u00bb value=\u00a0\u00bb&lt;?php echo $this-&gt;contact-&gt;slug; ?&gt;\u00a0\u00bb \/&gt; &lt;?php echo JHtml::_(&lsquo;form.token&rsquo;); ?&gt; &lt;\/div&gt; &lt;\/div&gt; &lt;\/form&gt;&lt;\/div&gt;<br \/>\nLes autres extensions li\u00e9es au Custom Fields<br \/>\nCustom Fields CK&nbsp;par C\u00e9dric Keiflin<br \/>\nPermet de personnaliser tr\u00e8s facilement la mise en forme des Custom Fields (\u20ac 14)<\/p>\n<p> https:\/\/www.joomlack.fr\/extensions-joomla\/custom-fields-ck (pr\u00e9sentation g\u00e9n\u00e9rale)<br \/>\n https:\/\/www.youtube.com\/watch?v=YrOFLSm9Hqc (vid\u00e9o)<\/p>\n<p>EasyLayouts, par les auteurs de JEvents<br \/>\nPermet de g\u00e9rer de mani\u00e8re visuelle les layouts sans devoir faire soi-m\u00eame les Overrides et Alternate Layouts (\u00e0pd \u00a3 30.25)<br \/>\nDocumentation<\/p>\n<p> http:\/\/www.easylayouts.net (site officiel)<br \/>\n http:\/\/demo.easylayouts.net (d\u00e9mo)<br \/>\n https:\/\/www.youtube.com\/watch?v=g5paS-vc5RE (Pr\u00e9sentation 1&rsquo;48\u00a0\u00bb)<br \/>\n+ plugins de champ (map, related articles)<\/p>\n<p>Nouvelles fonctionnalit\u00e9s pr\u00e9vues bient\u00f4t (en date du 08\/07\/2017 &#8211; pr\u00e9sentation JD17UK, cfr supra)<\/p>\n<p>Conditional Field Display<br \/>\nFilter Module<br \/>\nCustomisable Edit Pages by Type<br \/>\nMore Custom Fields types and output options<br \/>\nLanguage specific Layouts<\/p>\n<p>Filtres sur les Custom Fields<\/p>\n<p>Commen\u00e7ons par le commencement : les Custom Fields ont \u00e9t\u00e9 introduits dans Joomla par Allon Moritz de Digital Peaks.Et bien entendu, son extension&nbsp;DPFields int\u00e8gre une possibilit\u00e9 de filtre   https:\/\/joomla.digital-peak.com\/products\/dpfields    <\/p>\n<p>Par JoomLineJL Content Fields Filter &#8211; This is a free module that filters Joomla articles on custom fieldsUn module gratuit qui permet de filtrer sur base des champs personnalis\u00e9s &#8211; voir d\u00e9mo sur le site(NB: il peut effectuer le filtrage en ajax donc sans rechargement de la page)http:\/\/joomline.org\/extensions\/modules-for-joomla\/jlcontentfieldsfilter.html https:\/\/github.com\/Joomline\/JlContentFieldsFilter <\/p>\n<p>EasyLayouts int\u00e8gre une possibilit\u00e9 de filtres https:\/\/www.easylayouts.net\/<br \/>\nDans la communaut\u00e9 francophone, Pascal Lecomte (connu sous le nom de pmlecomte sur le forum) a adapt\u00e9 son module de filtres, initialement pr\u00e9vu pour pour les Tags, pour les Custom Fields (champs Personnalis\u00e9s) https:\/\/www.conseilgouz.com\/sources\/simple-isotope  <\/p>\n<p>D\u00e9mo (sur Tags) :&nbsp;https:\/\/www.conseilgouz.com\/developpements-joomla<br \/>\nIl est possible d&rsquo;afficher les champs personnalis\u00e9s dans la nouvelle version 1.1.9.Il suffit de mettre {nom du champ} dans la zone de personnalisation de l&rsquo;affichage et l&rsquo;extension remplace {nom de champ} par sa valeur.<\/p>\n<p>Joomlart propose MegaFilter qui int\u00e8gre les Custom Fields quasiment depuis leur sortie ($ 35), mais qui utilise son propre layout (ce que je trouve handicapant &#8211; cfr infra) https:\/\/www.joomlart.com\/joomla\/extensions\/ja-megafilter-for-joomla<br \/>\nUne autre extension int\u00e9ressante (que j&rsquo;ai d\u00e9couverte gr\u00e2ce \u00e0 Yann) : Joomla CFS. En fait, il ne s&rsquo;agit pas exactement d&rsquo;un module de Filtre, mais de Recherche sur les Custom FieldsExtension :&nbsp;www.joomla-cfs.com D\u00e9mo&nbsp;demo.joomla-cfs.com<br \/>\nEnfin, si vous voulez r\u00e9aliser vous-m\u00eame et simplement un outil de filtre relativement simple, vous pouvez aussi utiliser ce chouette outil qui permet de \u00ab\u00a0jouer\u00a0\u00bb uniquement avec du CSS pour dire p.ex. \u00ab\u00a0si clique sur l&rsquo;\u00e9l\u00e9ment X, alors ajouter\/supprimer\/toggler la classe sur l&rsquo;\u00e9l\u00e9ment Y\u00a0\u00bb :&nbsp;uilang.com D\u00e9mo d&rsquo;une telle utilisation : les filtres sur la page d&rsquo;accueil de&nbsp;https:\/\/www.moisdudoc.be\/demandez-le-programme   <\/p>\n<p>Joomlart MegaFilter plus en d\u00e9tail<\/p>\n<p> https:\/\/www.joomlart.com\/joomla\/extensions\/ja-megafilter-for-joomla (page d&rsquo;accueil)<br \/>\n https:\/\/www.joomlart.com\/updates\/joomla-extensions\/joomla-custom-fields-filter-is-now-available-for-download (news)<br \/>\n http:\/\/ja-megafilter-content.demo.joomlart.com (d\u00e9mo)<\/p>\n<p>Sur la d\u00e9mo, Joomlart MegaFilter a l&rsquo;air sympathique, mais dans la pratique, sa prise en main n&rsquo;est pas si intuitive que \u00e7a. Pour cette raison, je partage ici une s\u00e9rie d&rsquo;astuces qui vous permettront de gagner du temps, leur documentation \u00e9tant loin d&rsquo;\u00eatre compl\u00e8te et leur support n&rsquo;\u00e9tant pas toujours super r\u00e9actif.<br \/>\nComment supprimer les mentions \u00ab\u00a0hits\u00a0\u00bb et \u00ab\u00a0rating\u00a0\u00bb dans la vue \u00ab\u00a0Filtre\u00a0\u00bb<br \/>\nDans la vue \u00ab\u00a0Filtre\u00a0\u00bb, appara\u00eet sur le \u00ab\u00a0r\u00e9sum\u00e9\u00a0\u00bb de chaque article le nombre de vues (\u00ab\u00a0hits\u00a0\u00bb) et les votes (\u00ab\u00a0rating\u00a0\u00bb).<br \/>\nPour effacer ces hits &amp; ratings, faire un Override de<br \/>\n\/plugins\/jamegafilter\/content\/layouts\/default\/product-item.php<br \/>\nen le dupliquant dans<br \/>\n\/templates\/YOUR_TEMPLATE\/html\/layouts\/jamegafilter\/content\/default\/product-item.php<br \/>\nEffacer ensuite les lignes suivantes<br \/>\n&lt;div class=\u00a0\u00bbproduct-reviews-summary short\u00a0\u00bb&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\u00a0\u00bbrating-summary\u00a0\u00bb&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{?rating} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div title=\u00a0\u00bb{rating} out of 5&Prime; class=\u00a0\u00bbrating-result\u00a0\u00bb&gt; &nbsp;&lt;span style=\u00a0\u00bbwidth:{width_rating}%\u00a0\u00bb&gt;&lt;\/span&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{:else} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div title=\u00a0\u00bb0%\u00a0\u00bb class=\u00a0\u00bbrating-result\u00a0\u00bb&gt; &nbsp;&lt;span style=\u00a0\u00bbwidth:0%\u00a0\u00bb&gt;&lt;\/span&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/rating} &nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt; &lt;\/div&gt; &lt;div class=\u00a0\u00bbproduct-reviews-summary short\u00a0\u00bb&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\u00a0\u00bbhits-summary\u00a0\u00bb&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{?hit} &nbsp;&lt;span class=\u00a0\u00bbfile-downloads\u00a0\u00bb&gt;&lt;?php echo JText::_(&lsquo;COM_JAMEGAFILTER_HIT&rsquo;);?&gt; : {hit}&lt;\/span&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{:else} &nbsp;&lt;span class=\u00a0\u00bbfile-downloads\u00a0\u00bb&gt;&lt;?php echo JText::_(&lsquo;COM_JAMEGAFILTER_HITS&rsquo;);?&gt; : {hits}&lt;\/span&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/hit} &nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt; &lt;\/div&gt;<br \/>\nNB : c&rsquo;est dans ce fichier que l&rsquo;on voit le nom de la cha\u00eene de caract\u00e8re correspondant au bouton \u00ab\u00a0View detail\u00a0\u00bb. Il s&rsquo;agit de COM_JAMEGAFILTER_VIEW_DETAIL, pour lequel on pourra utilement donner une traduction fran\u00e7aise.<br \/>\nComment changer le nombre de caract\u00e8res de l&rsquo;introduction<br \/>\n1e \u00e9tape : changer la valeur par d\u00e9faut (100)<br \/>\nEditer (ou mieux : faire un Override)<br \/>\n\/plugins\/jamegafilter\/content\/helper.php<br \/>\net changer la valeur de 100 dans le code suivant :<br \/>\n$item-&gt;desc = !empty($baseItem-&gt;introtext) ? strip_tags(substr($baseItem-&gt;introtext,0,100)).&rsquo;&#8230;&rsquo; : \u00a0\u00bb;<br \/>\n&nbsp;<br \/>\n2e \u00e9tape : r\u00e9indexer manuellement (via le menu Composant &gt; MegaFilter)<br \/>\n&nbsp;<br \/>\n3e \u00e9tape : vider le cache navigateur (si n\u00e9cessaire)<br \/>\nFonctionnement de l&rsquo;indexation<br \/>\nVisiblement, la r\u00e9indexation ne se fait pas \u00ab\u00a0en live\u00a0\u00bb mais demande une intervention manuelle apr\u00e8s chaque \u00e9dition d&rsquo;article concern\u00e9.<br \/>\nPourquoi une indexation ? Sans doute parce que le r\u00e9sultat de la page \u00ab\u00a0Filtre\u00a0\u00bb ne se fait pas en interrogeant directement la base de donn\u00e9es (peut-\u00eatre parce que ce serait trop lourd sur un site avec des donn\u00e9es importantes ?), mais se base sur un fichier json qui est justement g\u00e9n\u00e9r\u00e9 lorsqu&rsquo;on clique sur le bouton d&rsquo;indexation.<br \/>\nCe fichier json est disponible ici :<br \/>\n\/media\/com_jamegafilter\/en_gb\/1.json\/media\/com_jamegafilter\/fr_fr\/1.json<br \/>\nComment ins\u00e9rer un Custom Field dans la vue \u00ab\u00a0Filtre\u00a0\u00bb<br \/>\nDans le fichier product_item.php mentionn\u00e9 plus haut il suffit d&rsquo;ajouter<br \/>\n{attr.ct1.value}<br \/>\npour obtenir le contenu du Field 1<br \/>\n&nbsp;<br \/>\nAttention, l&rsquo;affichage est brut (\u00ab\u00a0raw\u00a0\u00bb), c\u00e0d qu&rsquo;il s&rsquo;agit de la valeur du champ sans son \u00e9ventuel rendu.<br \/>\nExemples :<\/p>\n<p>pour un champ Media, cela donne<br \/>\nimages%2Fpizza-americano.png<\/p>\n<p>pour un champ Editor, cela donne<br \/>\n&lt;ul&gt; &lt;li&gt;p\u00e2te&lt;\/li&gt; &lt;li&gt;jambon&lt;\/li&gt; &lt;li&gt;fromage&lt;\/li&gt; &lt;\/ul&gt;<\/p>\n<p>&nbsp;<br \/>\nNB : si un champ peut avoir plusieurs valeurs et qu&rsquo;on souhaite ajouter une classe pour chacune de ces valeurs, on peut alors ajouter le code suivant :&nbsp;<br \/>\n{#attr.ct3.value}&nbsp; &nbsp;&lt;p class=\u00a0\u00bb{.}\u00a0\u00bb&gt;{.}&lt;\/p&gt;{\/attr.ct3.value}<br \/>\nqui donnera p.ex. ceci au niveau de l&rsquo;output<br \/>\n&lt;p class=\u00a0\u00bbred\u00a0\u00bb&gt;red&lt;\/p&gt;&lt;p class=\u00a0\u00bbgreen\u00a0\u00bb&gt;green&lt;\/p&gt;&lt;p class=\u00a0\u00bbblue\u00a0\u00bb&gt;blue&lt;\/p&gt;<br \/>\nComment activer le \u00ab\u00a0infinite scroll\u00a0\u00bb sur la page de filtre<br \/>\nDans la configuration de JA MegaFilter, le \u00ab\u00a0infinite scroll\u00a0\u00bb s&rsquo;appelle \u00ab\u00a0auto page\u00a0\u00bb, qu&rsquo;il suffit donc d&rsquo;activer.<br \/>\nLiens utiles sur le forum de MegaFilter<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"f6qEPbNHCE\"><p><a href=\"https:\/\/www.joomlart.com\/forums\/topic\/need-to-add-custom-content-to-product-item-php\/\">Need to add custom content to product-item.php<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Need to add custom content to product-item.php&#8221; &#8212; JoomlArt\" src=\"https:\/\/www.joomlart.com\/forums\/topic\/need-to-add-custom-content-to-product-item-php\/embed\/#?secret=f6qEPbNHCE\" data-secret=\"f6qEPbNHCE\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe> <\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"9BvQwdXNMr\"><p><a href=\"https:\/\/www.joomlart.com\/forums\/topic\/a-few-questions-and-improvements-for-ja-megafilter\/\">A few questions and improvements for JA Megafilter<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;A few questions and improvements for JA Megafilter&#8221; &#8212; JoomlArt\" src=\"https:\/\/www.joomlart.com\/forums\/topic\/a-few-questions-and-improvements-for-ja-megafilter\/embed\/#?secret=9BvQwdXNMr\" data-secret=\"9BvQwdXNMr\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><br \/>\n https:\/\/www.joomlart.com\/forums\/topic\/override-of-articles\/#post-1039516 (custom fields)<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"YMUDoayWEc\"><p><a href=\"https:\/\/www.joomlart.com\/forums\/topic\/override-of-articles\/\">Override of articles<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Override of articles&#8221; &#8212; JoomlArt\" src=\"https:\/\/www.joomlart.com\/forums\/topic\/override-of-articles\/embed\/#?secret=YMUDoayWEc\" data-secret=\"YMUDoayWEc\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le pr\u00e9sent article tente de compiler un maximum d&rsquo;informations sur les Custom Fields (Champs Personnalis\u00e9s) introduits dans Joomla! 3.7, qui ouvrent beaucoup de perspectives. Il compl\u00e8te utilement l&rsquo;article de pr\u00e9sentation g\u00e9n\u00e9rale des Custom Fields (traduction de l&rsquo;article de Sander Potjer publi\u00e9 dans le Webdesigner Magazine NL #94), disponible dans ce m\u00eame num\u00e9ro du Cinnk Magazine. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":527,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[13],"tags":[],"class_list":["post-528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-archives"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk\" \/>\n<meta property=\"og:description\" content=\"Le pr\u00e9sent article tente de compiler un maximum d&rsquo;informations sur les Custom Fields (Champs Personnalis\u00e9s) introduits dans Joomla! 3.7, qui ouvrent beaucoup de perspectives. Il compl\u00e8te utilement l&rsquo;article de pr\u00e9sentation g\u00e9n\u00e9rale des Custom Fields (traduction de l&rsquo;article de Sander Potjer publi\u00e9 dans le Webdesigner Magazine NL #94), disponible dans ce m\u00eame num\u00e9ro du Cinnk Magazine. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\" \/>\n<meta property=\"og:site_name\" content=\"Cinnk\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Cinnk.formation\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-07T14:49:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"275\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cinnk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CinnkCom\" \/>\n<meta name=\"twitter:site\" content=\"@CinnkCom\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cinnk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"39 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\"},\"author\":{\"name\":\"Cinnk\",\"@id\":\"https:\/\/cinnk.com\/fr\/#\/schema\/person\/eacaed860bb77e88b654cab0718cdc3d\"},\"headline\":\"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 &#8211; Juillet 2017\",\"datePublished\":\"2020-10-07T14:49:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\"},\"wordCount\":7904,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/cinnk.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\",\"articleSection\":[\"Archives\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\",\"url\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\",\"name\":\"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk\",\"isPartOf\":{\"@id\":\"https:\/\/cinnk.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\",\"datePublished\":\"2020-10-07T14:49:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage\",\"url\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\",\"contentUrl\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg\",\"width\":800,\"height\":275,\"caption\":\"joomla custom field\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/cinnk.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 &#8211; Juillet 2017\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cinnk.com\/fr\/#website\",\"url\":\"https:\/\/cinnk.com\/fr\/\",\"name\":\"Cinnk\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cinnk.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cinnk.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cinnk.com\/fr\/#organization\",\"name\":\"Cinnk\",\"url\":\"https:\/\/cinnk.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/cinnk.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2023\/10\/logo-svg-orange_new.svg\",\"contentUrl\":\"https:\/\/cinnk.com\/wp-content\/uploads\/2023\/10\/logo-svg-orange_new.svg\",\"width\":125,\"height\":32,\"caption\":\"Cinnk\"},\"image\":{\"@id\":\"https:\/\/cinnk.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Cinnk.formation\",\"https:\/\/x.com\/CinnkCom\",\"https:\/\/www.instagram.com\/cinnk\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/cinnk.com\/fr\/#\/schema\/person\/eacaed860bb77e88b654cab0718cdc3d\",\"name\":\"Cinnk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/cinnk.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2110805a2e278c633c677ec50fd5a9944d8f66b4fac05f86ebb21a2f87be8e0b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2110805a2e278c633c677ec50fd5a9944d8f66b4fac05f86ebb21a2f87be8e0b?s=96&d=mm&r=g\",\"caption\":\"Cinnk\"},\"sameAs\":[\"https:\/\/cinnk.com\"],\"url\":\"https:\/\/cinnk.com\/fr\/author\/cinnkdev\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/","og_locale":"fr_FR","og_type":"article","og_title":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk","og_description":"Le pr\u00e9sent article tente de compiler un maximum d&rsquo;informations sur les Custom Fields (Champs Personnalis\u00e9s) introduits dans Joomla! 3.7, qui ouvrent beaucoup de perspectives. Il compl\u00e8te utilement l&rsquo;article de pr\u00e9sentation g\u00e9n\u00e9rale des Custom Fields (traduction de l&rsquo;article de Sander Potjer publi\u00e9 dans le Webdesigner Magazine NL #94), disponible dans ce m\u00eame num\u00e9ro du Cinnk Magazine. [&hellip;]","og_url":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/","og_site_name":"Cinnk","article_publisher":"https:\/\/www.facebook.com\/Cinnk.formation","article_published_time":"2020-10-07T14:49:45+00:00","og_image":[{"width":800,"height":275,"url":"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg","type":"image\/jpeg"}],"author":"Cinnk","twitter_card":"summary_large_image","twitter_creator":"@CinnkCom","twitter_site":"@CinnkCom","twitter_misc":{"\u00c9crit par":"Cinnk","Dur\u00e9e de lecture estim\u00e9e":"39 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#article","isPartOf":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/"},"author":{"name":"Cinnk","@id":"https:\/\/cinnk.com\/fr\/#\/schema\/person\/eacaed860bb77e88b654cab0718cdc3d"},"headline":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 &#8211; Juillet 2017","datePublished":"2020-10-07T14:49:45+00:00","mainEntityOfPage":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/"},"wordCount":7904,"commentCount":0,"publisher":{"@id":"https:\/\/cinnk.com\/fr\/#organization"},"image":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage"},"thumbnailUrl":"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg","articleSection":["Archives"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/","url":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/","name":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 - Juillet 2017 | Cinnk","isPartOf":{"@id":"https:\/\/cinnk.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage"},"image":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage"},"thumbnailUrl":"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg","datePublished":"2020-10-07T14:49:45+00:00","breadcrumb":{"@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#primaryimage","url":"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg","contentUrl":"https:\/\/cinnk.com\/wp-content\/uploads\/2020\/10\/joomla-custom-field.jpg","width":800,"height":275,"caption":"joomla custom field"},{"@type":"BreadcrumbList","@id":"https:\/\/cinnk.com\/fr\/aller-plus-loin-avec-les-custom-fields-champs-personnalises-de-joomla-3-7-juillet-2017\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/cinnk.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Aller plus loin avec les Custom Fields (Champs Personnalis\u00e9s) de Joomla! 3.7 &#8211; Juillet 2017"}]},{"@type":"WebSite","@id":"https:\/\/cinnk.com\/fr\/#website","url":"https:\/\/cinnk.com\/fr\/","name":"Cinnk","description":"","publisher":{"@id":"https:\/\/cinnk.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cinnk.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/cinnk.com\/fr\/#organization","name":"Cinnk","url":"https:\/\/cinnk.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/cinnk.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/cinnk.com\/wp-content\/uploads\/2023\/10\/logo-svg-orange_new.svg","contentUrl":"https:\/\/cinnk.com\/wp-content\/uploads\/2023\/10\/logo-svg-orange_new.svg","width":125,"height":32,"caption":"Cinnk"},"image":{"@id":"https:\/\/cinnk.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Cinnk.formation","https:\/\/x.com\/CinnkCom","https:\/\/www.instagram.com\/cinnk"]},{"@type":"Person","@id":"https:\/\/cinnk.com\/fr\/#\/schema\/person\/eacaed860bb77e88b654cab0718cdc3d","name":"Cinnk","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/cinnk.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2110805a2e278c633c677ec50fd5a9944d8f66b4fac05f86ebb21a2f87be8e0b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2110805a2e278c633c677ec50fd5a9944d8f66b4fac05f86ebb21a2f87be8e0b?s=96&d=mm&r=g","caption":"Cinnk"},"sameAs":["https:\/\/cinnk.com"],"url":"https:\/\/cinnk.com\/fr\/author\/cinnkdev\/"}]}},"_links":{"self":[{"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/posts\/528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/comments?post=528"}],"version-history":[{"count":0,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/posts\/528\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/media\/527"}],"wp:attachment":[{"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/media?parent=528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/categories?post=528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cinnk.com\/fr\/wp-json\/wp\/v2\/tags?post=528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}