Michele Mader on ottobre 8th, 2013 - Google

Se vi capita sviluppando un modulo di inserire delle istruzioni nell’hook_form_alter e non vedete i risultati sul sito.

Ad esempio, volete modificare il form di login, avendo installato anche il modulo Login Toboggan, può capitare che questo venga eseguito dopo il vostro modulo e di conseguenza lui sovrascrive le modifiche che impostate voi.

Drupal 7 gestisce l’ordine di caricamento dei moduli tramite la colonna weight nella tabella system. Il principio è  lo stesso con cui viene gestito il peso anche negli altri moduli di Drupal: prima vengono caricati i moduli con peso minore, cioé più “leggeri”, poi quelli con peso maggiore.

La maggior parte dei moduli viene installata con peso 0, pertanto se è necessario che il vostro modulo sia caricato dopo gli altri, basta dargli un peso maggiore, nella maggior parte dei casi è sufficiente dargli un peso 1.

Prendendo a prestito un pezzo di codice dal modulo pathauto, è sufficiente inserirlo nel file mymodule.install:

db_update(’system’)
->fields(array('weight' => 1))
->condition('type', 'module')
->condition('name', 'pathauto')
->execute();

Basta mettere al posto di “pathauto” il nome del proprio modulo.

Per il momento non ci sono post correlati.

Tags:

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>