|
Ange-Louis Toma
|
Vendredi 23 Mars 2007 10:32:39 am
Fetch sur une classe user créee
Bonjour a tous.
Voila, depuis quelques jour je constate un comportement bisare :
J'ai créé une classe :
IDclasse : membre_du_bureau
IDattribut1: prenom
IDattribut2: nom
IDattribut3: date_de_naissance
IDattribut4: status
IDattribut5: description
Les objets de cette classe ne peuvent etre créee que dans "Users" et "Content".
Je créee un "Usergroup" nommé "team" avec un IDnoeud:88 et un IDobjet:88
Dans ce groupe, je créee 4 instances d'objet membre_du_bureau (tous les champs sont completés).
Je desire les lister dans un repertoire de content, ce repertoire a un ID de 76 et une surcharge de template est appliqué sur celui-ci (avec un template debug je peux voir que le template utilisé est bien "_membres.tpl"
Le Code de ce template est ci-dessus:
{def $membres=fetch('content','list',hash('parent_node_id',88))} <!-- on viens de creer une liste appellé membres -->
{$membres|count()}
{if eq($membres|count(),0)}
Liste de taille {$membres|count()}<br/>
Attention, aucun membre n'existe !
{else}
<table border="1">
<tr> <td>Prenom</td> <td>Nom</td> <td>Date</td> <td>Status</td> <td>Description</td></tr>
{foreach $membres as $m} <!-- On parcours la liste de membres (pour chaque m appartenant a membres) -->
<tr> <td><a href={$m.url_alias|ezurl()}>{attribute_view_gui attribute=$m.data_map.prenom}</a></td> <td>{attribute_view_gui attribute=$m.data_map.nom}</td>
<td>{attribute_view_gui attribute=$m.data_map.date_de_naissance}</td><td>{attribute_view_gui attribute=$m.data_map.status}</td>
<td>{attribute_view_gui attribute=$m.data_map.description}</td>
</tr>
{/foreach}
</table>
{/if}
{undef}
Alors ca marche et c'est genial, mon tableau est créee, il y a tout ce que je voulais d'affiché.
Mais voila, ma journée de travail se termine, je sauvegarde et j'eteind ma machine.
Le lendemain, je lance mon site et a ma grande stupefaction la page affiche dans la section correspondante:
"
design/plain_site/templates/page_mainarea.tpl
design/plain_site/override/templates/_membres.tpl
0 Liste de taille 0
Attention, aucun membre n'existe !
"
Je migre les "membre_du_bureau" vers un autre usergroup "toto" j'applique le template a l'Idnoeud de "toto" je vide les cache et ca marche. Je fini de bosser, j'eteinds.
Le lendemain je rallume, ca marche plus, je refais la meme operation ci-dessus, aucun resultat.
On dirrai qu'il liste rien...
Il n'y a aucune coherence, quelqu'un a deja eu un comportement similaire ?Est-ce un bug de la version 3.9.1 ??
Est-il possible de lister les "membre_du_bureau" ??
Merci de votre aide !
|
|
Ange-Louis Toma
|
Mercredi 28 Mars 2007 1:53:36 pm
Re: Fetch sur une classe user créee
Oui je vide systematiquement les caches avant chaque test.
Le probleme en fait etait tout simple, je faisai mes tests avec l'utilsateur anonyme, mon fetch ne pouvais pas se realiser.
Les droits pour parcourir mes "membre_du_bureau" n'etaient pas accordé.Ma liste etait de taille egale a zero.
En me logant en admin le fetch se realise bien et mon tableau s'affiche.
Je realise maintenant tous mes tests en mode admin afin de ne plus perdre du temps a chercher le pourquoi du comment alors que tout est bon 
Il n'y a pas de problemes, il n'y a que des solutions.
|