THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

j'ai installé le module Dealer, configuré 1 magasin (adresse, horaires ...) dans le backoffice, tout bien.

Côté frontoffice, je ne parviens pas à appeler ma page magasin, j'ai loupé une étape ?

Merci pour vos éclairages


v2.4.4

Offline


Clairement  smile
Une telle page n'existe pas dans le template "default" de Thelia. C'est à toi de crée cette page et d'y utiliser les boucles définies par le module pour afficher les informations en front.

{loop type="dealer" name="dealer" visible="1" id="{$dealer_id}"}
    <div class="row">
        <div class="col-lg-6">
            <h3 class="mb-5">{$TITLE}</h3>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-6">
            <h6>Adresse du magasin</h6>
            <p>{$ADDRESS1}</p>
            <p>{$ADDRESS2}</p>
            <p>{$ADDRESS3}</p>
            <p>{$ZIPCODE} {$CITY}</p>
        </div>
    </div>
{/loop}    

en passant le paramètre $dealer_id en dur ou via une variable d'url par exemple.

Offline


Merci encore ! C'est en effet beaucoup mieux ainsi ;-)

Par contre, je peine encore à manipuler la boucle/loop dealer_schedules correctement.

En utilisant

 {loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"}

, je récupère bien mes infos pour chaque page de magasin via le dealer_id mais si je veux une page avec toutes les coordonnées et les horaires de tous les magasins en 1 fois, les horaires sont livrés classés par jour et non par magasin.

Je vais continuer à creuser


v2.4.4

Offline


Tu as besoin d'imbriquer 2 boucle : une pour parcourir l'ensemble des magasins, une seconde (imbriquée donc) pour afficher les horaires pour chaque magasin renvoyé par la première boucle.

Essai le code suivant

<div class="row liste">
    <div class="col-md-12">
        <p>LISTE</p>
        {loop type="dealer" name="dealer-list" visible="1"}
            <div>
                <p>{$TITLE} - {$ZIPCODE} {$CITY}</p>
                {loop type="dealer_regular_schedules" name="hours" dealer_id=$ID}
                    {if $FORMATTED_HOURS}
                        <p>
                            {$DAY_LABEL} : {$FORMATTED_HOURS}
                        </p>
                    {/if}
                {/loop}
            </div>
        {/loop}
    </div>
</div>

Offline


Merci bien encore une fois NOG ! (quand je passe à Nantes, c'est ma tournée !)

J'ai donc fait une petite page 'combo', qui affiche les détails d'un magasin si l'ID est passée dans l'URL et tous les détails de tous les magasins si pas d'ID (si ça peut servir à d'autres)

 {loop type="dealer" name="dealer" visible="1" id=$smarty.get.dealer_id}
      <div class="row">
        <div class="col-lg-6">
            <h3 class="mb-5">{$TITLE}</h3>
        </div>
    </div>

    <div class="row">
        <div class="col-lg-6">
            <p>{$ADDRESS1} · {$ADDRESS2}  {$ADDRESS3} {$ZIPCODE} {$CITY}</p>
            <p><i>{$DESCRIPTION}</i></p>
            <p>{$LAT} {$LON}</p>        
    </div>
  
       <div class="row">
        <div class="col-lg-3">          
            <div>
                {loop type="dealer_regular_schedules" name="hours" dealer_id=$ID}
                    {if $FORMATTED_HOURS}
                        <p>
                            <b>{$DAY_LABEL}</b> : {$FORMATTED_HOURS}
                        </p>
                    {/if}
                {/loop}
            </div>
        </div>
    </div>
  </div>
 </div>
{/loop}

J'ai mis la latitude et la longitude un peu pour la blague car je n'ai pas trouvé comment appeler la googlemap


v2.4.4

Offline


On ne t'arrête plus cool