Re: Comment utiliser un autre template ?

[email protected] (mikespub) Tue, 19 Aug 2003 23:19:53 GMT
Newsgroups gmane.comp.cms.xaraya.user.french
Organization not much
Message-ID <[email protected]>
In article <bhfl8g$jih$1-111RdWWlOxkOkXtL6OYfHgC/[email protected]>, "Squal38" <[email protected]> wrote:
>Bonjour,
>
>j'ai suivi le thread sur public-dev mais j'aimerais avoir quelques
>précisions :
>J'ai bien compris comment utiliser un template différent en fonction d'un
>"publication type" mais voila le problème :
>je voudrais utiliser un template "classic" pour afficher
>"index.php/articles" (par exemple) mais je voudrais afficher le détail des
>article dans un popup et donc utiliser pour cela un template completement
>différent.
>Comment faire ?
>

Pour avoir un pop-up, il faut tout d'abord que le lien vers l'article
(dans user-summary-<pubtype>.xd et autres, p.e. user-archive.xd)
soit modifie, et ensuite il faut eventuellement un autre "page template".

Par defaut, il n'y a pas moyen de specifier un autre "page template" pour le
"display" d'un article que pour le "view" de plusieurs articles. On a le choix
entre :

1) <pubtype-specifique>, defini dans la config d'articles pour un 
   pubtype particulier
2) articles.xt, pour toutes les pages du module "articles"
3) default.xt, pour toutes les pages non-admin du site

Ce qu'on peut faire par exemple, c'est d'adapter le fichier
modules/articles/xaruser/display.php et specifier un template
specifique au lieu de :

    // Page template depending on publication type (optional)
    if (empty($preview) && !empty($settings['page_template'])) {
        xarTplSetPageTemplateName($settings['page_template']);
    }

Ou bien utiliser le meme page template pour tout, mais y ajouter
quelque chose dans le style :

<xar:if condition="xarVarIsCached('Blocks.articles','aid')">
..format popup ...
<xar:else />
.. le page template d'origine ...
</xar:if>

Explication : cette variable n'est mise en cache que lors du display
d'un article. Mais je n'ai pas teste... :-)

Mike.