Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu]Modules - Feuille de style -JS
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: ?
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

Je voulais savoir ou placer mes fichiers javascript et css lorsqu'on créé un module.

Dans le dossier modules-->monmodule ? Comment les appeler.

J'ai essayé :

{$tab_headers}

{* ONGLET FORMULAIRE *}

{$start_form_tab}
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/Aristo/Aristo.css" type="text/css" media="screen" />
<script type="text/javascript" charset="utf-8" src="scripts/jquery-1.8.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="scripts/jquery-ui-1.10.2.custom.min.js"></script>
<script type="text/javascript" charset="utf-8" src="scripts/main.js"></script>

ça ne fonctionne pas.

Merci
Répondre
#2

Il n'y a pas de façon imposée, moi je fonctionne ainsi : dans ton php :

Code :
$smarty->assign("module_path", $this->GetName());

dans le gabarit de ton module :
Code :
href="{root_url}/modules/{$module_path}/chemin/vers/ton/fichier.extension"

C'est propre, lisible, indépendant du nom de ton module et surtout ça fonctionne Smile
Répondre
#3

Je ne comprend pas très bien votre démarche.

En faite je veux créer un style de l'interface dans le BO et non dans FO.

J'ai un fichier action.defaultadmin.php qui va créer la structure de mon module(onglets) et templates/admin_panel.tpl ou va se trouver le html de formulaire.
Mon but est d'associer une feuille de style et du js pour le html qui se trouve dans templates/admin_panel.tpl.

Merci
Répondre
#4

haa désolé j'avais mal compris ta demande.

Alors là il faut passer par la fonction GetHeaderHTML()

Code :
function GetHeaderHTML() {
    $smarty = cmsms()->GetSmarty();
    $config = cmsms()->GetConfig();
    
    $smarty->assign("img_error",$config["root_url"].'/modules/'.$this->getName().'/img/block.png');
    $smarty->assign("root_url",$config['root_url']);
    $smarty->assign("id",$this->id);
    
    $ret = $this->ProcessTemplate('admin_css.tpl');
    
    return $ret;
  }

quand le code à injecter est massif je l'externalise dans un template, et je le "process" à la volée, c'est propre, c'est en cache et ça évite d'avoir de l'HTML dans mon code php Smile

admin_css.tpl contient dans mon cas :


Code :
{literal}
<style type="text/css">
...
</style>{/literal}
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)