Page 1 of 1
[résolu] CTLModuleMaker accès objets parents
Posted: Wed Jul 15, 2009 1:21 pm
by nico63
Bonjour,
J'essaie en vain d'accéder aux objets parents comme décrit dans l'aide :
Vous pouvez accéder aux objets parents en utilisant $item->parent_object->parent_object->... (et ainsi de suite)
Je voudrais en fait accéder à une variable d'un objet parent (dans mon cas :
$item->trancheage se trouvant dans la catégorie parente qui s'appele :
souscategorie, j'ai 3 niveaux en fait)
Mais Je ne comprends pas bien la syntaxe. Est-il possible d'avoir un exemple pour accéder à cette variable.
D'avance merci, Nicolas.
Re: CTLModuleMaker accès objets parents
Posted: Thu Jul 16, 2009 4:53 am
by plger
Supposons les niveaux : niveau1, niveau2, niveau3
Que tu regarde les détails d'un objet du niveau3, et que tu veux la variable
trancheage du parent du niveau1
Code: Select all
{$item->parent_object->parent_object->trancheage}
(le premier parent_object nous amène au niveau2, le second nous amène au niveau1)
Ça pourrait ne pas marcher si :
1. Tu regarde une liste plutôt que les détails d'un objet du dernier niveau (dans ce cas, si tu veux une variable du parent immédiat, tu peux utiliser {$parentobj->trancheage})
2. Ton module utilise l'option "share children"
Si tu te trouves dans une situation où ça ne fonctionne pas, tu peux toujours utiliser
(voir le faq)
Pierre-Luc
[Resolu] Re: CTLModuleMaker accès objets parents
Posted: Thu Jul 16, 2009 3:35 pm
by nico63
Merci beaucoup Pierre-Luc,
Ca fonctionne parfaitement maintenant avec {$parentobj->trancheage} car je n'étais pas sur le dernier niveau en fait mais sur le second et je cherchais à récupérer un élément du premier niveau.
Cela dit, j'avais essayé cette méthode d'abord avec une version généré avec CTLMM 1.8.4, ça ne fonctionnait pas, j'ai essayé ensuite la dernière : la 1.8.8.2 qui me générai des erreurs au moment de la création du module (parse errors sur le fichier de langue Fr) et comme j'avais absolument besoin d'un module en version française, je suis revenu à la 1.8.4.1 et là ça fonctionne. Je ne sais donc pas si c'est lié à cette version ou si j'avais fais une erreur d'inattention dans la syntaxe.
En tout cas, encore une fois merci et bravo pour ton module qui apporte un véritable plus à CMSMadeSimple.
Nicolas.