Come da topic, vorrei includere un file .js solo in un nodo specifico... ho trovato questo codice sul sito ufficiale
<?php
if ($_SERVER['REQUEST_URI'] == '/path/to/node') {
drupal_add_js('somefile.js');
}
?>
l'ho inserito nella pagina page.tpl.php del mio template ma non funziona... dove sbaglio?
l'hai inserito prima di
vero?
Controlla e prova a rimuovere il controllo dell'IF e vedi se in quel modo ti viene inserito sempre, poi eventualmente c'è da capire perché non effettua il controllo dell'URL...
Ciao
Marco
--
My blog
Working at @agavee
l'ho inserito dopo perchè ho altro javascript comune inserito a mano che funziona perfettamente... ho tolto l'IF dal codice e non funziona lo stesso...
l'ho inserito dopo.. ho altro javascript comune inserito a mano che funziona perfettamente... ho tolto l'IF dal codice e non funziona lo stesso...
se lo inserisci dopo non puoi pretendere che funzioni..i browser caricano in maniera sequenziale, come fa il browser a lanciare uno script che non ha ancora caricato??
[sempre se il problema era quello]
Più che il browser il problema sarebbe l'interprete PHP sul server..comunque il concetto è circa quello :D
Ciao
Marco
--
My blog
Working at @agavee
non ho molto capito cosa intendete...
se metto quel codice prima o dopo va a finire sempre dentro l'head della pagina e quindi è indifferente se prima o dopo... no?
Ho del codice javascript che ho inserito dopo
<?php
print $scripts;
?>
che funziona perfettamente su tutto il sito...
comunque ho provato ad inserirlo anche prima ma non ha funzionato... qualche suggerimento?
Non è uguale per il fatto che in questo modo tu dici di aggiungere all'elenco dei JS che dovrà inserire nella pagina quello indicato dal percorso, se però lo inserisci DOPO che gli header della pagina siano già stati stampati non viene inserito e quindi lo carica :D
Prova a usare il codice della funzione completo, ovvero:
Ovviamente mettendo il path al file JS corretto.
Ciao
Marco
--
My blog
Working at @agavee
Per curiosità, hai messo al posto di path/to/node il nodo specifico dove includere il file di javascript?
certo... :-D
tu hai provato... e ti funziona?
Il problema potrebbe essere dovuto a qualche slash in più o in meno, fai una cosa:
Crea un blocco e scrivici dentro queste righe:
Salvalo come contenuto PHP e abilitalo, dopodichè raggiungi la pagina cui vorresti aggiungere il file .js e assicurati che le stringhe corrispondano.
Inoltre ricordati di mettere il path relativo rispetto alla directory radice (dove hai il file index.php) del file .js dentro la funzione drupal_add_js().
Più di così non saprei proprio dove sbagli.
non penso sia necessario.. ho messo il file javascript nella directory radice del sito e anche nella directory del tema per cui...
Tu hai provato il codice che ho messo nel primo topic? Ti funziona?
Mavimo ho provato anche quel codice ma niente...
Probabilmente dimostrerò ancora una volta la mia ignoranza:-D ma..... il mio file pag.tpl.php si presenta così:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">
<head>
<title><?php print $head_title ?></title>
<?php print $head ?>
<?php print $styles ?>
<?php print $scripts ?>
<script type="text/javascript"><?php /* Needed to avoid Flash of Unstyle Content in IE */ ?> </script>
</head>
etc...
Il codice non va a finire prima del tag
</head>
in ogni caso?Andiamo un passo alla volta. Vai in http://nomesito/?q=admin/build/block e crea un nuovo blocco di codice tipo PHP e copiaci il testo che riporto di seguito, ovviamente modifica il path del tuo script e ilpath della pagina che deve contenere lo script (se usi il modulo path allora ovviamente non dovrai mettere /?q=admin/build/block ma /admin/build/block)
Abilita il modulo e posizionalo da qualche parte in modo che si possa vedere se è stato aggiunto o meno. A quel punto se tutto funzioan come vuoi passaimo a passarlo nel tema, altrimenti vediamo cosa non va :D
Ciao
Marco
--
My blog
Working at @agavee
Se creo il blocco con quel codice funziona!!!... mentre se lo metto nel pag.tpl.php no....
Incolla lo script nel file node.tpl.php invece di page.tpl.php, facendo così dovrebbe funzionare, in realtà funziona anche se lo scrivi direttamente nel nodo... senza la struttura if