Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

module news, detailpage differents pour chaque catégories
#11

Jean le Chauve a écrit :Je croyais que ton code était dans le gabarit sommaire.

Ah, OK

J'ai finalisé le travail :

L'appel dans le gabarit de page :

Code :
[== Indéfini ==]
{news number="40" detailpage='nouvelle' summarytemplate='slide_detailpage' lang='fr_FR' category="actualités,Mise à jour du site,Travaux en cours" }

Le gabarit de sélection pour newsslides (qui marche très bien avec la dernière 1.11.10)

Code :
[== Indéfini ==]
<script type="text/javascript" src="modules/NewsSlides/Linking/js/slides.min.jquery.js"></script>

<script type="text/javascript">
{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: false,
                preloadImage: 'modules/NewsSlides/Linking/img/loading.gif',
                generatePagination: true,
                play: 5000,
                pause: 500,
                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">

{* on modifie detailpage en fonction de la catégorie de l'article en paramétrant news*}
{$detail_page=""}
{$gabarit_som=""}
{$gabarit_det=""}

{if $entry->category == 'Travaux en cours'}
{$detail_page="travaux-en-cours-detail"}
{$gabarit_som="travaux"}
{$gabarit_det="travaux"}

{elseif $entry->category == 'actualités'}
{$detail_page="actualite"}
{$gabarit_som="slide_detailpage_gabarit1"}
{$gabarit_det="actualites"}

{elseif $entry->category == 'Mise à jour du site'}
{$detail_page="actualite"}
{$gabarit_som="slide_detailpage_gabarit1"}
{$gabarit_det="actualites"}

{/if}

{news idlist="{$entry->id}"  summarytemplate="$gabarit_som"    detailtemplate="$gabarit_det" detailpage="$detail_page"}

{* fin de la modification *}


</div>
{/foreach}
<!-- End News Display Template -->
</div>

            </div>

                   </div>


J'ai utilisé des variables comme me l'a suggéré Jean le Chauve mais gardé plus de elseif pour plus de flexibilité. On peut choisir le gabarit de sommaire, de détail et la detail_page pour chaque catégorie. Le résultat est visible sur la première page de mon site.

MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10 Smile
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)