web-dev-qa-db-fra.com

Joomla récupère des éléments via un type de données incorrect

J'essaie de récupérer des articles d'une catégorie particulière pour les afficher dans le cadre d'un module situé sur la page d'accueil. J'ai donc défini les états du modèle et récupéré les éléments via:

$items = $model->getItems();

alors j'ai fait un var_dump:

foreach ( $items as $item ) {

  var_dump( $item );

}

Et voici ce que je trouve étrange (extrait de var_dump):

...

["images"]=> string(202) "{"image_intro":"images\/slider\/slider_02.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}" ["urls"]=> string(121) "{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}"

...

Comme vous pouvez le voir, ["images"] ou ["urls"] contiennent un tableau, mais le type est string! Donc je ne peux pas faire $ item-> images-> image_intro. Je ne peux pas comprendre ce que je fais mal ou si c'est normal? Comment puis-je obtenir la valeur de image_intro dans ce cas (uniquement en utilisant la fonction exploser?) Ou une ligne de code que j'ai peut-être oubliée?

1
Mike

C'est une chaîne encodée en json.

$images = json_decode($item->images);
2
David Hayes