Forum CMS Made Simple FR

Version complète : [Résolu]Le retour de ma balise qui liste les fichiers d'un dossier
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : Ovh
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour, alors voilà une partie de mon gabarit :

Code :
[== HTML ==]
{* Affiche les fichiers a telecharger *}
{page_attr key="extra3" assign="ex3"}
{capture block="telechargements" assign='fichier'}
{telechargements name= $ex3}
{/capture}
{if $ex3 != "" && $ex2 !=""}
{if $fichier !=""}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-78px;">
{$dl}
{/if}
</div>
{else}
{if !isempty($fichier)}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">
{$dl}
</div>
{/if}
{/if}
{*Fin telechargement*}

si l'attribut 2 est absent le bloc téléchargement si positionne bien, pareil si l'attribut 2 n'est pas renseigné.

Mon problème (encore un Sad ) est que je rempli tous les champs ex3 avec leur valeur, du coup avec mon code il m'affiche l’icône même s'il n'y a aucun fichier dans le dossier. J'ai essayé d'utiliser la balise capture comme pour les news mais hélas ça ne marche pas (bizarre :lol: ). Si vous avez une idée je suis preneur...
Pourquoi utilises-tu !isempty($fichier) ?
Ce ne serait pas mieux avec if (file_exists($fichier)) ?
Effectivement c'est mieux. Par contre maintenant il ne m'affiche plus rien, même quand un fichier est présent...

Code :
[== HTML ==]
{* Affiche les fichiers a telecharger *}
{page_attr key="extra3" assign="ex3"}
{capture assign='fichier'}
  {telechargements name= $ex3}
{/capture}
{if $ex3 != "" && $ex2 !=""}
  {if (file_exists($fichier))}
    <div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-78px;">
    {$fichier}
   </div>
{/if}
{else}
{if (file_exists($fichier))}
  <div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">
   {$fichier}
  </div>
{/if}
{/if}
{*Fin telechargement*}

Pourtant je test si "mon fichier existe" alors j'affiche, ça devrait fonctionner non ?
En fait j'ai le même problème pour mes news, j'ai du halluciné je croyais que ça fonctionnait mais en fait non... J'ai toujours le template qui est affiché même si la catégorie ne contient pas de news
Code :
[== Indéfini ==]
{*News defilantes *}
{page_attr key="extra1" assign="ex1"}
{if $ex1 != ""}
  {*On test si des news existes dans la categorie*}
  {capture assign="nouvelle"}
   {news number='3' category=$ex1 detailpage='info-actu' summarytemplate='slide_01' lang='fr_FR'}
  {/capture}
  {if $nouvelle != ""}
   {$nouvelle}
  {/if}
{/if}
{* Fin news defilantes *}
Fais un petit {get_template_vars} pour connaître les valeurs de tes variables.
Essaye avec $smarty.capture.nomVariableCapturee quand tu veux utiliser la variable capturée : {if $smarty.capture.nouvelle != ""}
D'abord merci de te pencher sur mon problème.

J'ai testé ce code :
Code :
[== HTML ==]
{*News defilantes *}
{page_attr key="extra1" assign="ex1"}
{if $ex1 != ""}
{*On test si des news existes dans la categorie*}
{capture name=nouvelle}
{news number='3' category=$ex1 detailpage='info-actu' summarytemplate='slide_01' lang='fr_FR'}
{/capture}
{if $smarty.capture.nouvelle != ""}
{$smarty.capture.nouvelle}
{/if}
{/if}
{* Fin news defilantes *}
Toujours le même résultat...

Pour le {get_template_vars}, voici ce que contient la variable nouvelle :
  • sur une page sans news, nouvelle n'apparait pas
  • sur une page avec news :
    Code :
    [== Indéfini ==]
    nouvelle = <!-- Displaying News Module -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
        <script src="modules/NewsSlides/Linking/js/slides.min.jquery.js"></script>

        <script>

            $(function(){
                // Set starting slide to 1
                var startSlide = 1;
                // Get slide number if it exists
                if (window.location.hash) {
                    startSlide = window.location.hash.replace('#','');
                }
                // Initialize Slides
                $('#slides').slides({
                    preload: true,
                    preloadImage: 'modules/NewsSlides/Linking/img/loading.gif',
                    generatePagination: true,
                    play: 5000,
                    pause: 2500,
                    hoverPause: true,
                    // Get the starting slide
                    start: startSlide,
                    animationComplete: function(current){
                        // Set the slide number as a hash
                        window.location.hash = '#' + current;
                    }
                });
            });

        </script>
    <div id="container">
             <div id="example">
                   <div id="slides">
                <div class="slides_container">
    <div class="slide">


    <div style="font-weight:bold;" class="NewsSummaryLink">
    <a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=78&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125" title="L'APPUI 72 oeuvre pour les enfants en souffrance">L'APPUI 72 oeuvre pour les enfants en souffrance</a>
    </div>

        <div style="font-size:x-small;" class="NewsSummaryPostdate">
            27/09/2011
        </div>

        <div style="font-size:x-small;" class="NewsSummarySummary">
            <img style="float: left;" src="uploads/images/images_info_actu/vignettes/appui72-petit.png" alt="" width="100" height="62" />Pour la deuxième année consécutive,l'APPUI 72 met en place une action à destination des enfants de 6 à 9 ans, témoins de violences conjugales ou intrafamiliales.Le service propose ainsi un espace d'expression thérapeutique sécurisant, afin d'encourager les enfants à développer des stratégies de protection. Neuf rencontres de 2 heures avec des professionnels de l'enfance sont ainsi prévues, à la salle municipale du quartier des Sablons. Grâce à la contribution de la Ville du Mans, aucune participation n'est demandée aux familles.
        </div>

        <div style="font-size:xx-small" class="NewsSummaryMorelink">
            [<a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=78&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125">Plus</a>]
        </div>


      
    </div>
    <div class="slide">


    <div style="font-weight:bold;" class="NewsSummaryLink">
    <a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=24&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125" title="Journ&eacute;e internationale des femmes">Journée internationale des femmes</a>
    </div>

        <div style="font-size:x-small;" class="NewsSummaryPostdate">
            03/03/2010
        </div>

        <div style="font-size:x-small;" class="NewsSummarySummary">
            <p>"Droits égaux, Opportunités égales : Progrès pour tous" est le thème officiel de la <span style="color: #993366;"><strong>Journée Internationale de la Femme 2010</strong>. </span>Grâce au "<strong>Collectif du 8 mars</strong>" et en partenariat avec la <strong>Maison de l'Europe</strong>, la déclinaison sarthoise de cette journée sera aux couleurs européennes.</p>
    <p>Au programme, deux débats :<br />1er thème : <span style="color: #993366;"><strong>Egalité femmes-hommes dans la vie professionnelle et en politique</strong></span><br />2ème thème : <span style="color: #993366;"><strong>Lutte contre les violences faites aux femmes</strong>.</span></p>
        </div>

        <div style="font-size:xx-small" class="NewsSummaryMorelink">
            [<a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=24&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125">Plus</a>]
        </div>


      
    </div>
    <div class="slide">


    <div style="font-weight:bold;" class="NewsSummaryLink">
    <a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=19&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125" title="&quot;APPUI TOIT&quot; : un accueil familial pour les femmes victimes de violences conjugales">&quot;APPUI TOIT&quot; : un accueil familial pour les femmes victimes de violences conjugales</a>
    </div>

        <div style="font-size:x-small;" class="NewsSummaryPostdate">
            03/02/2010
        </div>

        <div style="font-size:x-small;" class="NewsSummarySummary">
            <img style="margin-left: 10px; margin-right: 10px; float: left;" src="uploads/images/images_info_actu/convention.jpg" alt="" width="186" height="123" />Dans le cadre de l’expérimentation de l’accueil familial des femmes victimes de violences au sein du couple, une convention cadre a été signée par <strong>Emmanuel BERTHIER</strong> Préfet de la Sarthe, <strong>Roland du LUART</strong>, Président du Conseil général et <strong>Gérard GALIENNE,</strong> Président de l’association Montjoie, ce lundi 1er février.
        </div>

        <div style="font-size:xx-small" class="NewsSummaryMorelink">
            [<a href="http://www.montjoie.asso.fr/index.php?mact=News,cntnt01,detail,0&amp;cntnt01articleid=19&amp;cntnt01origid=178&amp;cntnt01lang=fr_FR&amp;cntnt01returnid=125">Plus</a>]
        </div>


      
    </div>
    <!-- End News Display Template -->
    </div>
                    <a href="#" class="prev"><img src="uploads/images/slideNews/arrow-prev.png" width="24" height="43" alt="Arrow Prev"></a>
                    <a href="#" class="next"><img src="uploads/images/slideNews/arrow-next.png" width="24" height="43" alt="Arrow Next"></a>
                </div>
                <img src="modules/NewsSlides/Linking/img/example-frame.png" width="539" height="341" alt="Example Frame" id="frame">
            </div>
                       </div>
    [/*]

Il a pourtant l'air de bien les reconnaitre mes news...
$nouvelle fonctionne, c'est déjà bien de le savoir Smile
Si je comprend bien ton problème, le gabarit des news s'affiche, même s'il n'y a pas d'article dans la catégorie spécifiée dans la balise.
Essaye ceci : {capture assign=ex1}{page_attr key="extra1"}{/capture}
et en ne mettant pas de quote pour l'assign si capture.

Ceci également : {telechargements name= $ex3} -> {telechargements name=$ex3}
Attends Rolleyes
Laisses-moi quelques minutes pour trouver la bonne méthode.
Voilà pour tes news :
Code :
{page_attr key="extra1" assign=ex1} {if $ex1 ne ''}{capture assign="nouvelle"} {News category=$ex1}{/capture}{if $itemcount > 0}{$nouvelle} {/if}{/if}
Le problème venait que ta condition devait connaître s'il y a des news dans la catégorie demandée, c'est fait avec itemcount > 0.
Pour "détaillé" mon problème : je souhaite afficher les news de manière défilante, pour ce faire j'utilise le module présenter ici : http://www.cmsmadesimple.fr/forum/viewtopic.php?id=4072. Si pas de news pas de slide, s'il existe une ou plusieurs news dans la catégorie on les affiche.

Les news sont organiser de la façon suivante (pour la catégorie) : NewsSite | Pôles territoriaux | Sarthe (72) | LAPPUI72, par exemple sur la page de LAPPUI72 l'attr1 vaut LAPPUI72.

Dans le gabarit j'utilise donc le code suivant :
Code :
[== Indéfini ==]
{page_attr key="extra1" assign=ex1}
{if $ex1 ne ''}
{capture assign="nouvelle"}
{news category=$ex1}
{/capture}
{if itemcount > 0}
{news number='3' category=$ex1 detailpage='info-actu' summarytemplate='slide_01' lang='fr_FR'}
{/if}{/if}

La balise smarty {get_template_vars} m'indique bien que la variable nouvelle existe (comme précédemment) mais je n'ai toujours pas d'affichage.

Je m'attaquerai aux téléchargements après...
Pour ton fichier, donne le code complet.
Pardon, tu veux quel fichier ? Mon gabarit ?
Juste une petite erreur Big Grin : $itemcount et pas itemcount Wink
Donc, pour ton cas précis :
Code :
{page_attr key="extra1" assign=ex1}
{if $ex1 ne ''}{capture assign="nouvelle"}{news number='3' category=$ex1 detailpage='info-actu' summarytemplate='slide_01' lang='fr_FR'}{/capture}
{if $itemcount > 0}{$nouvelle}{/if}
{/if}
Pour les téléchargements : le gabarit et l'udt {telechargements} et {$dl}, tout ce qui a un rapport.
Merci beaucoup, le petit $ a tout changé. Les news fonctionnent correctement Big Grin

Pour les téléchargement :
l'udt :
Code :
[== PHP ==]
/* repertoire du dossier */
$config = cmsms()->getConfig();
$dir = $config['root_path']."/uploads/telechargements/".$params['name'];
$dh  = opendir($dir);

$i=0;
while ( $file = readdir($dh) )
{
  /* enleve les fichiers . et .. */
  if ($file != '.' && $file != '..')
  {
    /* on passe les datas dans un tableau */
    $ListFiles[$i]=$file;
    $i++;
   }
}
closedir($dh);

/* tri par ordre decroissant */
if(count($ListFiles)!=0)
{
  if($list_tri == 'DESC')
  {
    rsort($ListFiles);
   }
   else
   {
     sort($ListFiles);
    }
}

if(count($ListFiles)!=0)
{

echo '<ul style="line-height:0px;">';

/* on affiche chaque element */
foreach($ListFiles as $elem)
{

if (preg_match("#.pdf$#", $elem)) {
    $icon="Pdf.png";
} elseif (preg_match("#.xlsx$#", $elem)) {
    $icon="Excel.png";
} elseif (preg_match("#.xls$#", $elem)) {
    $icon="Excel.png";
} elseif (preg_match("#.docx$#", $elem)) {
    $icon="Word.png";  
} elseif (preg_match("#.doc$#", $elem)) {
    $icon="Word.png";  
} elseif (preg_match("#.pptx$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.ppt$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.ppsx$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.pps$#", $elem)) {
    $icon="PowerPoint.png";  
} elseif (preg_match("#.zip$#", $elem)) {
    $icon="Zip.png";
}else {
    $icon="inconnu.png";
}

echo '<div align="center" style="text-align:left; margin-left:50px;"><li style="list-style-type:none;"><a href="/uploads/telechargements/'.$params['name'].'/'.$elem.'"><img src="uploads/telechargements/icones/'.$icon.'" title="'.$elem.'"></a>
<a href="/uploads/telechargements/'.$params['name'].'/'.$elem.'" title="'.pathinfo($elem,PATHINFO_FILENAME).'">'.pathinfo($elem,PATHINFO_FILENAME).'</a></li><br/></div>';

} //Fin du foreach

} //Fin du if

Pour les fichiers j'utiliserai un css par la suite

Mon gabarit :
Code :
[== Indéfini ==]
{* Affiche les fichiers a telecharger *}
{page_attr key="extra3" assign="ex3"}
{capture assign='fichier'}
{telechargements name= $ex3}
{/capture}
{if $ex3 != "" && $ex2 !=""}
{*if (file_exists($fichier))*}
{if (file_exists($smarty.capture.fichier))}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-78px;">
{$fichier}
</div>
{/if}
{else}
{*if (file_exists($fichier))*}
{if (file_exists($smarty.capture.fichier))}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">
{$fichier}
</div>
{/if}
{/if}
{*Fin telechargement*}
Je teste et je te dis quoi.
Il y a déjà un problème au niveau du $dir de l'udt : H:\wamp\www\1.10.3/uploads/images/logo1.gif.
Donc : $dir = $config['root_path']."\uploads\telechargements\\".$params['name'];
Attention, \ est un caractère d'échappement, il faut donc le doubler avant le double quote.
Pour cette ligne : $dir = $config['root_path']."\uploads\telechargements\\".$params['name'];
C'est pas plutôt comme ça : $dir = $config['root_path']."/uploads/telechargements//".$params['name'];

Mon code marchait plutôt bien (même s'il a des défauts comme tu me le montres et merci de le faire).

du coup en changeant cette ligne quand je fais {get_template_vars} : j'obtiens
Code :
[== Indéfini ==]
ex3 = LAPPUI72
fichier = <ul style="line-height:0px;"><div align="center" style="text-align:left; margin-left:50px;"><li style="list-style-type:none;"><a href="/uploads/telechargements/LAPPUI72/présence u19.xlsx"><img src="uploads/telechargements/icones/Excel.png" title="présence u19.xlsx"></a>
<a href="/uploads/telechargements/LAPPUI72/présence u19.xlsx" title="présence u19">présence u19</a></li><br/></div>

donc il récupère bien mon fichier.

Maintenant je voudrais faire comme les news, si pas de fichier dans le dossier je n'affiche rien (pour le moment j'ai un logo download tout le temps).

Code :
[== Indéfini ==]
{* Affiche les fichiers a telecharger *}
{page_attr key="extra3" assign="ex3"}
{capture assign='fichier'}
{telechargements name= $ex3}
{/capture}
{if $ex3 != "" && $ex2 !=""}
{*if (file_exists($fichier))*}
{if (file_exists($smarty.capture.fichier))}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-78px;">
{$fichier}
</div>
{/if}
{else}
{*if (file_exists($fichier))*}
{if (file_exists($smarty.capture.fichier))}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">
{$fichier}
</div>
{/if}
{/if}
{*Fin telechargement*}

Mon soucis doit venir d'ici non ?
Je suis sans doute un peu lent, mais je ne comprends pas ce que tu souhaites obtenir en définitive.
S'il y a au moins 1 fichier dans le répertoire /telechargements, tu souhaites l'afficher avec l'icône correspondant à son extension, c'est bien cela ?
Que mets-tu dans extra 2 ?
Extra 3 est un sous-dossier de telechargement, exact ?
Non c'est moi qui doit mal m’exprimer Wink

Au début j'avais juste ce code :
Code :
[== Indéfini ==]
{* Affiche les fichiers a telecharger *}
{page_attr key="extra3" assign="ex3"}
{if $ex3 != "" && $ex2 !=""}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 0px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-78px;">
{telechargements name= $ex3}
</div>
{else}
<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">
{telechargements name= $ex3}
</div>
{/if}
{*Fin telechargement*}

Qui m'affiche bien ça : [Image: 20120510-e9pxprdbmdda9x4wnt6pyndc8j.jpg]

extra 2 c'est le cadre avec les coordonnées, je teste juste dans le cas ou il n'y pas de cadre, d'afficher le "bloc" téléchargement au centre.

extra 3 : exact c'est mon sous dossier (par exemple pour cette page ext3=LAPPUI72, ce qui me renvoie au dossier uploads/telechargements/LAPPUI72)

Maintenant si c'est faisaible, j'aimerai que si le dossier LAPPUI72 est vide (donc pas de fichier mais le dossier existe) qu'il ne m'achiffe pas l’icône du dossier
Ok, je regarde.
J'ai trouvé ton code trop complexe pour le résultat que tu désirais obtenir.
J'en ai refait un nouveau : UDT (ne pas oublier de virer toute la css de la div pour la mettre dans le fichier css)
Code :
[== Indéfini ==]
$config = cmsms()->getConfig();
$dir=$config["uploads_path"].DIRECTORY_SEPARATOR.'telechargements'.DIRECTORY_SEPARATOR.$params['name'].DIRECTORY_SEPARATOR;
echo $dir;
$url = './uploads/telechargements/'.$params['name'].'/';
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
                     if ('file' == filetype($dir . $file)) {
echo '<div align="center" style="background-image: url(./uploads/telechargements/icones/download.png); background-position: 15px -10px; background-repeat: no-repeat; font-size: smaller; width:270px ; margin-left: 160px; padding:2px ; border-left:1px; border-right:1px; border-bottom:1px; border-top:1px; height:72px; margin-top:-10px;">';
echo '<a href="'.$url.$file.'">'.$file.'</a></div>';    
                    }
       }
       closedir($dh);
   }
}
DIRECTORY_SEPARATOR équivaut à '\\'
Gabarit :
Code :
{page_attr key="extra3" assign="ex3"}
{telechargements name=$ex3}
Comme cela, si tu as plusieurs fichiers, il les affiche tous, et, s'il n'y en a pas, il n'affiche rien.
Et pour l'affichage des icônes d'extension de fichier, tu fais comme je te l'ai expliqué dans ton autre post : http://www.cmsmadesimple.fr/forum/viewto...105#p27105

ATTENTION au nom des fichiers uploadés : pas d'accent ni de caractères spéciaux.

Pour ton extra key 2, soit tu crées une seconde UDT telechargementsCentre et tu poses ta condition dans le gabarit, soit tu récupères le paramètre dans l'udt et tu crées ta condition.
Merci, je test ça ce weekend (je suis en déplacement aujourd'hui).

Une question me traine dans la tête : pour les news, tu penses que je peux adapté mon code au gabarit de la news directement ? Ainsi dans les gabarits je n'aurais qu'à utiliser la balise {news...} au lieu de faire les tests, comme ça à la moindre modification je n'aurai qu'un fichier à modifier et non tous les gabartis ?
Celtic MAn a écrit :Une question me traine dans la tête : pour les news, tu penses que je peux adapté mon code au gabarit de la news directement ? Ainsi dans les gabarits je n'aurais qu'à utiliser la balise {news...} au lieu de faire les tests, comme ça à la moindre modification je n'aurai qu'un fichier à modifier et non tous les gabartis ?
Tu parles de quel code ? Celui du téléchargement de fichier ? C'est lui que tu veux inclure dans le gabarit des news ?
Si oui, je pense que tu devrais y arriver sans trop de difficultés.
Non celui des news, pour l'afficage des news (je passe du "coq à l'âne" désolé).
Code :
[== Indéfini ==]
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script src="modules/NewsSlides/Linking/js/slides.min.jquery.js"></script>

    <script>
{literal}
        $(function(){
            // Set starting slide to 1
            var startSlide = 1;
            // Get slide number if it exists
            if (window.location.hash) {
                startSlide = window.location.hash.replace('#','');
            }
            // Initialize Slides
            $('#slides').slides({
                preload: true,
                preloadImage: 'modules/NewsSlides/Linking/img/loading.gif',
                generatePagination: true,
                play: 5000,
                pause: 2500,
                hoverPause: true,
                // Get the starting slide
                start: startSlide,
                animationComplete: function(current){
                    // Set the slide number as a hash
                    window.location.hash = '#' + current;
                }
            });
        });
{/literal}
    </script>
<div id="container">
         <div id="example">
               <div id="slides">
            <div class="slides_container">
{foreach from=$items item=entry}
<div class="slide">


<div style="font-weight:bold;" class="NewsSummaryLink">
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a>
</div>

{if $entry->postdate}
    <div style="font-size:x-small;" class="NewsSummaryPostdate">
        {$entry->postdate|cms_date_format}
    </div>
{/if}

{if $entry->summary}
    <div style="font-size:x-small;" class="NewsSummarySummary">
        {eval var=$entry->summary}
    </div>

    <div style="font-size:xx-small" class="NewsSummaryMorelink">
        [{$entry->morelink}]
    </div>

{else if $entry->content}

    <div class="NewsSummaryContent">
        {eval var=$entry->content}
    </div>
{/if}

{if isset($entry->extra)}
    <div class="NewsSummaryExtra">
        {eval var=$entry->extra}
    {* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    </div>
{/if}
{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsSummaryField">
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->value}"/>
        {else}
          {$field->name}:&nbsp;{eval var=$field->value}
        {/if}
     </div>
  {/foreach}
{/if}

</div>
{/foreach}
<!-- End News Display Template -->
</div>
                <a href="#" class="prev"><img src="uploads/images/slideNews/arrow-prev.png" width="24" height="43" alt="Arrow Prev"></a>
                <a href="#" class="next"><img src="uploads/images/slideNews/arrow-next.png" width="24" height="43" alt="Arrow Next"></a>
            </div>
            <img src="modules/NewsSlides/Linking/img/example-frame.png" width="539" height="341" alt="Example Frame" id="frame">
        </div>
                   </div>

Penses tu que je peux intégrer les tests que tu m'as montré directement dans ce gabarit ?
Code :
[== Indéfini ==]
{if $itemcount > 0}

Comme ça j'aurais :
Code :
[== Indéfini ==]
{page_attr key="extra1" assign=ex1}
{if $ex1 ne ''}
{news number='3' category=$ex1 detailpage='info-actu' summarytemplate='slide_01' lang='fr_FR'}
{/if}

Mais je sais pas si ça va marcher par rapport à la catégorie...
Pages : 1 2