start
start
  • .
  • Documentations
    • CSS
      • Dessins vectoriels, Bouton, cercles et objets géométriques
      • How To Create a Flip Card
      • Solar System
      • Dessins vectoriels, cercles et objets géométriques (2)
      • CSS Animation
      • Liste complète de tous les sélecteurs CSS
      • Galaxie
      • Variable Font parameters
      • Mask SVG CSS
      • Texte dégradé avec CSS
      • Stroke Contour de texte avec CSS
      • Sélecteurs CSS :has, :not, :is et :where
    • PHP and MYSQL
      • Déplacement et remplacent de chaine de caractère en PHP
      • fonction pour supprimer les espaces et autres caractères spéciaux
    • Processing
      • Fill and Stroke Gradient
    • T3, T4, Dev and Code
      • RGPD Joomla Natif
      • Add the Page Class anywhere on the page
      • Récupérer une valeur depuis Json
      • RS Form - du contenu en vrac en bas de page
      • Vendre des produits avec RS FORM
      • Auto populate a list from field table
      • RS Form - Intégration avec Acymailoing
      • RS Form - Masque de numéro ou de champs (formatage de champ)
      • Intégration RSForm avec Zoom
      • Change Logo when langage change
      • T4 Header - Meta
      • Joomla Dev Tutorial
      • How To Add Search & Filtering in Joomla Component
      • Put Heading to masthead
      • Random sur une boucle
      • Page Contact ERROR
      • How RokSprocket Uses Custom Themes
      • Récupérer le titre de l'article depuis un formulaire RSform
      • Gérer 2 Owl carrousel sur la même page
      • Comment insérer un acordéon bootstrap dyamiquement Dans une boucle
    • SSH, SSL, LINUX
      • Commandes SSH fréquemment utilisées et leur usage
      • Cron Task CLI
      • Cron task CLI - 2
      • Vider Cache et libérer espace sur PLESK
      • How to upgrade MariaDB 10.0 to 10.1 on CentOS 7
      • Générer Certificat + key a partir de PFX
      • Les commandes de base en console linux
      • Générer certificat .CSR + .KEY avec SSL (serveur Gandi)
      • Gérez les redirection http https www et sans www
      • DKIM, SPF et DMARC
      • CDN Cloudflare
      • Metadata Tool pour Shema.org (Social média)
      • outils d'analyse et optimisation
    • Modules
      • Create ACM module that make change the Logo when langage change
      • JA MAsthead dont work after Joomla 5.2 update
      • ACM module Incrementation +1
      • Module ACM, utiliser Slider Bootstrap - ajouter une boucle
      • Ordonner les groupe de champs ACM
      • Place a module above and below the component
      • Créer un module Joomla (Timeline)
      • Module - Appel dans le code et le template
      • Gtranslate (conflit mootools / problème de traduction)
      • Créer un select list dans JACM
      • Call a menu Item from ACM module JACM
    • Fields
      • Appeler un Custom field depuis un module
      • Insérer une valeur (à partir d'un radio) dans la propriété d'un élément html
      • Add Subform - repetables on Joomla 5
      • adding joomla custom fields with t3 Framework
      • How to use custom fields in Joomla 3 ?
      • Custom fields don't render plugin shortcode
      • Load custom fields in modules
      • Aller plus loin avec les Custom Fields de Joomla! 3.7
      • Les Champs Personnalisés (Custom Fields) dans Joomla!
      • Ajouter une boucle dans un article Joomla pour utiliser un "Slider Boostrap"
      • Traduire champs répétable
      • Appeler les Fields Joomla dans category (J4)
      • Differents solutions for joomla fields (inside module / inside template / override)
      • Accordéon Boostrap dans une page joomla avec repeteable fields
      • Insérer la valeur d'un champ joomla "joomla field" dans php
    • SEO - Crawling - IA
      • 28 idées SEO sur le plan technique
      • Robot.txt - Empêcher les IA de crawler le site
      • Empêcher les IA de crawler via .htaccess
      • TDM Reservation Protocol (TDMRep)
      • Display Review from Google review on website
      • Fix microdata for the last breadcrumb item
      • Rewrite sitemap url to sitemap.xml
      • LCP - CLS and Google Speed
    • Other
      • Synology Drive - Synchronisation à la demande ?
      • Notepad édition avancée
      • Comment protéger un répertoire par mot de passe
      • MySQL delete FROM TABLE
    • October
      • October Videos tutorials
      • October Official tutorials and documentation
    • Librairies / templates / JS
      • Splash page
      • AOS CSS Scrolling effect
      • Add class with jQuery
      • Change HTML Element with JS
      • Hover CSS
    • Optimisation - SEO - Structured Data
      • F.A.Q. données structurées
      • Temoignages données structurées

Fields

Add Subform - repetables on Joomla 5

Details
Category: Fields

Dans cet exemple, j'ai ajouté dans un subform, l'appel de module, simplement en indiquant son ID dans le fiels.

Ensuite j'ai appelé le module depuis le PHP via le {loadmoduleid xxx}

<?php
// dabord, j'ai ajouté la ligne pour appeler le module (en haut de mon document)

use Joomla\CMS\Helper\ModuleHelper;
?>

 

<?php
// Ensuite en haut de mon fichier PHP, j'ai ajouté les déclaration pour mes fields 
// "contentbloc" est le nom de mon champ subform (celui qui appel les fields)
// on récupère les données et on les place dans un tableau
// on créer ensuite une boucle


// Récupération des champs Joomla
$fields = $this->item->jcfields;
$fieldName = 'contentbloc'; 
$subformData = [];

foreach ($fields as $field) {
    if ($field->name === $fieldName) {
        if (!empty($field->rawvalue)) {
            $decodedValue = json_decode($field->rawvalue, true);
            if (is_array($decodedValue)) {
                $subformData = $decodedValue;
            }
        }
        break;
    }
}
?>

 

<?php
// et pur finir, je place le code la ou je souhaite afficher le résultat
// "field1", "field2" et "field5" correspondent aux ID de mes fiels
// $title, $content et $module => sont les noms de mes fields
// ici j'ai utilisé {loadmoduleid xxx} pour appeler mon module

    if (!empty($subformData)) {
        foreach ($subformData as $rowValue) {
            if (is_array($rowValue)) {
                $title = trim($rowValue['field1'] ?? 'Sans titre');
                $content = trim($rowValue['field2'] ?? '');
                $module = trim($rowValue['field5'] ?? '');

                echo '<div class="subform-item">';
                echo '<h3>' . htmlspecialchars($title) . '</h3>';
                echo '<p>' . nl2br(htmlspecialchars($content)) . '</p>';
                echo '</div>';
                echo '<div class="srv-mod">' . HTMLHelper::_('content.prepare', '{loadmoduleid ' . $module . '}') . '</div>';

            }
        }
    } else {
        echo '<p>Aucune donnée disponible.</p>';
    }
    
    
    ?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Page 2 of 14