Jump to content

[RESOLU] Changer lien lors de la duplication du module Publicité


Recommended Posts

Bonjour, :-)
j'ai dupliqué le module Blockadvertising (en suivant les nombreux Posts qui traitent du sujet)
Et donc, j'ai bien un nouveau bloc Publicité, qui apparait bien dans le BO, et que je peux déplacer sans problème.
Mais j'ai un souci au niveau du lien de l'image.
En effet, quand je ma modifie dans l'un des mes 2 blocs Publicité, elle est automatiquement recopié dans l'autre ? :-S
Et je ne vois pas à quel niveau du code cela se joue...

Je colle ici le code des 2 fichiers .tpl et .php du second module :

Fichier blockadvertising2.php :

<?php
class BlockAdvertising2 extends Module
{
   public $adv_link;
   public $adv_img;
   public $adv_imgname;

   function __construct()
   {
       $this->name = 'blockadvertising2';
       $this->tab = 'Blocks';
       $this->version = 0.1;

       parent::__construct();

       $this->displayName = $this->l('Block advertising2');
       $this->description = $this->l('Adds a block to display an advertising');

       $this->adv_imgname = 'advertising_custom.jpg';

       if (!file_exists(dirname(__FILE__).'/'.$this->adv_imgname))
           $this->adv_img = _MODULE_DIR_.$this->name.'/advertising.jpg';
       else
           $this->adv_img = _MODULE_DIR_.$this->name.'/'.$this->adv_imgname;
       $this->adv_link = htmlentities(Configuration::get('BLOCKADVERT_LINK'), ENT_QUOTES, 'UTF-8');
   }

   function install()
   {
       Configuration::updateValue('BLOCKADVERT_LINK', 'http://www.prestashop.com');
       if (!parent::install())
           return false;
       if (!$this->registerHook('rightColumn') OR !$this->registerHook('leftColumn'))
           return false;
       return true;
   }

   public function postProcess()
   {
       global $currentIndex;

       $errors = false;
       if (Tools::isSubmit('submitAdvConf'))
       {
           $file = false;
           if (isset($_FILES['adv_img']) AND isset($_FILES['adv_img']['tmp_name']) AND !empty($_FILES['adv_img']['tmp_name']))
           {
               if ($error = checkImage($_FILES['adv_img'], 4000000))
                   $errors .= $error;
               elseif (!move_uploaded_file($_FILES['adv_img']['tmp_name'], dirname(__FILE__).'/'.$this->adv_imgname))
                   $errors .= $this->l('Error move uploaded file');

               $this->adv_img = _MODULE_DIR_.$this->name.'/'.$this->adv_imgname;
           }
           if ($link = Tools::getValue('adv_link'))
           {
               Configuration::updateValue('BLOCKADVERT_LINK', $link);
               $this->adv_link = htmlentities($link, ENT_QUOTES, 'UTF-8');
           }
       }
       if ($errors)
           echo $this->displayError($errors);
   }

   public function getContent()
   {
       $this->postProcess();
       echo '
<form action="'.$_SERVER['REQUEST_URI'].'" method="post" enctype="multipart/form-data">
'.$this->l('Advertising block configuration').'
adv_link.'" target="_blank" title="'.$this->l('Advertising').'">';
       if ($this->adv_img)
           echo 'adv_img.'" alt="'.$this->l('Advertising image').'" style="margin-left: 100px;"/>';
       else
           echo $this->l('no image');
       echo '





'.$this->l('Change image').'  <input id="adv_img" type="file" name="adv_img" />




'.$this->l('Image link').'  <input id="adv_link" type="text" name="adv_link" value="'.$this->adv_link.'" />




<input class="button" type="submit" name="submitAdvConf" value="'.$this->l('validate').'" style="margin-left: 200px;"/>

</form>
';
   }
   /**
   * Returns module content
   *
   * @param array $params Parameters
   * @return string Content
   */
   function hookRightColumn($params)
   {
       global $smarty, $protocol_content, $server_host;

       $smarty->assign('image', $protocol_content.$server_host.$this->adv_img);
       $smarty->assign('adv_link', $this->adv_link);

       return $this->display(__FILE__, 'blockadvertising2.tpl');
   }
   function hookLeftColumn($params)
   {
       return $this->hookRightColumn($params);
   }
}
?>



Fichier blockadvertising2.tpl :

<!-- MODULE Block advertising2 -->



<!-- /MODULE Block advertising2 -->



J'ai l'impression que ça se joue au niveau du

'BLOCKADVERT_LINK',


mais je ne sais même pas où cela se "gère" ...

Merci de votre aide.

Link to comment
Share on other sites

Ok,
n'ayant pas de réponse et ne trouvant ps par moi-même, je me suis aventuré sur le forum anglophone ;-P
Et j'y ai trouvé mon bonheur :
http://www.prestashop.com/forums/viewthread/71031/configuring___using_prestashop/link_issue_when_having_4_block_advertising
Donc autant pour moi :red:
Ca m'a permis d'apprendre encore quelques petites choses sur le fonctionnement de PS.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...