Come far leggere un .js nel core

6 contenuti / 0 new
Ultimo contenuto
Come far leggere un .js nel core

Ciao a tutti,
ho inserito nella pagina del tema una riga di codice del tipo:

<script src="<?php print base_path() . $directory; ?>/jquery.ui.draggable.js" type="text/javascript"></script>

questo per utilizzare delle funzionalità di un alert draggabile. Ora penso che se cambio il tema dovrò ripetere sempre l'aggiunta di questo codice nella pagina facendo doppio lavoro.

Sapreste dirmi dove aggiungere e far leggere un file .js nel core come ad esempio quelli della cartella /misc ?

O lo aggiungi nel .info del tuo tema (che comunque andrai a vedere prima di cambiarlo)
o crei un modulo che aggiunga semplicemente il javascript: http://drupal.org/node/304255 in questo caso puoi anche creare un'interfaccia di admin per scegliere i nodi in cui mostrarlo e fare un controllo prima di fare la funzione.

Ciao ealmuno, ti ripeto se lo carico dal tema, ogni volta che faccio un aggiornamento/cambio di tema devo riscrivere il codice. Non va bene soltanto per me ma nemmeno a chi dò un eventuale sito così personalizzato.

drupal_add_js è una funzione che conosco ma il modulo in cui carico il .js non deve essere disattivabile altrimenti tutte le alert chiamate in altri moduli non funzionano più.

Prova a pensare al file autocomplete.js (caricato in misc/form.inc) oppure misc/textarea.js che permettono funzionalità ovunque.

Allora puoi solo fare una modifica al core che è peggio di queste soluzioni, lo devi inserire o in un modo o nell'altro alla fine se disattivano il modulo e vedono che non va più niente una domand se la faranno, inoltre puoi mettere un bel leggimi che spiega questo particolare, se poi non lo leggono o fanno le cose male te ne lavi le mani, il tuo lo hai fatto.

Diciamo che la soluzione potrebbe essere questa:

<?php
function system_init() {
 
//codice nativo......
 
drupal_add_js(drupal_get_path('module', 'system') .'/jquery.alerts.js');
}
?>

In fondo il modulo system viene sempre letto e non è possibile disattivarlo!
Waw

MAI MAI MAI MAI MAI MAI MAI MAI MAI MAI modificare il core... giusto per essere chiari.

I file da te citati (ahah.js & c) non vengono caricati sempre ma solo su richiesta della funzione che si occupa della gestione AJAX del sito. La tua esigenza si risolve andando a creare un modulo normalissimo e poi EVENTUALMENTE inibendo la disattivazione del modulo da interfaccia, anche se IMHO chi ha accesso alla pagina dei moduli, se vuole toglierlo, in ogni caso trova il modo, quindi tantovale spiegare che cosa fa nella description e se lo disattiva lo fa coscentemente.

Ciao
Marco
--
My blog
Working at @agavee