sticky59 Posted June 11, 2011 Share Posted June 11, 2011 Fastoche me direz vous...Le seul probleme c'est que je suis novice en php, et que lien n'est pas une simple adresse urlmais quelque chose comme Link to comment Share on other sites More sharing options...
sticky59 Posted June 11, 2011 Author Share Posted June 11, 2011 J'ai essayé de mettre le lien direct : ...com/category.php?id_category=7 mais j'ai un message: "01.produit introuvable".Voici l'adresse du site sur lequel je bosse:http://www.lesvinsdedionysos.comJe voudrais que les photos de la rubrique "produits phares", au centre, pointent vers les catégories dans l'arbre de la colonne de gauche: "vins rouges, vins blancs, vins rosés"J'ai essayé d'assigner les mêmes id_product et id_category dans la base de donnée mais c'est impossible de "dupliquer" 2 items.N'y a-il aucun moyen de "forcer" un lien dans un page php? Link to comment Share on other sites More sharing options...
sticky59 Posted June 11, 2011 Author Share Posted June 11, 2011 C'est bon j'ai trouvé comme un grand:Dans classes/Link.php, il suffit de remplacer ce qui'il y a apres GetproductLink par:($id_category, $alias = NULL, $id_lang = NULL) { if (is_object($id_category)) return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_category->id).'-'.$id_category->link_rewrite) : (_PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category->id)); if ($alias) return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_category).'-'.$alias) : (_PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category)); return _PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category); }et là les images des produits pointent vers les categories des produits.Biensur il faut changer les id_category dans la base de donnee pour que les chiffres correspondent.Bye et merci pour le coup de main De rien Link to comment Share on other sites More sharing options...
jeckyl Posted June 11, 2011 Share Posted June 11, 2011 ($id_category, $alias = NULL, $id_lang = NULL) { if (is_object($id_category)) return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_category->id).'-'.$id_category->link_rewrite) : (_PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category->id)); if ($alias) return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_category).'-'.$alias) : (_PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category)); return _PS_BASE_URL_.__PS_BASE_URI__.'category.php?id_category='.(int)($id_category); } Bonjour,juste une mise en forme que les gen puisse lire votre participation.Je précise juste que ce genre de pratique est à proscrire et qu'il est préférable de modifier le module plutôt que un fichier coeur de PrestashopCr si je comprends bien votre démarche, maintenant tous les liens produits de la boutique revoient sur la catégorie ???? Link to comment Share on other sites More sharing options...
sticky59 Posted June 11, 2011 Author Share Posted June 11, 2011 c'est la solution que j'ai trouvée pour me créer un pseudo bloc categorie en milieu de page...je n'ai pas pu avoir de reponse de personne + experimentees que moi donc j'ai bricolé ^^'. J'aurais effectivement préféré cibler uniquement les liens des images du bloc produits phares mais je n'ai pas réussi Link to comment Share on other sites More sharing options...
jeckyl Posted June 11, 2011 Share Posted June 11, 2011 Et pourquoi ne pas simplement changer le lien au lieu d'utiliser getproduct, n'y aurait il pas un getcategorylink ?mais pour cela il faut modifier le php du module pour récupérer les catégorie et non les produits.Là ce que vous avez fait est très étrange. arrivez vous encore à allez sur les pages produits ? Link to comment Share on other sites More sharing options...
sticky59 Posted June 11, 2011 Author Share Posted June 11, 2011 Le module se nomme "homefeatured.php" il comprend ceci: Je change le {$product.name|truncate:27:'...'|escape:'htmlall':'UTF-8'} {$product.description_short|strip_tags|truncate:130:'...'} getImageLink($product.link_rewrite, $product.id_image, 'home')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" /> Link to comment Share on other sites More sharing options...
jeckyl Posted June 11, 2011 Share Posted June 11, 2011 J'ai bien compris sauf que ce module est fait pour afficher des produit pas des catégories, donc il faut modifier le php du module pour qu'il aille récupérer les catégories et plus le produits. Link to comment Share on other sites More sharing options...
sticky59 Posted June 11, 2011 Author Share Posted June 11, 2011 Pouvez vous me dire ce que je dois changer SVP cela m 'aidera à comprendre le fonctionnement du site: if (!defined('_CAN_LOAD_FILES_')) exit; class HomeFeatured extends Module { private $_html = ''; private $_postErrors = array(); function __construct() { $this->name = 'homefeatured'; $this->tab = 'front_office_features'; $this->version = '0.9'; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Featured Products on the homepage'); $this->description = $this->l('Displays Featured Products in the middle of your homepage.'); } function install() { if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) OR !parent::install() OR !$this->registerHook('home')) return false; return true; } public function getContent() { $output = ''.$this->displayName.''; if (Tools::isSubmit('submitHomeFeatured')) { $nbr = (int)(Tools::getValue('nbr')); if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr)) $errors[] = $this->l('Invalid number of products'); else Configuration::updateValue('HOME_FEATURED_NBR', (int)($nbr)); if (isset($errors) AND sizeof($errors)) $output .= $this->displayError(implode(' ', $errors)); else $output .= $this->displayConfirmation($this->l('Settings updated')); } return $output.$this->displayForm(); } public function displayForm() { $output = ' <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> _path.'logo.gif" alt="" title="" />'.$this->l('Settings').' '.$this->l('In order to add products to your homepage, just add them to the "home" category.').' '.$this->l('Number of products displayed').' <input type="text" size="5" name="nbr" value="'.Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR'))).'" /> '.$this->l('The number of products displayed on homepage (default: 10).').' <input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /> </form>'; return $output; } function hookHome($params) { global $smarty; $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); $smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home'))); return $this->display(__FILE__, 'homefeatured.tpl'); } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now