Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.
|
Auteur
|
Message
|
|
anne martinet
|
Mercredi 07 Mai 2008 3:15:18 pm
code template
Bonjour,
J'ai créer un site dans lequel il y a un folder, et dans ce folder il y a articles et un objet d'une classe que j'ai créée
(My_article).
Je souhaite limité le nombre d'article qui s'affichent à l'écran. Pour cela j'ai surchargé le template des dossiers. Mais je
souhaite aussi affiche seulement les objets de type article.
j'ai esssaye dans une boucle a tester le type de l'enfant du dossier mais je n'arrive pas à l'exprimer correctement.
Ma boucle ressemble à ca:
<div class="content-view-children">
{foreach $children as $child }
{node_view_gui view='line' content_node=$child}
Le nom de la classe de l'objet : { $node.name }
{/foreach}
</div>
mais quoi que j'écrive j'ai toujours ce résultat:
Le nom de la classe de l'objet :
merci.
|
|
sébastien gaillard
|
Mercredi 07 Mai 2008 4:05:18 pm
Re: code template
bonjour Anne,
il me semble que dans ton cas, la solution la plus simple serait de faire un fetch :
{set $mesArticles = fetch(content,list,hash('parent_node_id', $node.node_id,
'limit', 5,
'class_filter_type', include,
'class_filter_array', array('article'), )
)
}
et ensuite d'appliquer un foreach sur $mesArticles.
La fonction fetch te permet de récupérer les 5 (chiffre spécifié dans limit) 1ers objet de classe 'article' dont le noeud parent est le noeud de l'objet courant.
Pour plus d'info:
http://ez.no/doc/ez_publish/techn...modules/content/fetch_functions/list
Voilà, j'espère que ça t'aura aidé.
Bon courage,
Sébastien
|
|
anne martinet
|
Mercredi 07 Mai 2008 5:35:55 pm
Re: code template
oui, merci, cela m'a éclairé sur plusieurs points
Mais je voudrais savoir à quoi correspond le include de 'class_filter_type'.
merci
|
|
sébastien gaillard
|
Mercredi 07 Mai 2008 5:51:03 pm
Re: code template
ca veut dire que tu inclus dans ton fetch la/les classes spécifiées dans le class_filter_array.
|
|
anne martinet
|
Lundi 09 Juin 2008 5:43:58 pm
Re: code template
Toujours concernant les templates j'ai une autre question.
J'ai créer deux siteaccess, un admin et un autre public. Avec un nouveau design pour le public et le même dossier var pour les deux, ainsi que la même base.
Pour le design du siteaccess public j'ai créer un nouveau pagelayout.tpl, qui est celui-ci :
<html>
<head>
<title>{$site.title}</title>
</head>
<body>
<p align="center"><b>{$site.title}</b></p>
<table>
<tr>
<td>
{def $currentNode =
fetch( 'content', 'node',
hash( 'node_id', $module_result.node_id )
)
}
{def $list_fils=fetch('content','list',
hash(
'parent_node_id', $currentNode.node_id,
'class_filter_type', 'include',
'class_filter_array', array('folder'))
)
}
{foreach $list_fils as $lf}
<a href="{$lf.url|ezurl('no','full')}">
{attribute_view_gui attribute=$lf.data_map.name}
</a><br/>
____________________
<br/>
{/foreach}
</td>
<td>
Le contenu : {$module_result.content}
</td>
</tr>
</table>
{* {$currentNode|attribute('show',2)}*}
{$module_result|attribute('show',2)}
<body>
</html>
Bien sûr j'ai du contenu dans mon siteaccess public.
Mais j'obtiens ce résultat:
Presentation EZ Publish
News
____________________
Discussion
____________________
Metéo
____________________
People Le contenu :
____________________
Musique
____________________
Animaux
____________________
Attribute Type Value
content string ''
view_parameters array Array(5)
>offset integer 0
...
Je ne comprends pas pourquoi $module_content n'arrive pas à m'afficher mon contenu.
Pourtant j'arrive quand même a retrouver les noms des dossiers pour mon menu.
Quelles sont les pistes à exploiter?
Merci.
|
|
anne martinet
|
Mardi 10 Juin 2008 4:57:53 pm
Trouvé!
Re-Bonjour à tous!
J'ai trouvé mon erreur. J'avais simplement oublié d'écrire cette ligne : AdditionalSiteDesignList[]=ezwebin
dans mon fichier settings/siteaccess/mon_siteaccess/site.ini.append.php
Bonne soirée!
|
|