Je souhaite intégrer un diaporama simple à mon modèle et je souhaite utiliser un sous-formulaire pour faciliter la modification de l'image.
Voici le code que j'utilise pour appeler le fichier xml enfant
<field name="slideshow_items" type="subform" formsource="templates/jomlamaster/admin/subform/slideshow.xml" min="1" max="4" multiple="true" layout="joomla.form.field.subform.repeatable-table" groupByFieldset="true" label="Subform Field" description="Subform Field Description" />
et voici le contenu de slideshow.xml:
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="fieldset" label="Slideshow">
<field name="slideshow_img" type="media" directory="" label="Slideshow item" description="Choose an image slideshow"/>
<field name="slideshow_title" type="text" class="inputbox" label="Slideshow text" size="40" />
</fieldset>
</form>
C'est ce que j'obtiens lorsque print_r ($ slideshow_items);
stdClass Object
(
[slideshow_items0] => stdClass Object
(
[slideshow_img] => images/slideshow/img0.jpg
[slideshow_text] => Title 1
)
[slideshow_items1] => stdClass Object
(
[slideshow_img] => images/slideshow/img1.jpg
[slideshow_text] => Title 2
)
[slideshow_items2] => stdClass Object
(
[slideshow_img] => images/slideshow/img2.jpg
[slideshow_text] => Title 3
)
[slideshow_items3] => stdClass Object
(
[slideshow_img] => images/slideshow/img3.jpg
[slideshow_text] => Title 4
)
)
Comment puis-je analyser les valeurs ci-dessus afin de pouvoir les utiliser pour le diaporama?
Merci!
joomla-3.6
subform
webchun
la source
la source
echo empty($item->slideshow_img) ? '' : $item->slideshow_img;
Les données des champs de sous-formulaire sont enregistrées au format JSON, il faut donc d'abord "json_decode ()" pour obtenir les données, puis exécutez foreach look pour obtenir les données.
la source
Lorsque vous devez obtenir la valeur d'un seul nom de champ:
la source
Joomla\Utilities\ArrayHelper;
?Si vous utilisez le carrousel Bootstrap. cela fonctionne pour moi.
si quelqu'un veut améliorer ou fournir les meilleures pratiques, le code est bienvenu
la source