Jump to content

Insertion d'un calendar dans le choix du moyen de transport


Recommended Posts

Bonjour à tous,

je développe sur prestashop 1.4 et j'aimerai insérer une ligne "Choisissez votre date de livraison" lors du choix du transporteur.

J'ai déjà une idée de comment réaliser ceci mais je bloque sur comment insérer du jquery dans un .tpl !

 

J'ai pris pour exemple le calendrier que l'on trouve dans le back office Administration->Stats, sauf que prestashop l'affiche en ajax je crois! :o

 

Si quelqu'un pourrait m'aider en me donnat quelques indices pour pouvoir continuer! ;)

 

Merci beaucoup! :)

Link to comment
Share on other sites

Bonjour à tous,

je développe sur prestashop 1.4 et j'aimerai insérer une ligne "Choisissez votre date de livraison" lors du choix du transporteur.

J'ai déjà une idée de comment réaliser ceci mais je bloque sur comment insérer du jquery dans un .tpl !

 

J'ai pris pour exemple le calendrier que l'on trouve dans le back office Administration->Stats, sauf que prestashop l'affiche en ajax je crois! :o

 

Si quelqu'un pourrait m'aider en me donnat quelques indices pour pouvoir continuer! ;)

 

Merci beaucoup! :)

 

Jquery dans un tpl = literal ...

Pour insérer du code js en toute sécurité , tu l'insères (bien sûr aussi entre entre des balises <script ... >) entre des balises {literal} et {/literal}, ce qui indique à smarty de ne pas parsé ce qui se trouve entre.

Ceci parce que tout code smarty est placé entre ces 'braces' soit { } , et que le code js utilise largement ces caractères .....

Link to comment
Share on other sites

Merci de votre réponse, mais comment vais-je pouvoir concrètement l'insérer dans le tpl, sachant qu'il appel une fonction qui n'existe pas dans l'OrderController.php

 

<div id="calendar">
  '.self::displayCalendarStatic(array(
   'Calendar' => $this->l('Calendar', 'AdminStatsTab'), 'Day' => $this->l('Day', 'AdminStatsTab'),
   'Month' => $this->l('Month', 'AdminStatsTab'), 'Year' => $this->l('Year', 'AdminStatsTab'),
   'From' => $this->l('From:', 'AdminStatsTab'), 'To' => $this->l('To:', 'AdminStatsTab'), 'Save' => $this->l('Save', 'AdminStatsTab')
  )).'
  <div class="clear space"> </div></div>';

 

Je ne peux pas afficher cela dans un tpl...

 

Auriez-vous une idée sur comment puis-je appeler un calendrier sur le textbox d'une date de livraison dans le fichier order-carrier.tpl ?

 

Merci du temps que vous m'accordez!

 

Cordialement.

Link to comment
Share on other sites

Merci de votre réponse, mais comment vais-je pouvoir concrètement l'insérer dans le tpl, sachant qu'il appel une fonction qui n'existe pas dans l'OrderController.php

 

<div id="calendar">
 '.self::displayCalendarStatic(array(
  'Calendar' => $this->l('Calendar', 'AdminStatsTab'), 'Day' => $this->l('Day', 'AdminStatsTab'),
  'Month' => $this->l('Month', 'AdminStatsTab'), 'Year' => $this->l('Year', 'AdminStatsTab'),
  'From' => $this->l('From:', 'AdminStatsTab'), 'To' => $this->l('To:', 'AdminStatsTab'), 'Save' => $this->l('Save', 'AdminStatsTab')
 )).'
 <div class="clear space"> </div></div>';

 

Je ne peux pas afficher cela dans un tpl...

 

Auriez-vous une idée sur comment puis-je appeler un calendrier sur le textbox d'une date de livraison dans le fichier order-carrier.tpl ?

 

Merci du temps que vous m'accordez!

 

Cordialement.

 

 

Ben la question de départ était je cite :

 

J'ai déjà une idée de comment réaliser ceci mais je bloque sur comment insérer du jquery dans un .tpl !

 

Donc j'ai répondu à cette question ... mais tu aurais du colle ton bout de code auparavant ;)

 

Par contre ce que tu fais ne marche pas en l'état... ça marche pas comme ça , car self fait référence à la classe dans laquelle tu te trouves au moment de l'appel .

 

Ce que tu peux faire rapidement , mais ce n'est pas propre du tout car pas conforme au model MVC :

 

{php}

echo AdminStatsTab::displayCalendarStatic(array(

'Calendar' => $this->l('Calendar', 'AdminStatsTab'), 'Day' => $this->l('Day', 'AdminStatsTab'), 
'Month' => $this->l('Month', 'AdminStatsTab'), 'Year' => $this->l('Year', 'AdminStatsTab'),
'From' => $this->l('From:', 'AdminStatsTab'), 'To' => $this->l('To:', 'AdminStatsTab'), 'Save' => $this->l('Save', 'AdminStatsTab')

));
{/php}

 

seulement le code que tu utilises n'est pas exactement fait pour etre utilisé tel quel en bo , là tu fais un simple copier/coller de l'appel à la méthode , tu indiques que les traductions des champs à utiliser sont celles du BO , d'AdminStatsTab précisément ...

Link to comment
Share on other sites

Voici l'erreur que cela m’envoie :

<<Fatal error: Class 'AdminStatsTab' not found in C:\xampplite\htdocs\Codep_EDM\tools\smarty\plugins\block.php.php(23) : eval()'d code on line 2 >>

 

Pourtant le fichier block.php.php ressemble à ça :

function smarty_block_php($params, $content, $template, &$repeat)
{
if (!$template->allow_php_tag) {
	throw new SmartyException("{php} is deprecated, set allow_php_tag = true to enable");
}
eval($content);
return '';
}

 

Par hasard, n'y aurait 'il pas une manière plus simple d'afficher un calendrier sur une textbox pour afficher une date ?

 

Cordialement.

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