[thème] eshopper

2»

Réponses

  • ppmtppmt Member
    août 2016 modifié
    Voila ce que j'ai dans header.php
    [== PHP ==]
    <?php if (!defined('PLX_ROOT')) exit; 
    $categorieBlogue = 1;						// la catégorie de nouvelles, les articles qui ne font pas partie de la boutique
    $entreeBoutique = array(5);				// c'est une matrice mais doit être unique
    $categoriesBoutique = array(2,3,4);			// catégories de produits triés dans la boutique, leurs articles ont une structure spéciale (par exemple le prix dans le chapô)
    $categoriesMarques = array(12,13,14);		// classement supplémentaire de catégories sous forme de marques, le comportement est identique à une catégorie de boutique
    ?>
    
    

    5 etant Boulangerie
    2,3 et 4 "Yeast Bread, Sourdough et Pastry
  • Si boulangerie devient la catégorie mère, c'est que tout vient de la boulangerie de façon générique. Pas de problème mais moi je la voyais comme "par opposition" à la catégorie Pâtisserie par exemple. Enfin, tu vois le principe, cette catégorie mère est une grosse séparation entre les produits (avec un prix dans le chapo) et les choses diverses comme les articles de blogue ou autre.

    Est-ce que quelque chose a reçu le gabarit categorie-shop.php? Toutes les catégories de produits (et la mère) doivent y être assignées.
  • ppmtppmt Member
    oui tous mes articles ont article-shop.php et toutes les categorie (incluant la mere) ont categorie-shop.php

    Je comprend le principe de la categorie mere mais je ne comprends pas pourquoi elle apparait aussi dans la sidebar ?
  • Quelques pistes pour la postérité pendant que je travaille sur les fichiers:

    Le chapô doit contenir un chiffre sans autres attributs , pas même un signe monétaire. Ce signe est géré par jCart dans son fichier de configuration, j'ai mis l'Euro par défaut mais tous les codes ISO4217 sont acceptés. Par exemple, j'ai changé le EUR pour GBP pour afficher la livre British.

    En plus d'ajouter la ligne "include" dans l'index de la racine, il faut aussi faire un petit tour des fichiers jCart pour configurer quelques paramètres. Les fichiers à visiter sont config.php et config-loader.php

    Tout ça n'est à configurer le premier jour et normalement ne chargera plus jamais.
  • Une installation par le brave cobaye ppmt fait ressortir un point important, une page statique de "Panier" est très importante pour le fonctionnement de tout le système. Parce qu'une version de rappel du panier vérifie son contenu pour la mettre dans le menu tout en haut, ça bloque très tôt dans l'affichage.

    Il faut simplement créer une page statique (vide) et lui assigner le gabarit static-checkout.php pour voir le tout s'activer. Le chemin vers cette page est une des configurations à inscrire dans /jcart/config.php .

    Ça ne règle pas tout mais c'est primordial pour avancer. En cas de pépin, je propose ma solution testée aujourd'hui même. Vous installez un site avec votre contenu et je peux vous aligner dans la bonne voie.
  • ppmtppmt Member
    Bon je suis reparti de zero et je pense avoir suivi toute les etapes:
    1. Install Pluxml 5.5
    2. Install theme theme-eshopper
    3. Install plugin plxMysearch
    4. Creer une categorie Mere (relever son ID) et lui affecter le gabarit categorie-shop.php
    5. Creer quelques categories de produit et y affecter le gabarit categorie-shop.php
    6. Creer plusieurs articles qui seront les produits et y affecter la categorie Mere et une ou plusieurs des categorie de produit. L'article doit avoir article-shop.php comme gabarit. Dans le chapo inserer un chiffre qui sera la prix du produit (ne pas mettre d'unite)
    7. Editer le fichier index.php qui se trouve a la racine de Pluxml et y mettre la ligne suivante avant le session_start()
      [== Indéfini ==]
      include_once(PLX_ROOT.'/themes/theme-eshopper/jcart/jcart.php');[/*]
      
    8. Creater une page statique vide pour le panier et lui attribuer le gabarit static-checkout.php
    9. Editer le ficher config.php dans le repertoire jcart du theme.
      [list=*]
    10. Editer la ligne 14 pour bien pointe vers le chemin du theme
    11. Editer la ligne 17 et modifier pour pointer vers l'id et le nom de la page statique du panier creer au point precedent
    12. Le site devrait etre pret!
    [/*]
    [*]Editer le fichier header.php dans le repertoire du theme
    [list=*]
    [*]Editer la variable $entreeBoutique pour y mettre l'id de la categorie cree au point 4[/*]
    [*]Editer la variable $categoriesBoutique et mettez y toutes les categorie de produits cree au point 5[/*]
    [/list][/*]
    [/list]

    Le site marche bien mieux qu'avant mais j'ai quand meme quelque souci. Si j'ajoute un produit au panier le panier reste vide. Ai-je oublie une etape
    De plus pourquoi la categorie rubrique-1 se retrouve liste dans la liste des categories?
    Et pour finir. J'ai editer le fichier config-loader pour changer l'unite de EUR a GBP mais le signe ne change pas sur le site. Il faut le changer ailleurs aussi?

    PS: Si j'ai oublie des etapes il faut me le dire et j'editerais mon message. Ca en aidera d'autre peut-etre
  • La nature de PluXml fait qu'on doit rafraîchir la page au moins une fois pour voir apparaître un changement dans le compteur du panier en haut de page dans le petit menu, c'est pas très grave à part une inquiétude de quelques secondes de ne pas voir augmenter le chiffre. Tout se rétablit au premier mouvement.

    jCart a une fonction ajax qui fait l'opération de mise à jour en javascript sans rafraîchissement mais ça empêche le reste de PluXml de bien fonctionner. C'est donc pas trop grave d'avoir à naviguer n'importe où une fois pour voir apparaître un article dans le compteur de panier.

    Le système avait bien mis l'article était bien présent dans le panier mais le petit compteur dans le menu est une fonction venant avec le gabarit, jCart n'a pas ce petit compteur. Certains vont même préférer enlever tout le petit menu pour privilégier le gros menu de gauche.

    La liste de catégories du gros menu est simplement un outil temporaire pour travailler la construction des pages, je fais ça tout le temps pour mes propres besoins et je le laisse dans le gabarit par habitude. La sidebar est un meilleur endroit pour illustrer les deux types de sidebar, le blog et la boutique.

    Le changement de monnaie se fait à un seul endroit, il est probablement correct. Toutes les opérations faites dans les fichiers de jCart demandent de redémarrer PluXml avec une nouvelle session. Les fichiers sont chargés une seule fois au début (le fameux include_once) et gardent leur contenu jusqu'à leur prochain démarrage. J'ai configuré mon navigateur pour vider la cache simplement en le fermant et le réouvrant, d'autres le feront autrement, c'est une question de logiciel.

    Merci pour la liste d'épicerie, les braves aventuriers qui se lanceront dans l'arène pourront compter sur notre assistance en cas de pépins.
  • ppmtppmt Member
    Oui en effet en revenant un heure plus tard et apres un petit refresh j'ai maintenant le bon signe. Par contre pour la livre anglaise le signe doit etre avant le montant comme pour les $

    OK donc si je comprend a terme la section "CATEGORIE" ne sera plus la et il ne restera que "NOS PRODUITS" et "MARQUES". Ca me va alors :)

    Je ne suis pas sur d'avoir compris l'histoire du panier! que dois faire pour voir mes articles dans le panier?
  • Pour la position du signe monétaire, c'est une question de bidouiller dans le formatage des quelques endroits où ils sont affichés. jCart a sa propre gestion des filtres numériques mais il ne sert que sur la page de panier (checkout), la seule qui est générée par jCart. Les pages d'accueil, de catégories et d'articles sont des gabarits classiques de PluXml avec des fonctions qui bâtissent les pages. En fouillant un peu les endroits où le chapô est utilisé, on trouve rapidement toutes les instances où un prix apparaît.

    Les deux menus sont des représentations rapides du menu de PluXml. J'ai répété le même deux fois et rajouté quelques éléments au petit à droite. C'est toi qui décide ce qui s'y retrouvera, ou même s'il est inutile à un des deux endroits et qu'il peut être retiré. C'est du formatage de base d'un site, je laisse toujours tout en place en arrivant du design initial, c'est mieux pour le look et bien plus facile à modifier. Par défaut, le menu PluXml offre la home et des pages statiques, ici on veut sans doute la boutique en plus.

    L'histoire du panier, si rien ne s'affiche encore, c'est que quelque chose manque. Tu peux prendre mon setup complet d'hier et le faire rouler. Si lui fonctionne, ton code a une erreur. Si rien ne fonctionne mieux, ton serveur est peut-être mal configuré. Tu peux prendre l'utilitaire dans le répertoire de jCart appelé server-test.php , ça ne trouve pas tout mais ça donne parfois la piste.
  • ppmtppmt Member
    en regardant les erreurs de apache je vois plein de chose du style Undefined index par rapport a jcart.


    [== Indéfini ==]
    [Sun Aug 28 17:01:18.336890 2016] [:error] [pid 2586] [client 92.31.1.56:36436] PHP Notice:  A session had already been started - ignoring session_start() in /var/www/PluXml/index.php on line 15, referer: http://highview.eg2.fr/index.php?static2/panier
    [Sun Aug 28 17:01:18.364306 2016] [:error] [pid 2586] [client 92.31.1.56:36436] PHP Warning:  implode(): Invalid arguments passed in /var/www/PluXml/themes/theme-eshopper/sidebar.php on line 12, referer: http://highview.eg2.fr/index.php?static2/panier
    [Sun Aug 28 17:01:18.785297 2016] [:error] [pid 2588] [client 185.49.22.55:46292] PHP Notice:  Undefined index: jcart in /var/www/PluXml/themes/theme-eshopper/jcart/jcart.php on line 607
    [Sun Aug 28 17:01:18.785886 2016] [:error] [pid 2588] [client 185.49.22.55:46292] PHP Notice:  Undefined index: ajax in /var/www/PluXml/themes/theme-eshopper/jcart/config-loader.php on line 29
    [Sun Aug 28 17:01:18.785945 2016] [:error] [pid 2588] [client 185.49.22.55:46292] PHP Notice:  A session had already been started - ignoring session_start() in /var/www/PluXml/index.php on line 15
    [Sun Aug 28 17:01:18.795783 2016] [:error] [pid 2588] [client 185.49.22.55:46292] PHP Warning:  implode(): Invalid arguments passed in /var/www/PluXml/themes/theme-eshopper/sidebar.php on line 12
    
    

    il y en a beaucoup plus que ca. Est-ce du au fait que j'utilise php7?

    J'ai essaye avec ton code que tu m'as envoye et c'est pareil
  • Si mon site complet fonctionne, le plus simple est de le prendre et ajouter tes produits. Tu peux toujours comparer les versions mais c'est très long pour rien.

    Si mon kit ne fonctionne pas non plus chez vous, je suggère de rouler le test de serveur. Je doute que php 7 soit un problème mais les points vérifiés par le script seront la prochaine étape normale.
  • ppmtppmt Member
    Non ton site complet ne marche pas non plus :(
    Voila ce me que donne le resultat du test de serveur
    [== Indéfini ==]
    jCart Server Test
    Required settings
    
        PHP version: Requires version 5.2 or newer, this server is using version 7.0.8-0ubuntu0.16.04.2
        Session support: Enabled
    
    Recommended settings
    
        Register globals: Off
        Display errors: On
    
  • Si le problème est causé par le serveur, je n'ai pas de solution à présenter. Je n'ai pas administré un serveur de production depuis les années 90 quand j'ai trouvé le premier hébergeur abordable qui voulait se donner les problèmes qui viennent avec pour une poignée de dollars par année. Je lui ai donné la tâche avec grand plaisir.

    C'est déjà bon signe qu'acun message d'erreur n'apparaisse, certaines installations nous donnaient quelques paramètres à régler en toutes lettres. Le résultat affiché ci-haut semble correct puisqu'il est identique au mien, à part la version de php. Je doute que ce soit une source de problème, même si presque personne n'utilise php7 sur la planète, elle devrait forcément être rétrocompatible.
  • ppmtppmt Member
    On dirait que c'est bien un probleme de version de PHP.
    J'ai installe ton kit sur une autre machine avec PHP5.6 et ca marche tres bien.

    J'ai essaye avec ma version et ca marche aussi.

    C'est dommage car meme si PHP7 n'est pas encore tres repandu il faudra bien s'y mettre un jour!

    Vu que jcart n'a plus l'air d'etre supporte je pense que c'est rate pour le coup
  • PierrePierre Member
    août 2016 modifié
    Moins de 1% des sites mondialement accessibles roulent sous php7, une très petite portion est même passée à php6 avant d'être abandonnée. J'ai installé sur certains des plus gros hébergeurs au monde et ils offrent deux ou trois versions de php5, sans plus.

    On devra probablement attendre environ une décennie pour voir des serveur utiliser php7.
  • ppmtppmt Member
    Oui peut-etre mais la ou ca va coincer c'est sur les VPS qui deviennent de plus en plus grand publique. Du coup la on va sans doute y retrouver plus souvent des distro qui installe php7 par default (Ubuntu par exemple!)

    L'hebergeur de mon site en production me propose plusieurs version de PHP dont PHP7 ( que je n'utilise pas car comme tu dis pas supporte par la plupart des applications encore :( )

    Ca va faire comme Python3. C'est tres bien mais personne ne l'utilise !
  • Si personne ne l'utilise, c'est que personne ne l'a jamais attendu ou demandé non plus. Ces organismes de normalisation doivent parfois justifier leur existence en créant les besoins avant qu'ils existent. Quel malheur si tout ce qui a été fait était suffisant pour l'humanité...

    Moi je préfère vivre dans la réalité d'une industrie (des serveurs) assez conservatrice. On met à jour quelque chose quand l'ancienne version a atteint sa limite et que quelques fonctions de la prochaine version sont prometteuses et risquent d'être demandées par les clients.
  • ppmtppmt Member
    Bon maintenant que ca marche pour le panier (sur un site hors ligne par contre) je continue a jouer un peu avec les options.

    J'ai intergre des shortcode et ca marche. Ce qui me perturbait c'est les fait que les shortcodes sont liste dans la baniere defilantes. Par contre si on clique sur le produit lui meme pour voir les details alors la les shortcode sont invisibles dans le contenu mais par contre on voit bien leur resultat sur la page.

    Tres sympa comme option
  • Oui j'aime beaucoup intégrer des shortcodes directement dans le champ de contenu géré par l'admin d'un article, c'est plus facile à travailler qu'un champ supplémentaire, il faut alors s'en souvenir et toujours les retirer de la vue à chaque affichage du champ en question.

    Le contenu du slider est laissé à ta discrétion, j'ai même laissé des formats du gabarit juste au cas, ils peuvent toujours servir. Ma première suggestion la plus simple est de mettre dans le slider seulement des articles de blog à propos des produits (ou autre chose) qu'on voudrait mettre en vedette.

    Si on ne prévoit pas utiliser le principe de blog, on peut réutiliser la fonction contenuArticle() qui est au début de article-shop.php. En la recopiant dans home.php , on peut alors répéter le même principe qui "retire" le contenu des shortcodes pour ne pas les afficher.

    J'ai choisi de ne pas alourdir trop la page d'accueil qui est souvent la première visitée par un installateur. Sa grande flexibilité force à faire des choix pour la modeler comme on veut pour nos besoins, ils changent à chaque installation.
Connectez-vous ou Inscrivez-vous pour répondre.