hoplageiss Posted January 23, 2010 Share Posted January 23, 2010 Bonjour;Peut ton modifier l'emplacement des blocs ou ? par paramétrage.J'ai mis une image plein centre, en haut, mais le bloc devise est placé au dessus, c'est laid.Je vous remercie.Olivier. Link to comment Share on other sites More sharing options...
liandri Posted January 24, 2010 Share Posted January 24, 2010 Bonjour,Oui c'est effectivement envisageable, mais avec un minimum de "recodage".Les classes des modules blokcurrencies et blocklanguages sont par défaut initialisé pour être intégrer au hook (emplacement en gros) "header" soit le Top de la page.Il faut donc savoir exactement où tu souhaites les placer, pour définir l'accrochage hook à configurer dans la classe des modules pour ensuite les activer et les rendre visible sur ta boutique.Il peut y avoir des changements de style css à faire aussi.Bonne continuation Link to comment Share on other sites More sharing options...
bleuindigo Posted January 25, 2010 Share Posted January 25, 2010 Bonjour Liandri,je viens de voir ton post qui correspond à mon problème.. je souhaite changer l'emplacement de certains modules notamment le blockcurrencies.. donc suivant le tuto d'installation, j'ai modifié l'accrochage dans le back. j'ai supprimé le module currencies dans le top et l'ai ensuite installé dans le rightColumn. Je suis allé dans le dossier blockcurrencies pour modifier dans le fichier php l'emplacement du bloc par défaut .`function install() { if (!parent::install()) return false; if (!$this->registerHook('rightColumn')) return false; return true; }A ce moment j'ai visualisé sur le navigateur, rien de rien... le bloc currencies à bien disparu du top, mais rien dans la col de droite.Dans les css, j'ai modifié la div parents de la div currencies : à l'origine : #header #currencies_block_top pour faire #right_column #currencies_block_top .apparement ca ne suffit pas car je n'ai rien à l'affichage du site... que manque t il?Dernière question?Je souhaite continuer à modifier la structure du site, j'ai remarqué que certains blocs sont ainsi positionner par défaut, je suppose qu'il me faudra faire la meme chose pour ces blocs?merci d'avanceFabien Link to comment Share on other sites More sharing options...
liandri Posted January 25, 2010 Share Posted January 25, 2010 function install() { if (!parent::install()) return false; if (!$this->registerHook('rightColumn')) return false; return true; } Cette modification ne marche que pour la phase d'installation du module, mais même si elle est bien inscrite dans l'accrochage (registerHook) il reste tout de même la fonction en elle même à créer, et qui n'existe pas par défaut pour ce block !Voilà ce qui fera ton affaire : <?php class BlockCurrencies extends Module { function __construct() { $this->name = 'blockcurrencies'; $this->tab = 'Blocks'; $this->version = 0.1; parent::__construct(); $this->displayName = $this->l('Currency block'); $this->description = $this->l('Adds a block for selecting a currency'); } function install() { if (!parent::install()) return false; if (!$this->registerHook('top')) return false; if (!$this->registerHook('rightColumn')) return false; return true; } /** * Returns module content for header * * @param array $params Parameters * @return string Content */ function hookTop($params) { global $smarty; $currencies = Currency::getCurrencies(); if (!sizeof($currencies)) return ''; $smarty->assign('currencies', $currencies); return $this->display(__FILE__, 'blockcurrencies.tpl'); } function hookRightColumn($params) { return $this->hookTop($params); } } ?> PS : Pense à modifier des style css, et le fichier blockcurrencies.tplDe plus la meilleure des méthodes est de dupliquer le module pour l'appeler autrement et travailler avec, et désactiver l'ancien, comme ça tu garde une trace de l'original. Dernière question?Je souhaite continuer à modifier la structure du site, j'ai remarqué que certains blocs sont ainsi positionner par défaut, je suppose qu'il me faudra faire la meme chose pour ces blocs? affirmatifBonne continuation Link to comment Share on other sites More sharing options...
hoplageiss Posted January 25, 2010 Author Share Posted January 25, 2010 Bonjour,..vu dans BO : puis que l'on peut accrocher un module a une position, mais Attention au conflit ..Olivier. Link to comment Share on other sites More sharing options...
liandri Posted January 25, 2010 Share Posted January 25, 2010 Bonjour,..vu dans BO : puis que l'on peut accrocher un module a une position, mais Attention au conflit ..Olivier. Je n'ai pas bien compris ce que tu veux nous dire :/ Link to comment Share on other sites More sharing options...
hoplageiss Posted January 25, 2010 Author Share Posted January 25, 2010 Eh bien, dans le BO, puis onglet puis permet de greffer un module à une position choisi dans la liste proposé.A mon avis; le problème est qu'il y a conflit entre le module que tu greffes et l'emplacement ou tu le mets qui contient déjà qq chose ..Je ne puis vous en dire davantage, je suis depuis peu sous prestashop.Olivier Link to comment Share on other sites More sharing options...
bleuindigo Posted January 25, 2010 Share Posted January 25, 2010 merci liandri pour le tuyau.la fonction php, je la place dans le fichier blockcurrencies.php, je suppose et après avoir modifié le nom des css, je modifie le fichier tpl du genre : <!-- Block currencies module -->[removed][removed] <form id="setCurrency" action="{$request_uri}" method="post"> {foreach from=$currencies key=k item=f_currency} {$f_currency.sign} {/foreach} ?je me doutais que c'était l'usine à gaz... existe t il un moyen de se former moins empiriquement?merciFabien Link to comment Share on other sites More sharing options...
liandri Posted January 25, 2010 Share Posted January 25, 2010 Eh bien, dans le BO, puis onglet puis permet de greffer un module à une position choisi dans la liste proposé.A mon avis; le problème est qu'il y a conflit entre le module que tu greffes et l'emplacement ou tu le mets qui contient déjà qq chose ..Je ne puis vous en dire davantage, je suis depuis peu sous prestashop.Olivier En fait la personnalisation de module ne s'arrête malheureusement pas par un simple enregistrement dans le système de greffe de module. Ce dernier n'est que volatile, et permet simplement de faire dans le backoffice ce qui aurai été oublié de le code de la class du module, c'est à dire à l'initialisation de la fonction d'installation : function install() {...} Cette fonction install() permet entre autre d'enregistrer un module à une accroche par une déclaration à l'aide de la fonction registerHook()Si celle ci n'est pas présente, alors le module à l'installation et la réinstallation, n'aura pas l'accroche souhaitée. Mais cette étape, bleuindigo l'a déjà créée.L'accroche étant effective, il faut pouvoir ensuite donner un contenu qui sera traité et affiché lors de son appel par le code.Comme tu le dis hoplageiss, il te manque alors un élément : le contenu. La phase d'accroche étant présente, le traitement va donc aller chercher le contenu à afficher pour cette accroche. Ce sous-traitement ne peux se faire qu'après avoir initialisé son contenu dans la class du module par les fonctions (par exemple) : function hookTop($params) {...} // pour l'accroche au top function hookRightColumn($params) {...} // pour l'accroche en colonne de droite function hookLeftColumn($params) {...} // pour l'accroche en colonne de gauche ETC ... Et c'est cela qui manquait à bleuindigo pour entamer sa personnalisationBonne continuation Link to comment Share on other sites More sharing options...
bleuindigo Posted January 26, 2010 Share Posted January 26, 2010 bonjour à toussuite et (fin peut etre??).Pour résumé : j'ai collé le code de liandri dans le fichier blockcurrencies.php du dossier module blockcurrencies.j'ai rajouté la partie function hooktop, function hookrightcolumn etc.. dans le meme fichier. j'ai reouvert mon site et là rien.... une page blanche et dans le backoffice: sur l'onglet module : erreur de parsing sur blockcurrencies....Etant donné que mon niveau en php n'est pas à la hauteur... comment puis je résoudre ce problème?merci d'avance pour votre aideFabien Link to comment Share on other sites More sharing options...
liandri Posted January 26, 2010 Share Posted January 26, 2010 Bonjour,Peux-tu m'envoyer ton fichier stp , je vais y regarder de plus près PS : Dans mon code y'avait un ";" en trop : function hookRightColumn($params) { return $this->hookTop($params); } et non plus function hookRightColumn($params) { return $this->hookTop($params);; } Link to comment Share on other sites More sharing options...
bleuindigo Posted January 26, 2010 Share Posted January 26, 2010 aaaaaaaaaaaaaaiiiiiiiiooooooooooiiiiiiiiiiiiiiooooooooooooooiiiiiiiiiooooooooooiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaça c'est le cri de tarzoonet... le roi de l'internet....Faisant fi de mon complexe php, je me suis jeté dans le code et j'ai tout repris proprement.. (liandri tu avais mis deux points virgules de suite vers function hookRightColumn...) et pis ben ca marche.... j'ai meme réussi à le placer sur la gauche... donc maintenant je me sens bien mieux.Un grand merci à Liandri pour ce gros tuyau..Fabien Link to comment Share on other sites More sharing options...
liandri Posted January 26, 2010 Share Posted January 26, 2010 C'est pas non plus sorcier ! Mais c'est un bon point de départ pour personnaliser tes propres modules !Bonne continuation Link to comment Share on other sites More sharing options...
Maury Girard Posted February 28, 2010 Share Posted February 28, 2010 Bonjour LiandriJe me permet de relancer ce post car malgré les démarche que vous donnez, je n'obtiens pas le rendu désiré (voir screen ci-joint)Je pense que j'ai pas attribuer un code dans le header.tpl ,si j'ai cette incident !Si vous pouvez éclairer ma lanterne Je vous remercie d'avanceCordialement, 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