Jump to content

nicoco

Members
  • Posts

    18
  • Joined

  • Last visited

nicoco's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. En fait, cette solution (qui semble être ok pour les versions inférieures à 1.4) devrait fonctionner pour moi! http://www.prestashop.com/forums/topic/41013-solved-how-to-use-different-headers-according-to-sub-category-in-the-product-page/page__st__20 Est-ce que quelqu'un saurait comment adapter ceci à PS 1.4??? Merci!
  2. Hi! I'm using PS 1.4, and it seems that the core changed... header.php looks really different, so how could i do this trick? Where should i paste this code : if ($_GET['id_category']) $category = $_GET['id_category']; else if ($_GET['id_product']) { $product = new Product($_GET['id_product']); $category = $product->id_category_default; } $smarty->assign('category', $category); So that i could juste use {$category} in header.tpl (?) Thank you very much...
  3. Bonjour, Suivant le produit sélectionné, j'affiche une image concernant la catégorie de ce dernier, sur une colonne gauche du site(renseignée dans header.tpl, au moyen d'une condition). Mon problème, est que suivant le type de page sur laquelle je suis (en l'occurence "category.php" et "product.php"), je n'ai pas accès aux même variables. Ainsi, pour un site en production (comprendre avec le cache activé dans le BO), si je lance {debug} sur une page "product.php", je n'ai pas de variable me renseignant sur la catégorie du produit affiché. Ma question est donc, dans quel(s) fichier(s) sont initiés les variables que l'on trouve dans un popup suite à un {debug}? Comment est-il possible d'en renseigner une nouvelle (reprenant l'id de la catégorie, dans mon cas) et faire en sorte qu'elle soit prise en compte sur une page de type "product.php"? Merci!
  4. Re! Je pense que c'est un problème de cache, supprime le cache smarty (voir mon premier message) ou, va sur ton site à partir d'un autre navigateur (avec lequel tu n'es pas allé sur la page en question) si ca s'affiche correctement, c'est que c'est bien un pb de cache, sinon c'est sans doute tjrs un pb de htaccess
  5. Salut, As-tu bien vidé le cache de ton navigateur et de Prestashop? Pour Prestashop, vide ton cache Smarty, en supprimant les fichiers contenus dans : "/tools/smarty/compil". Si ca marche toujours pas :(je suis aussi chez OVH et dernièrement j'ai constaté qu'il y avait un problème avec ): SetEnv REGISTER_GLOBALS 0 Essayes-donc en mettant juste : SetEnv PHP_VER 5 Si tu veux retenter de réactiver l'écriture d'URL essayes ce Htaccess (que j'ai récupéré sur le forum d'OVH et qui fonctionne pour moi... J'ai aussi galéré...) : # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution # WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE # http://www.prestashop.com - http://www.prestashop.com/forums SetEnv PHP_VER 5 <IfModule mod_rewrite.c> # URL rewriting module activation RewriteEngine on # URL rewriting rules RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L] RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L] RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L] RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L] RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L] RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L] RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L] RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L] RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L] RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L] RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] RewriteRule ^page-non-trouvee$ /404.php [QSA,L] RewriteRule ^adresse$ /address.php [QSA,L] RewriteRule ^adresses$ /addresses.php [QSA,L] RewriteRule ^authentification$ /authentication.php [QSA,L] RewriteRule ^meilleures-ventes$ /best-sales.php [QSA,L] RewriteRule ^panier$ /cart.php [QSA,L] RewriteRule ^contactez-nous$ /contact-form.php [QSA,L] RewriteRule ^bons-de-reduction$ /discount.php [QSA,L] RewriteRule ^suivi-commande-invite$ /guest-tracking.php [QSA,L] RewriteRule ^historique-des-commandes$ /history.php [QSA,L] RewriteRule ^identite$ /identity.php [QSA,L] RewriteRule ^fabricants$ /manufacturer.php [QSA,L] RewriteRule ^mon-compte$ /my-account.php [QSA,L] RewriteRule ^nouveaux-produits$ /new-products.php [QSA,L] RewriteRule ^commande$ /order.php [QSA,L] RewriteRule ^details-de-la-commande$ /order-follow.php [QSA,L] RewriteRule ^commande-rapide$ /order-opc.php [QSA,L] RewriteRule ^avoirs$ /order-slip.php [QSA,L] RewriteRule ^mot-de-passe-oublie$ /password.php [QSA,L] RewriteRule ^promotions$ /prices-drop.php [QSA,L] RewriteRule ^recherche$ /search.php [QSA,L] RewriteRule ^plan-du-site$ /sitemap.php [QSA,L] RewriteRule ^magasins$ /stores.php [QSA,L] RewriteRule ^fournisseurs$ /supplier.php [QSA,L] </IfModule> # Catch 404 errors ErrorDocument 404 /404.php <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" </IfModule> FileETag INode MTime Size <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> Bonne chance!
  6. Bonjour, je rencontre le même problème que Rémy (je suis également sous 1.4), une fois le cache activé la variable $currentCategoryId n'existe plus et suivant la page où l'on est il n'est pas forcément possible de récupérer l'ID de la catégorie (tentez par exemple un {debug} sur une page product...). Quelqu'un a-t-il la solution? Au passage, je trouve ca quand même bien pourri que des variables disparaissent à la mise en prod! Je saurai pour la suite qu'il vaut mieux développer le site en condition de production...
  7. Bonjour, En avançant un peu, il semblerait qu'il soit plus aisé de récupérer des infos de la table manufacturer, j'ai donc créé un nouveau champ dansla table manufacturer : "man_infos". Le code suivant semble fonctionner sur un presta 1.4.1 : $productObj = new Product($product['product_id'], true, intval($cookie->id_lang)); $manufacturer_name = ''; $manufacturer = new Manufacturer($productObj->id_manufacturer, intval($cookie_id_lang)); if (Validate::isLoadedObject($manufacturer)) $manufacturer_name = $manufacturer->man_infos. ' '; $this->MultiCell($w[++$i], 5, Tools::iconv('utf-8', self::encoding(), $manufacturer_name.$product['product_name']), 'B'); En revanche sur la version 1.4.4 j'ai les erreurs suivantes : Notice: Undefined variable: cookie in (...)\prestashop\classes\PDF.php on line 847 Notice: Trying to get property of non-object in (...)\prestashop\classes\PDF.php on line 847 Notice: Undefined variable: cookie_id_lang in (...)\prestashop\classes\PDF.php on line 849 Notice: Undefined property: Manufacturer::$man_infos in (...)\prestashop\classes\PDF.php on line 851 FPDF error: Some data has already been output, can't send PDF file (Je précise que je fais ces tests sur une boutique de test en local, et qu'il ne m'est pas possible de mettre à jour presta, j'ai modifié trop de fichiers...) Merci
  8. Bonjour, J'ai créé un nouveau champ dans la table product_lang qui me permet d'ajouter le Siret du fabricant (et autres) dans la fiche produit. Je souhaiterai maintenant que ce champ (artisan_info) s'affiche sous le nom du produit dans la facture. En fouillant le forum j'ai trouvé quelques pistes, notamment une qui permet d'ajouter le nom du fabricant de cette manière : $fabricant = Db::getInstance()->ExecuteS(' SELECT id_manufacturer FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.intval($product['product_id'])); $this->MultiCell($w[0], 5, Tools::iconv('utf-8', self::encoding(), Manufacturer::getNameById($fabricant[0]['id_manufacturer']).' - '.$product['product_name']), 'B'); J'ai donc essayé de l'adapter, mais ma compréhension s'arrête à : sélectionner le champ "artisan_info" de la table "product_lang" : $info = Db::getInstance()->ExecuteS(' SELECT artisan_info FROM `'._DB_PREFIX_.'product_lang` WHERE `artisan_info` Après je sèche : WHERE `id_product` = '.intval($product['product_id'])); ? Et pour l'affichage, d'où sort ceci (où trouve-t-on une liste des actions disponibles) : Manufacturer::getNameById , est-ce que je dois faire quelque-chose du genre Product::getProductById (ca marche pas, à priori...). Enfin, je m'en sors très bien avec le HTML/CSS et je suis de plus en plus frustré de devoir (méchament) bidouiller en PHP, quelqu'un saurait me conseiller un bon tuto en ligne ou en livre pour ensuite pouvoir bidouiller correctement Prestashop? Merci!
  9. Bonjour, La facture se modifie dans classes/PDF.php
  10. Bonjour igsport et merci pour ta réponse, mais je ne pense pas que celà règle mon problème, puisque j'aurai encore une liste de produits non? Je vais tâcher d'un peu étayer ma problématique peut-être que ca donnera une idée lumineuse à quelqu'un... La boutique présente différents types d'objets vendu par différents vendeurs qui exercent différents métiers : - J'ai donc en premier lieu les univers (bijoux, habits etc...), pour lesquels j'utilise les catégories (aucun problème). - Ensuite j'ai les artisans, qui correspondent à "Fabricants" en langage prestashopien. Là aussi, pas de prob: j'ai ma liste de fabricants/artisans et quand je clique sur un nom, j'ai les produits en rapport... - Enfin, j'ai mes métiers, et c'est là que ca se corse : prenons un exemple, le bracelet de Paul, est classé dans ma catégorie bijoux. Le fabricant/artisan est donc Paul et son métier est bijoutier. J'aimerai donc avoir une liste de métiers qui classe les artisans/fabricants et quand je clique sur un nom de métier j'ai la liste de tous les artisans/fabricants concernés! Jusque-là pas de prob, je "transforme" donc mes fournisseurs en "métiers", mais le problème c'est que quand je vais cliquer sur bijoutier je vais avoir une liste de produits (de bijoux donc) alors que je voudrais avoir la liste des artisans/fabricants!
  11. Bonjour et merci pour ton intérêt. Je suis une bille en développement, mais j'ai de la bonne volonté Donc j'ai commencé par afficher les variables en ajoutant {debug} dans product-list2.tpl La variable $supplier, ne comprend aucune entrée concernant les fabricants (manufacturers), maintenant je ne sais pas si ca a une incidence ou pas... J'ai édité "SupplierController.php" et j'ai essayé d'ajouter une nouvelle fonction (ou variable ?) de ce type : $nomFabricant = $this->supplier->getManufacturers(); Mais ca me renvoi un "undefined". {debug} m'a en revanche appris que manufacturer est une des entrées de $products (id_manufacturer ou encore manufacturer_name) est-ce qu'il faut donc essayer plutôt quelque-chose avec $products? Merci encore...
  12. Un petit UP, svp... Même une autre piste, un début de solution, je ne suis pas difficile!
  13. Je pense que le problème doit venir de ca (product-list2.tpl): {foreach from=$products item=product name=products} J'ai essayé ca (et d'autres variantes dans le même genre, mais sans succès... c'est àdire que j'ai un message d'erreur à la place du contenu): {foreach from=$products item=product.manufacturer name=products}
  14. Bon, je vois que je ne passionne pas les foules, je relance quand même hein!? J'approche tout doucement du but... Voici ce que j'ai fait : J'ai édité supplier.tpl et j'ai remplacé : {include file="$tpl_dir./product-list.tpl" products=$products} Par : {include file="$tpl_dir./product-list2.tpl" products=$products} J'ai dupliqué product-list.tpl, que j'ai renommé en "product-list2.tpl". J'ai mis ceci comme contenu pour que ne s'affiche que le nom du fabricant et le lien vers sa liste de produits : <h4><a href="{$link->getmanufacturerLink($product.id_manufacturer)|escape:'htmlall':'UTF-8'}">{$product.manufacturer_name|escape:'htmlall':'UTF-8'}</a></h4> Maintenant j'ai donc bien ma liste de fabricants avec liens vers leurs produits spécifiques, mais... j'ai autant de doublons de fabricants qu'il n'a de produits... Logique puisque par défaut c'est la liste des produits qui s'affiche. Il me faut donc trouver un moyen d'afficher chaque fabricant qu'une seule fois... Quelqu'un aurait une idée?
  15. J'ai "résolu" le problème en créant moi-même mon plan du site. J'ai ajouté un nouveau hook, dans lequel j'ai affiché le module catégories et formaté l'affichage comme je le voulais via CSS.
×
×
  • Create New...