Jump to content

Claw

Members
  • Posts

    94
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Claw's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Bonjour et merci Bruno mais je ne suis pas du tout convaincu de la réponse qu'on m'a apporté sur le bug tracker, j'y ai d'ailleurs exprimé ces doutes... dans le sens où si le problème venait du fait qu'il manquerait l'id FO et la clé cryptée, comment expliquerait-t-on que le module fonctionne (apparait dans la liste des transporteurs en FO) lorsqu'on fait le paramétrage ci-dessous: - Choix de la tranche : "par défaut" - Comportement des tranches: "Prend la tranche la + grande". (comme je l'exprimais dans mon 1er message) De + la réponse apportée revient à dire: vous devez payer (souscrire un contrat à la Poste) pour pouvoir ne serait-ce que tester le module So Colissimo ... J'espère simplement que ce n'est pas le cas car il serait très facile d'en tirer des conclusions pour le moins décevantes. Merci par avance. Claw
  2. Salut! Je reviens par ici car je désespère un peu ! Il me manque un élément et je n'arrive pas à savoir où ça coince... et j'aurais besoin d'un coup d'main svp ... En fait j'ai ajouté dans l'editorial block: - côté FO : un slider d'images, 6 max, cliquables si l'on veut - coté BO - module éditorial block: 6 input files (pour les images à uploader) avec pour chacun d'entre eux, un input text en dessous pour saisir une URL si on souhaite que l'image soit cliquable dans le slider. Côté FO, le slider fonctionne bien, je récupère bien mes images, et elles sont bien cliquables si une URL a été associée... ...MAIS ... ....côté BO j'ai un souci.... : qd je remplie un ou plusieurs champs d'URL, cette ou ces URLs va/vont bien s'enregistrer en BDD dans la table "ps_editorial_lang" dans les 6 nouveaux champs correspondants que j'ai créé (=> body_url_img_n" (où n = 1, 2, 3 4 , 5 ou 6)) MAIS une fois la mise à jour effectuée, les champs d'URLs côté BO sont remis à blanc et je n'arrive pas à comprendre pourquoi. Pour créer/gérer ces 6 nouveaux champs d'URL côté BO, je me suis appuyé sur ce qui avait été fait pour les autres champs comme le "body_title"... mais visiblement il manque un truc. Voilà ce que j'ai fait au niveau "editorial.php": [.....] $e=1; // Sert à identifier le chiffre des noms des images // On lance une boucle qui parcourt l'array d'images du slider for($i=0; $i<count($this->listeImg); $i++) { // Le nom de l'image $nameImg = $this->listeImg[$i]; // Son chemin complet $cheminImg = $this->_path.$nameImg.'.jpg'; // Div contenant 3 input: // 1 pour uploader une image // 1 autre de type checkbox qui permet de pouvoir supprimer l'image // 1 champ d'URL pour que l'image soit cliquable dans le slider $this->_html .= ' <div class="margin-form"><hr /><br /> Image '.$e.' : <input type="file" name="'.$nameImg.'" /><br /><br /><br /> <input type="checkbox" name="sup_'.$nameImg.'" /> Cochez la case pour supprimer l\'image ci-dessous<br /><br />'; // Affichage de l'image une fois uploadée: if(file_exists(dirname(__FILE__).'/'.$nameImg.'.jpg')) $this->_html .= '<img style="width:275px; height:139px;" src="'.$cheminImg.'" alt="" title="" /><br /><br />'; foreach ($languages as $language) { $this->_html .= ' <div id="body_url_img_'.$e.'_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $defaultLanguage ? 'block' : 'none').';float: left;"> URL '.$e.' : <input type="text" name="body_url_img_'.$e.'_'.$language['id_lang'].'" id="body_url_img_'.$e.'_'.$language['id_lang'].'" size="64" value="'.(isset($editorial->body_url_img_1_[$language['id_lang']]) ? $editorial->body_url_img_1_[$language['id_lang']] : '').'" /><br /> </div>'; // <== j'ai aussi un souci ici au niveau du value, je voudrais mettre un truc du genre '.isset($editorial->body_url_img_.$e._[$language['id_lang']]) ? ...' mais j'arrive pas a integrer le "$e" sans que ca me fasse pas une erreur de syntaxe ) } /*$this->_html .= $this->displayFlags($languages, $defaultLanguage, $divLangName, 'body_url_img', true);*/ $this->_html .= '</div><br />'; $e++; // On incrémente le numéro de l'image } $this->_html .='<hr /><br /> [.....] Merci bcp par avance pour votre aide.
  3. Merci Daniel3000 ! J'ai trouvé un "freeblock 2" sur prestatools (ajout d'un deuxième bloc libre)... ça l'air de correspondre (peux-tu me confirmer stp?) mais j'ai pas trouvé de freeblock "1" (qui soit compatible v1.4) qui permettrait déjà d'en ajouter un premier ...
  4. merci j'ai encore pas mal de maillons manquants, en + j'y connais rien ou presque en Smarty... mais on garde espoir ! !
  5. Salut Pierre-Yves et merci beaucoup pour ton retour, je voulais juste avoir cette confirmation ! Bon maintenant j'ai plus qu'à me remonter les manches, en l'occurrence pourvoir récupérer des URLs saisies en BO dans des nouveaux champs de l'editorial bloc. Pas gagné ... mais pas perdu non plus ! On y croit...
  6. un ptit up. ... personne n'a rencontré le même problème? ==> fax, email, etc qui n'apparaissent pas merci par avance.
  7. Merci ghz amine et Daniel ! Perso j'avais juste réussi à mettre mes 2 blocs dans des colonnes différentes (un à gauche, un à droite) mais à partir du moment où ils sont dans la même colonne impossible de les "détacher" ... :/ Donc vos réponses m'intéressent ! Par contre c'est quoi un bloc "freeblock" ? Claw
  8. Bonjour, Prestashop v1.4.4 Voilà je souhaiterais modifier la classe EditorialClass car j'aurais des champs perso à ajouter (bon ça c'est pas gagné je ne l'ai jamais fait encore! ). J'ai vu que si on voulait modifier une classe sans toucher au coeur de Prestashop on devait copier et modifier cette dernière dans le répertoire /override/classes/. Ensuite pour que ça marche, j'ai vu qu'il fallait modifier la première ligne de la classe comme ci-dessous (exemple): class ProductCore extends ObjectModel remplacée par class Product extends ProductCore Mon problème est que si j'ouvre la classe EditorialClass.php, j'ai : class EditorialClass extends ObjectModel sous-entendu je pensais avoir une ligne qui ressemblerait à ça : class EditorialCore extends ObjectModel Est-ce que je dois créer une ligne qui ressemble à ça : class Editorial extends EditorialClass ? Et si oui, dois-je renommer mon fichier EditorialClass.php en Editorial.php ? Merci bcp par avance, c'est encore assez flou pour moi ces histoires de classes et cie ! Claw
  9. Salu coeos.pro! J'comprends bien mais je considère que cette doc est faite aussi pour quelqu'un qui découvre la création d'un module + smarty (comme moi hier) donc qui n'a par définition pas forcément le recul nécessaire et les réflexes pour faire le tri (selon moi) et au delà de ça il y a bien des erreurs au sein de mêmes exemples (voir ci-dessous un copier coller de la doc) <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); include('MyModule.php'); // ==========> ligne en trop $mymodule = new MyModule(); $message = $mymodule->l('Welcome to my shop!'); $smarty->assign('messageSmarty', $message); $mymodule->display(dirname(__FILE__).'/mymodule_page.tpl'); // ===>erreur: remplacer par $smarty-> .... include('../../footer.php'); ?> + des erreurs dans le nommage des fichiers, etc C'est pas bien grave malgré tout, quelque part c'est même très formateur car ça t'oblige à regarder chaque caractère du code donné en exemple ! C'est p-e d'ailleurs l'effet souhaité ! Claw
  10. C'est good je pense que marche !!! Merci bcp coeos.pro ! Ca s'est passé en 2 étapes: - d'abord j'ai supprimé la ligne "include('mymodule.php');" - et ensuite j'ai remplacé dans la ligne 10, $mymodule par $smarty à la ligne "$mymodule->display(dirname(__FILE__).'/mymodule_page.tpl');" car j'avais le message suivant : "PHP Warning: Missing argument 2 for ModuleCore::display(), called in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 10 and defined in /home/xxxxxxx/public_html/boutique/classes/Module.php on line 1015" Et tout semble ok désormais! Mais ce qui signifie que la doc technique officielle pour ce sujet là (création d'un module) n'est pas du tout fiable car encore une fois je n'avais fait que des copier-coller des codes présentés dans la doc! Je vais faire remonter ça aux admins. Un grand merci en tout cas à toi ! Claw
  11. non il n'y a qu'un répertoire et il s'appele "mymodule". Rattaché à ce dernier j'ai (casse respectée): - mymodule.php - mymodule.tpl - mymodule_page.php - mymodule_page.tpl Du coup au risque que ça soit un peu long, je te mets le contenu exhaustif de chacun de ces fichiers: - mymodule.php: <?php class mymodule extends Module { public function __construct() { $this->name = 'mymodule'; $this->tab = 'Test'; $this->version = '1.0'; parent::__construct(); $this->displayName = $this->l('My module'); $this->description = $this->l('Description of my module.'); } public function install() { if(parent::install() == false OR !$this->registerHook('leftColumn')) return false; return true; } public function uninstall() { Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'mymodule` WHERE `id_block` ='.intval($this->id)); parent::uninstall(); } public function getContent () { // Instructions de la page de configuration } public function hookLeftColumn($params) { global $smarty; return $this->display(__FILE__, 'mymodule.tpl'); } public function hookRightColumn($params) { return $this->hookLeftColumn($params); } } ?> - mymodule.tpl: <!-- Block mymodule --> <div id="mymodule_block_left" class="block"> <h4>{l s=' Welcome!' mod='mymodule'}</h4> <div class="block_content"> <ul> <li> <a href="{$base_dir}modules/mymodule/mymodule_page.php" title="Click this link"> {l s='Click me!' mod='mymodule'} </a> </li> </ul> </div> </div> <!-- /Block mymodule --> - mymodule_page.php: <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); include('mymodule.php'); $mymodule = new mymodule(); $message = $mymodule->l('Welcome to my shop!'); //$smarty->assign('messageSmarty', $message); $smarty->assign('messageSmarty', 'test'); $mymodule->display(dirname(__FILE__).'/mymodule_page.tpl'); include('../../footer.php'); ?> - mymodule_page.tpl: {$messageSmarty} Est-ce que ça pourrait venir du fait que je déclare une variable $mymodule (même nom que classe) dans mymodule_page.php ? Merci beaucoup.
  12. J'ai fait les 2 modifs: - "class Mymodule extends Module" , j'ai aussi essayé "class mymodule extends Module" sachant que mon fichier s'appele "mymodule.php" ... je ne sais pas si ça a une influence. - et '1.0'... même résultat ! rien n'apparait. Par contre j'ai vu qu'il y avait un fichier d'error_log à la racine de mon module: J'ai mis les dernières lignes [06-Sep-2011 14:47:29] PHP Warning: Missing argument 2 for ModuleCore::display(), called in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 10 and defined in /home/xxxxxxt/public_html/boutique/classes/Module.php on line 1015 [06-Sep-2011 14:49:59] PHP Warning: include(MyModule.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 5 [06-Sep-2011 14:49:59] PHP Warning: include(MyModule.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 5 [06-Sep-2011 14:49:59] PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'MyModule.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 5 [06-Sep-2011 14:49:59] PHP Warning: Missing argument 2 for ModuleCore::display(), called in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule_page.php on line 10 and defined in /home/xxxxxx/public_html/boutique/classes/Module.php on line 1015 [06-Sep-2011 15:02:56] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:11:04] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:11:12] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:11:50] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:12:27] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:13:23] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:19:12] PHP Fatal error: Cannot redeclare class MyModule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 [06-Sep-2011 15:31:15] PHP Fatal error: Cannot redeclare class mymodule in /home/xxxxxx/public_html/boutique/modules/mymodule/mymodule.php on line 41 Sachant que la ligne 41 correspond à l'avant dernière ligne en l'occurrence à mon accolade fermée "}" juste avant le "?>" Ca te donnerait une idée ?
×
×
  • Create New...