THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 bloc découvrez

(02-12-2009 22:15:29)


Dans le menu,  j'ai des rubriques, et dans chaque rubriques plusieurs sous-rubriques


Quand je clique sur une sous-rubrique, je fais afficher tous les produits de la sous-rubrique
Ca fonctionne.

Par contre, je voudrais egalement affichez le bloc mosaique decouvrez qu'il y a sur l'index sur template de base, a chaque fois que j'appuie sur une sous-rubrique.

Mais je cherche à ce que ce bloc affiche toutes les sous-rubriques de la rubrique concerné.


ex rubrique 1 :meuble
avec sous-rubrique chaise, table, tabouret

rubrique 2:electromenager
avec sous rubriques, frigo, four

quand j'appuie sur chaise par ex, je voudrais que le bloc affiche l'image et le titre des 3 sous rubriques chaise, table, tabouret de la rubrique meuble

le code ci-dessous me permet d'afficher les sous-rubriques de la rubriques 1
mais quand je passe à la rubrique 2, ou les autres, j'ai toujours les sous-rubriques de la rubrique meuble et pas les sous-rubrqie de la rubrique 2, ou 3

voici mon code ci-dessous, savez-vous où est mon erreur?


<div class="blocMozaique">
                <h3>Découvrez ...</h3>
                <div class="contenu">
                    <ul class="image">           
                        <THELIA_DECOUVREZ type="RUBRIQUE" parent="1"    num="8">
                       
                        <li><a href="sous-rubrique.php?id_rubrique=#ID" onmouseover="return escape('<h5>#TITRE</h5>#PRIX €')">
                           
                            <THELIA_IMAGE type="IMAGE" num="10" rubrique="#ID"   hauteur="81">
                                        #TITRE
                                        <img src="#IMAGE" alt="#RUBTITRE" title="#RUBTITRE"/>
                               

                            </THELIA_IMAGE>
                                                   
                        </a></li>
                       
                        </THELIA_DECOUVREZ>
                    </ul>
                </div>
            </div>

Merci pour votre aide, je débute et ce forum est vraiment d'une aide précieuse pour moi.

Offline

#2 Re: bloc découvrez

(03-12-2009 01:26:14)


En fait, dans le bloc image en haut ce sont toujours les images des sous-rubriques de la rubrique 1 qui s'affiche, et ça change pas même si je passe à la rubrisue 3, 4

Offline

#3 Re: bloc découvrez

(03-12-2009 08:14:05)


Ca ressemble à ton problème d'url rewrite.

Il serait intéressant de connaitre les valeurs #ID retournés par cette boucle :
<THELIA_DECOUVREZ type="RUBRIQUE" parent="1"    num="8">


Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#4 Re: bloc découvrez

(03-12-2009 10:21:54)


SI JE METS #ID DANS LA BOUCLE <THELIA_DECOUVREZ type="RUBRIQUE" parent="1"    num="8">

j'ai toujours, 2 et 3 qui s'affiche dans le bloc avec les images, c'est à dire les id de des  sous-rubrique chaise et table qui se trouve dans la rubrique meuble (id=1)

et même si je clique sur la sous-rubrique qui a par ex l'id=8 d'une autre rubrique (dont l'id=7 par exemple), dans la boucke "decouvrez c'est toujours les id 2 et 3 des sous-rubriques chaises et tables qui apparaissent

j'espère que c'était vraiment ta question

Offline

#5 Re: bloc découvrez

(03-12-2009 10:35:58)


Ma question est la même que sur l'autre post, c'est le code source de la page html qui m'intéresse.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#6 Re: bloc découvrez

(03-12-2009 10:55:26)


voilà ce que ça affiche alors que je clique sur la sous-rubrqie dont l'id=8 et qui fait partie de la rubrque id=7

Vraiment merci pour ton aide car j'ai beau cherché je trouve vraiment pas mes erreurs tant sur ça que pour l'url rewriting


<div class="blocMozaique">
                <h3>Découvrez ...</h3>
              <div class="contenu">       
               
               
                    <ul class="image">           
                         
                       
                        2
                  
                        <li><a href="sous-rubrique.php?id_rubrique=2" onmouseover="return escape('<h5>chaise</h5>#PRIX €')">
                                                                                        chaise
                                        <img src="client/cache/rubrique/_81____1er chaise copie_41.jpg" alt="chaise" title="chaise"/>                           
                                                   
                        </a></li>           
                                 3
       
                       
                        <li><a href="sous-rubrique.php?id_rubrique=3" onmouseover="return escape('<h5>table</h5>#PRIX €')">
                           
                                                                    table
                                        <img src="client/cache/rubrique/_81____table_42.jpg" alt="table" title="table"/>
                                                          
                                                   
                        </a></li>
                       
                       
                       
                    </ul>
                </div>
            </div>

Offline

#7 Re: bloc découvrez

(03-12-2009 11:09:16)


C'est le parent="1" qui pose problème, il faut mettre parent="#RUBRIQUE_ID", comme cela tu auras les enfants de la rubrique en cours et pas ceux de la rubrique 1.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#8 Re: bloc découvrez

(03-12-2009 11:30:20)


j'ai déjà essayé ça mais si je fais ça plus aucune image de sous-rubrique ne s'affiche. Que faire?

Par contre je comprends pas je croyais que parent indiquait juste le niveau de la rubrique c'est à dire parent=1 signifiait qu'elle avait qu'un parent et donc une rubrique au dessus

Offline

#9 Re: bloc découvrez

(03-12-2009 11:35:49)


manille wrote:

Par contre je comprends pas je croyais que parent indiquait juste le niveau de la rubrique c'est à dire parent=1 signifiait qu'elle avait qu'un parent et donc une rubrique au dessus

Tout est là : http://wiki.thelia.fr/index.php/La_boucle_RUBRIQUE

manille wrote:

j'ai déjà essayé ça mais si je fais ça plus aucune image de sous-rubrique ne s'affiche. Que faire?

Trouvez pourquoi.

Mais procédons par étape, est-ce que les bonnes rubriques s'affichent ?

Et c'est quoi le code source ?

Alfouien


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#10 Re: bloc découvrez

(03-12-2009 11:46:07)


le code source tu l'as sur mon message du dessus.
est-ce que les bonnes rubriques s'affichent ?
c'est à dire?
quand je clique sur les sous-rubriques j'ai la bonne page qui s'affiche.
mais dans la boucle thelia decouvrez, c'est toujours les 2 sous-rubrique de ma première rubrique

j'ai beau tourner et retourner le code, ça marche pas

Offline

#11 Re: bloc découvrez

(03-12-2009 11:49:00)


C'est quoi maintenant ta boucle THELIA_DECOUVREZ ?

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#12 Re: bloc découvrez

(03-12-2009 12:03:36)


c'est la boucle que je mets pour afficher la galerie image en haut de chaque page sous-rubrique pour afficher les images de toutes les sous-rubriques d'une même rubrqiue.

'est justement là où j'ai un problème

<div class="blocMozaique">
                <h3>Découvrez ...</h3>
                <div class="contenu">
                    <ul class="image">           
                        <THELIA_DECOUVREZ type="RUBRIQUE" parent="1"    num="8">
                       
                        <li><a href="sous-rubrique.php?id_rubrique=#ID" onmouseover="return escape('<h5>#TITRE</h5>#PRIX €')">
                           
                            <THELIA_IMAGE type="IMAGE" num="10" rubrique="#ID"   hauteur="81">
                                        #TITRE
                                        <img src="#IMAGE" alt="#RUBTITRE" title="#RUBTITRE"/>
                               

                            </THELIA_IMAGE>
                                                   
                        </a></li>
                       
                        </THELIA_DECOUVREZ>

Offline

#13 Re: bloc découvrez

(03-12-2009 12:07:12)


alfouine wrote:

C'est le parent="1" qui pose problème, il faut mettre parent="#RUBRIQUE_ID", comme cela tu auras les enfants de la rubrique en cours et pas ceux de la rubrique 1.

Alfouine,

Et tu as essayé cela ?

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#14 Re: bloc découvrez

(03-12-2009 13:26:27)


oui mais ça marche pas.

vu que je voulais une présentation et un affichage différent pour la page rubriqe et sous-rubrique, j'ai créee un fichier spéifique sous-rubriqe.html.

Ne serait-il pas mieux que j'affiche tout sur rubrique.html et différencier l'affichage avec les filtres?

Offline

#15 Re: bloc découvrez

(03-12-2009 14:26:09)


Le mieux c'est de faire comme cela dans ton fichier rubrique.php

<?php
     switch($_GET['id_rubrique'])
	 {
	    case '1' : 
	    case '2' : $fond="rubrique.html";
		break;
	default : $fond="sous-rubrique.html";
	}
    $pageret=1;
$parsephp=1;
    include("fonctions/moteur.php");
?>

Tu mets les id de tes rubriques principales en case et par défaut tu gères les sous-rubriques.

Le problème des filtres aujourd'hui, c'est qu'ils sont exécutés après les boucles, donc si tu as beaucoup de boucles dans tes filtres elles seront toutes exécutées et après le filtre ne prendera que celles qui le concerne, donc cela peut être pénalisant en terme de temps de réponses.


Alfouine,

Last edited by alfouine (03-12-2009 14:27:02)


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#16 Re: bloc découvrez

(03-12-2009 15:50:29)


j'ai essayé ce que tu m'as donné, en local ça marche mais avec l'urlrewriting ça donne ça et plus rien ne marche

http://www.nomdemonsite.fr/LNB/#REWITEURL

Peux-tu me dire pourquoi je peux pas rester avec un fichier sous-rubrique.php qui apelle le squelette sous-rubrique.html puisque ça marche.
Surtout que c'est plus souple, car à chaque création de rubrique j'ai pas besoin de rajouter son id dans rubrique.php

qu'en penses-tu?
quel est l'intérêt et la différence de tout passer par rubrique .php au lieu de créer un fichier sup sous-rubrique.php, je comprends pas

Offline

#17 Re: bloc découvrez

(03-12-2009 16:02:07)


Je t'ai proposé cette solution parque j'ai un mal fou à comprendre le problème et que j'ai l'impression que tu ne testes pas correctement ce que je te donne.
Et j'ai cette impression car quand tu me donnes du code et des boucles, je ne sais jamais de quels fichiers ils proviennent, donc pour simplifier je me suis dis que si tu n'avais plus qu'un seul fichier on se comprendrait peut être mieux.

Ce qui n'était pas faut puisque cela fonctionne.

On peut effectivement utiliser un fichier différent pour les sous rubriques avec bien sur du code différent, mais il faudrait épurer ton code pour partir sur une base simple, et quand cela marchera tu pourras ajouter tes photos et faire du rewriting.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

#18 Re: bloc découvrez

(03-12-2009 16:18:20)


ok, je vais faire comme tu dis, mais je me suismal exprimé, quand j'ai dit que ça foncionnait en local, je veux dire que j'avais le meêm affichage qu'avec mes 2 dosiiers rubrique.php et sous-rubrique.php

Mais ça ne change rien au niveau de l'affichage, de la boucle <thelia_decouvrez qui présenyte toujours que les 2 mêmes sous rubrique et aucune si je mets parent="#RUBRIQUE_ID"

par contre sur mon site distant ou j'ai déjà activé l'urlrewriting, du coup ça marche plus.

Je crois donc déjà que je vais enlever l'url rewriting partout.

mon code marche, quand j'appuie sur le menu j'arrive à la page désirée, mon problème est vraiment ciblé sur cette boucle thelia, cette galerie photo identique à celle à celle de l'index sur le template de base

bon, aujourdh'ui c'est la galère, rien ne marche....

Offline

#19 Re: bloc découvrez

(03-12-2009 16:35:16)


ça y est j'ai supprimé l'url rewriting et je par sur un seul fichier rubrique.php avec le code que tu m'as donné.

Je vais donc essayer dépurer le code et de retravailler le menu.

Je t'envoie tout ça quand j'ai terminé.

Merci vraiment pour ton aide

Offline

#20 Re: bloc découvrez

(04-12-2009 13:01:47)


bon, j'ai réussi finalement quand j'appuie sur une sous-rubrique à afficher dans le bloc image "découvrez le"toutes les sous-rubriques de la rubrique parent.

en fait c'était parent=#RUBRIQUE_PARENT

j'ai installé le menu dont tu m'as donné le lien.

et là je comprends pas


quand j'affiche sur 2 rubriques et pas sur les autres alors qu'elles sont au même niveau, j'ai ce message d'erreur:

mysql_num_rows(): supplied argument is not a valid MySQL result resource in /nom-de-mon-site/fonctions/boucles.php on line 995

j'ai cherché sur le forum, apparemment ça viendrait d'un problème de boucle thélia, pourtant j'ai épuré rubrique.html pour voir et j'ai toujours l'erreur.


Sais-tu d'où vient cette erreur?

et autre bug, quand je vais dans le BO de thelia, dans commande et que je change e staut en "payé" uniquement j'ai ce message d'erreur:

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 2065 is not allowed to access /home/eq40252/html/LNB/client/tnt owned by uid 65534 in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 184

Warning: fopen(../client/tnt/fic31.TXT) [function.fopen]: failed to open stream: No such file or directory in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 184

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 2065 is not allowed to access /home/eq40252/html/LNB/client/tnt owned by uid 65534 in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 185

Warning: fopen(../client/tnt/fic31.TEM) [function.fopen]: failed to open stream: No such file or directory in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 185

Warning: fwrite(): supplied argument is not a valid stream resource in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 190

Warning: fwrite(): supplied argument is not a valid stream resource in /home/eq40252/html/LNB/client/plugins/tntrelais/Tntrelais.class.php on line 191

et là franchement je vois pas non plus d'où ça vient.


Merci à toi si tu peux m'aider

Offline

#21 Re: bloc découvrez

(04-12-2009 13:53:01)


j'ai trouvé l'erreur concernant la fonction/boucle.php.

par contre je cherche toujours l'autre....

Offline

#22 Re: bloc découvrez

(04-12-2009 14:38:33)


alors là je comprends pas,tout marche en local maintenant concernant paypal.
Mais sur serveur distant j'ai une erreur qui apprait et me bloque tout.

dès que j'appuie sur finaliser ma commande, avant même de choisir le mode de livraison, j'ai une page blanche et le message suvant:

Warning: Cannot modify header information - headers already sent by (output started at /home/nomdemabasededonnee/nomdemonsite/client/plugins/paypal/Paypal.class.php:100) in /home/eq40252/html/LNB/fonctions/moteur.php on line 232: voici la ligne 232:
    if($securise && ! $_SESSION["navig"]->connecte) { header("Location: connexion.php"); exit; }


En fait ce que j'ai fait: j'ai collé ce code que j'ai trouvé dans le forum sur Paypal.class.php pour faire en sorte que l'envoi du mail de confirmation de la commande soit envoyé après validation du paiement:

<?php

    include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsPaiements.class.php");
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/Message.class.php");
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/Messagedesc.class.php");
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/Client.class.php");
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/Commande.class.php");
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/Variable.class.php");
   
    class Paypal extends PluginsPaiements{

        function init(){
            $this->ajout_desc("Paypal", "Paypal", "", 1);
   
        }

        function Paypal(){
            $this->PluginsPaiements("paypal");
        }
       
        function mail($commande){
        }
        function confirmmail($commande){
//copié le contenu de la fonction mail du fichier classes/PluginsPaiements.class.php)
            $sujet="";
            $corps="";

            /* Message client */
            $msg = new Message();
            $msg->charger("sujetcommande");
            $msgdesc = new Messagedesc();
            $msgdesc->charger($msg->id);
            $sujet = $msgdesc->description . " " . $commande->ref;
            $msg->charger("corpscommande1");
            $msgdesc = new Messagedesc();               
            $msgdesc->charger($msg->id);
            $corps = $msgdesc->description;
            $corps = $this->substitmail($corps, $commande);

            /* Message admin */
            $msg->charger("corpscommande2");
            $msgdesc = new Messagedesc();
            $msgdesc->charger($msg->id);
            $corps2 = $msgdesc->description;
       
            $emailcontact = new Variable();
            $emailcontact->charger("emailcontact");   
            $corps2 = $this->substitmail($corps2, $commande);

            //$client = new Client();
            //$client->charger_id($commande->client);
           
            //mail($client->email , "$sujet", "$corps", "From: $emailcontact->valeur");
                mail($_SESSION['navig']->client->email , "$sujet", "$corps", "From: $emailcontact->valeur");
            mail($emailcontact->valeur , "$sujet", "$corps2", "From: $emailcontact->valeur");   
           
        }
       
        function confirmation($commande){
        $this->confirmmail($commande);
        }
        function statut($commande){
            if($commande->statut == 2){
                $this->confirmmail($commande);
            }
        }
       
   
        function paiement($commande){

            header("Location: " . "client/plugins/paypal/paiement.php");           
        }
   
    }

?>

Pourquoi j'ai aucune erreur en local et l'erreur sur moteur.php ligne 232 en distant