Jump to content

Insérer Du Javascript Dans Les Templates Prestashop


Recommended Posts

Bonjour,

 

Je suis graphiste intégrateur et débutante sur prestashop.

 

Je souhaite intégrer du contenu dynamique (avec pas mal de jquery sur plusieurs pages et pas seulement sur la home).

 

Pour avoir une idée, je souhaiterai que la page produit ressemble à cela :

http://tympanus.net/Tutorials/VerticalShowcaseSlider/

 

Or, j'ai essayer plusieurs solutions (mettre les liens vers les js dans le header, créer un fichier mon-javascript pour le javascript externe lié aux pages etc. etc..) et toujours pas de résultats..

 

Mon réel problème est de savoir où placer les liens et les fichiers js, qu'ils soient externes à la page ou internes (code au dessus de </body> par exemple).

 

Mercie d'avance pour l'aide que vous pourriez m'apporter sur ces points.

 

Amélie

 

PS: je vous mets la page html en pj ;)

index.html

Link to comment
Share on other sites

  • 4 months later...

Bonjour,

 

je cherche à afficher la valeur d'une variable javascript dans le tpl order-carrier.tpl mais rien ne s'affiche.

 

voici ou j'en suis et je suis bloqué:

 

<script type="text/javascript">
{literal}
function calendrier()
{
    var date = new Date();
 var heure = date.getHours();
    var jour = date.getDate();
    var moi = date.getMonth();
    var annee = date.getYear();


    if(annee<=200)
    {
		    annee += 1900;
    }
    mois = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
    jours_dans_moi = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if(annee%4 == 0 && annee!=1900)
    {
		    jours_dans_moi[1]=29;
    }
    total = jours_dans_moi[moi];
    var date_aujourdui = jour+' '+mois[moi]+' '+annee;

 var jour_sem = date.getDay();



 if(jour_sem == 0){
 var dayToAdd = 5;
 }
 if(jour_sem == 1){
 var dayToAdd = 4;
 }
 if(jour_sem == 2){
 var dayToAdd = 3;
 }
  if((jour_sem == 3)&&(heure < 12)){
 var dayToAdd = 2;
 }
  if((jour_sem == 3)&&(heure >= 12)){
 var dayToAdd = 9;
 }
 if(jour_sem == 4){
 var dayToAdd = 8;
 }
 if(jour_sem == 5){
 var dayToAdd = 7;
 }
 if(jour_sem == 6){
 var dayToAdd = 6;
 }


 var dayToSet = jour + dayToAdd;
 var add_month = 1;

 if (dayToSet > total){
  dayToSet = dayToSet - total;
  add_month = 2;
 }


 var deliveryDay = new Date ();
 deliveryDay.setDate (dayToSet);


 var deliD = deliveryDay.getDate();
 var deliM = deliveryDay.getMonth() + add_month;
 var deliY = annee;



 document.write('<div>Prochaine Livraison: '+deliD+'/'+deliM+'/'+deliY+'</div>');
}
{/literal}
</script>

Link to comment
Share on other sites

Bonjour,

Dans le cadre du développement d'un module, j'importe des fichiers javascript comme ceci:

 


class MonmodulePreparerModuleFrontController extends ModuleFrontController {

   public function initContent() {        
       parent :: initContent();

    //ça c'est pour les css
       $this->context->controller->addCSS(_MODULE_DIR_.'monmodule/css/monstyle.css','all'); 

    //et le javascript. lib, c'est moi qui ai choisi ce répertoire
       $this->context->controller->addJS(_MODULE_DIR_.'/monmodule/lib/monscript.js');

       $this->setTemplate('preparer.tpl');
   }

}

dans mon controleur preparer.php du module monmodule

 

Si tu ne passes pas par l'écriture d'un module, peut être peux tu overrider un controleur?

 

J'espère que ces pistes peuvent aider.

Link to comment
Share on other sites

Je dois t'avouer que je n'arrive pas a voir. Dans le fichier order-carrier.tpl il y a déjà quelques script javascript.

le problème et que quand je l'insère je dois oublier quelque chose car le documentwrite n’affiche rien.

 

Je suis presque sur que j'obtient mes 3 variables contenant les bons caractères mais je ne sais pas comment afficher leur contenu dans une div.

 

ps: j'ai testé en créant le module et en passant par le hook "beforecarrier" mais mon js ne s'affiche pas non plus "

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