Jump to content

[RESOLU]Bloc various links dans le header, probleme de traduction des lien CMS


Recommended Posts

Bonjour, je voudrais ajouter des liens du module various links dans le header et dans le footer mais stylés différemment. Ils apparaissent en liste dans le footer et comme un menu horizontal dans le header.

Donc j'ai commencé par installer le bloc various links dans le footer, jusque là aucun problèmes, il se traduit et s'affiche correctement.

Après j'ai dupliqué le module various links, je l'ai renommé en various links 2 que j'ai modifié pour qu'il se greffe dans le header. J'ai fais la traduction de ce dernier mais dans le header les liens cms restent en anglais.

J'aurais voulu savoir pourquoi. Si quelqu'un peut me venir en aide, je sèche complètement.
Est ce que peut être cela viendrai du fichier php du module? Il faut peut être l'installé sous un nom diffèrent dans la base de données que le module various links.

Merci d'avance!

LE TPL

<!-- MODULE Block various links2 -->


{l s='Specials' mod='blockvariouslinks'}
{l s='New products' mod='blockvariouslinks'}
{l s='Top sellers' mod='blockvariouslinks'}
{l s='Contact us' mod='blockvariouslinks'}
   {foreach from=$cmslinks item=cmslink}
{$cmslink.meta_title|escape:'htmlall':'UTF-8'}
   {/foreach}

<!--    {l s='Powered by' mod='blockvariouslinks'} PrestaShop™-->



<!-- /MODULE Block various links2 -->

Link to comment
Share on other sites

Le Php

><?php

if (!defined('_CAN_LOAD_FILES_'))
   exit;

class BlockVariousLinks2 extends Module
{
   private $_html;
   function __construct()
   {
       $this->name = 'blockvariouslinks2';
       $this->tab = 'Blocks';
       $this->version = 0.1;

       parent::__construct();

       $this->displayName = $this->l('Header links block');
       $this->description = $this->l('Displays miscellaneous links (in top)');
   }

   function install()
   {
       if (!parent::install())
           return false;
       if (!$this->registerHook('top'))
           return false;
       Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'block_cms`(`id_block`, `id_cms`) VALUES
                                                                ('.intval($this->id).', 3),
                                                                ('.intval($this->id).', 4)');
       return true;
   }
   public function uninstall()
   {
        Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` = '.intval($this->id));
       return parent::uninstall();
 }

  public function getContent()
  {
       if (isset($_POST['btnSubmit']))
           $this->_postProcess();
   $this-> _displayForm();
   return $this->_html;
  }

   private function _displayForm()
   {
       global $cookie;

       $this->_html .=
       '<form action="'.$_SERVER['REQUEST_URI'].'" method="post">

'.$this->l('Selected files displayed').'
'.$this->l('Please check files that will be displayed in this module').'.


</pre>
<table cellspacing="0" cellpadding="0" style="width:29.5em;"><input type="checkbox" name="checkme" class="noborder"></th>
'.$this->l('ID').''.$this->l('Name').'<input type="checkbox" class="noborder" value="'.intval($row['id_cms']).'" name="categoryBox[]" '.((CMS::isInBlock(intval($row['id_cms']), intval($this->id))) ? 'checked="checked"' : '').'>'.intval($row['id_cms']).''.$row['meta_title'].'</table>
<br><br><br>                                   <input type="submit" name="btnSubmit" class="button" value="'.$this->l('Update').'"><br><br>                   </form>';<br>   }<br><br>   private function _postProcess()<br>   {<br>       if (isset($_POST['categoryBox']) AND is_array($_POST['categoryBox']) AND count($_POST['categoryBox'] >= 1))<br>       {<br>           foreach ($_POST['categoryBox'] AS $row)<br>               $cms[] = intval($row);<br>           if (CMS::updateCmsToBlock($cms, intval($this->id)))<br>                $this->_html .= '<div>'.$this->l('Cms Updated').'</div>';<br>        }<br>       else<br>            CMS::updateCmsToBlock(array(), intval($this->id));<br>   }<br><br>   /**<br>   * Returns module content<br>   *<br>   * @param array $params Parameters<br>   * @return string Content<br>   */<br>   function hookTop($params)<br>   {<br>       global $smarty, $cookie;<br>       $cms = CMS::listCms($cookie->id_lang, $this->id);<br>       $id_cms = array();<br>       foreach($cms AS $row)<br>           $id_cms[] = intval($row['id_cms']);<br>       $smarty->assign('cmslinks', $id_cms ? CMS::getLinks($cookie->id_lang, $id_cms) : array());<br>       return $this->display(__FILE__, 'blockvariouslinks2.tpl');<br>   }<br><br>}<br><br

Link to comment
Share on other sites

J'ai trouvé la solution, désolé je me suis embrouillé tout seul, en fait les liens CMS étaient bien traduit c'étaient les autres qui ne l'étaient pas.

Il suffisait de mettre à jour le paramètre Mod de la fonction L avec le nouveau nom du module.

Merci.

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...