Joomla.it Forum
Joomla! 3 => Joomla! 3 => : giopoi 21 Sep 2014, 20:21:44
-
nella documentazione (http://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page (http://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page)) ho letto che si possono aggiungere in <head> sia javascript che css questo è un esempio di quello che bisogna scrivere:
<?php
$document = JFactory::getDocument();
$document->addStyleSheet('sample.css');
?>
però non è scritto dove scriverlo. Qualcuno ha la risposta?
-
Lo dice, in <head>
-
Un file html è composta da 3 sezioni principali
<head>
<body>
<footer>
Le chiamate javascript le puoi mettere dov vuoi, in genere è preferibile metterle in head per una questione di organizzazione del codice, però quando fai uso massiccio di javascrip gli scrip li inserisci dentro il tag body
-
sì ma io voglio aggiungere un CSS o un javascript da un articolo o da un modulo html personalizzato non voglio mettere le mani nel template
-
cambia l'editor dell'articoli in codemirror e poi prima dell'inizio dell'articolo scrivi
<script text="javascript"...>
oppure nel caso del css puoi fare gli inection inline oppure
<link href="percorso_tuo_css/nome_tuo_css.css" rel="stylesheet">
-
cambia l'editor dell'articoli in codemirror e poi prima dell'inizio dell'articolo scrivi
<script text="javascript"...>
oppure nel caso del css puoi fare gli inection inline oppure
<link href="percorso_tuo_css/nome_tuo_css.css" rel="stylesheet">
Non è corretto caricare un file css nel body di una pagina, quindi lo sconsiglio.
nella documentazione (http://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page (http://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page)) ho letto che si possono aggiungere in <head> sia javascript che css questo è un esempio di quello che bisogna scrivere:
<?php
$document = JFactory::getDocument();
$document->addStyleSheet('sample.css');
?>
però non è scritto dove scriverlo. Qualcuno ha la risposta?
Sono api di Joomla puoi inserirle ovunque nel template, puoi metterle nel file index.php del template, puoi metterle nel override di un modulo, ovunque.
Non sei neanche obbligato a inserirle nell'head, io disolito carico subito a inizio file ancora prima del tag <html> tanto è il cms a posizionarlo nel punto corretto.
Molto probabilmente se apri il file index.php del tuo template troverai già questi parametri, quindi puoi analizare il template per capirne il funzionamento.
Quello che manca nell esempio è il percorso del file, perché scritto così ti carica un file "sample.css" caricato nella root principale del tuo sito.
Ad esempio nel template protostar usano
$doc = JFactory::getDocument();
$doc->addScript('templates/' . $this->template . '/js/template.js');
$doc->addStyleSheet('templates/' . $this->template . '/css/template.css');
Il percorso e dentro la cartella "template/(il nome del template caricato)/css/template.css".
AddScript per lo script javascript e addStyleSheet per il css.
-
chiarissimo grazie, quindi non posso evitare d mettere mano al template, ho capito bene? E non esiste nemmeno un'estensione che mi consenta di fare la stessa cosa senza modificare il template?
-
E non esiste nemmeno un'estensione che mi consenta di fare la stessa cosa senza modificare il template?
Esiste questo per esempio:
http://www.joomla.it/articoli-community-16-e-17-tab/5666-un-modulo-tuttofare-menu-dependent-item.html
;)
-
GRAZIE