Drupal 7 , come inserire codice javascript?

13 contenuti / 0 new
Ultimo contenuto
Drupal 7 , come inserire codice javascript?

Ciao a tutti,
Uso drupal 7
Sto provando a ricopiare la struttura di un sito preesistente su drupal 6 con varie pagine di enti.
Una di queste ha un piccolo paragrafo e dopo c'è un pezzo di codice javascript
di questo tipo:

<div id="info-ente"></div><script type="text/javascript">
  $(document).ready(function() {
    $("#info-ente").load("/includes/enti-cariche/?ente=associazione");
  });</script>

ho creato la classe info-ente ma la pagina in questione non viene caricata, chiaramente essendo su un sito esterno ho inserito l'url completo, ma non fnzionando ho provato anche con pagine interne insomma nulla.

Dalla console di chrome ho visto che vengono caricati tutta una serie di files con estensione .js quindi non riesco a capire cosa fare.

Ah ovviamente l'input filter è full html.

Qualcuno sa perchè non funziona?

niente ho provato ad inserire anche un alert ma non viene eseguito proprio....

<div id="info-ente"></div>
<script type="text/javascript">
  $(document).ready(function() {
("testalert")  
$("#info-ente").load("/includes/enti-cariche/?ente=associazione");
("testalert")  });</script>

parlo da solo ahah ma mi porto avanti nel caso qualcuno commentasse :)
ho provato così

jquery(document).ready(function() {
jquery("#info-ente").load("/includes/enti-cariche/?ente=associazione");
});

ma nulla....

no....posso chiederti come funziona?

È il "modo giusto" di inserire Javascript (e jQuery) in Drupal. Puoi usare la funzione in un modulo creato da te o in un template di un tema. Per l'uso, la pagina linkata sopra è molto esaustiva e copre tutti i casi.

Grazie Pinolo,
Ascolta non sono molto esperto, dovrei semplicemente far si che venga richiamata una pagina web esterna nel mio sito drupal, ciò che sapevo su jquery era che una volta caricate le librerie nel cms bastava inserire i tag script con il codice. Cosa cambia esattamente ora?

ho prvato qualche esempio di quelli elencati anche un semplice alert scrivendo in fullhtml
come:

drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');

ma mi viene semplicemente riportata la medesima scritta, nulla succede...

franco1979 wrote:
ho prvato qualche esempio di quelli elencati anche un semplice alert scrivendo in fullhtml
come:

drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');

ma mi viene semplicemente riportata la medesima scritta, nulla succede...


Se vuoi inserire la funziona nel corpo del nodo devi abilitare il filtro php, altrimenti Drupal non ti lascia eseguire codice php.
Sarebbe meglio, comunque, che agissi a livello del template piuttosto che del corpo del nodo... soprattutto perchè, se non erro, un drupal_add_js() a livello di corpo del nodo non dovrebbe portare a nulla in quanto la variabile $script dovrebbe essere gia stata eseguita e quindi il drupal_add_js() non avrebbe effetto (potrei anche sbagliarmi!).
;)

ma per inserire javascript perchè devo abilitare il php?

cmq ho provato , non funziona...
f

Non ho detto di mettere il comando nel corpo della pagina. Ho detto di inserirlo in un modulo o in un template. Perché farlo così? Perché così Drupal può gestire e ottimizzare il codice JS inserito.

Ciao a tutti,
Sto usando drupal 7 per migrare un sito costruito in precedenza su drupal 6.
Nel vecchio sito era presente del codice javascript che ora con la nuova versione non riesco a far funzionare.

Dopo essermi documentato ho capito che è bene salvare il codice javascript in un file a parte e richiamarlo tramite la funzione drupal_add_js().
Per esempio nel file budgeting.js che salvo nel percorso /etc/drupal7/all/scripts/ ho la seguente funzione che fa una semplice somma

<script type='text/javascript'>
function computeform() {
plupdb  = document.main.frequp.value +10;
document.main.result.value= plupdb ;
return;
}
</script>

mentre nel nodo di Drupal 7 ho il seguente codice per il quale inserito un valore, dopo aver premuto il pulsante dovrebbe visualizzare il risultato della somma

<?php
drupal_add_js
('all/scripts/budgeting.js');
echo
"
<form method="
post" name="main">
    <h1 style="
margin-left: 8px; margin-top: 3px; margin-bottom: 3px;">
         Equations</h1>
    <p>&nbsp;</p>
    <hr noshade="
noshade" size="3" />
        <table border="
1">
        <tbody>
            <tr>
                <td>
                    frequency [Ghz]</td>
                <td>
                    <input name="
frequp" size="10" type="text" /></td>
            </tr>
            <tr bgcolor="
#ffcc66">
               
<td>
                   
result [dB]</td>
                <
td>
                    <
input name="result" size="10" type="text" /></td>
            </
tr>
        </
tbody>
    </
table>
    <
p><input onclick="computeform()" type="button" value="Click to calculate results" /></p>
</
form>
  
";
?>
</p>

Non ottengo nè errori nè alcun risultato è come se mancasse qualche configurazione.
Qualcuno può aiutarmi?

se può essere utile, c'è una guida in italiano semplice, adatta agli utenti meno esperti, su come aggiungere del codice o dei file javascript al sito drupal: www.webtips.it/drupal-come-aggiungere-javascript