Domanda

Sto scrivendo un file .info per un modulo, e voglio includere uno script che è stato installato in /sites/all/libraries:

Quindi ho incluso la riga qui sotto nel mio file .info:

scripts[] = /sites/all/libraries/zeroclipboard-2.2.0/dist/ZeroClipboard.js
.

Tuttavia, con o senza la barra principale su questo percorso, ottengo sempre lo stesso risultato: Drupal considera questo come relativo alla directory del modulo e tenta e non riesce a caricare

/sites/all/modules/custom/clipboard//sites/all/libraries/zeroclipboard-2.2.0/dist/ZeroClipboard.js?nsnrjh
.

Quindi forse ho risposto alla mia domanda, ma non riesco a trovare alcuna risposta definitiva a questo nei documenti drupali?

Grazie All,

MB

È stato utile?

Soluzione

_system_rebuild_module_data è responsabile perquella.C'è un'intera sezione nel codice solo per assicurarti:

// Prefix stylesheets and scripts with module path.
$path = dirname($module->uri);
if (isset($module->info ['stylesheets'])) {
  $module->info ['stylesheets'] = _system_info_add_path($module->info ['stylesheets'], $path);
}
if (isset($module->info ['scripts'])) {
  $module->info ['scripts'] = _system_info_add_path($module->info ['scripts'], $path);
}
.

My Guess Il modulo non dovrebbe mai presumere che qualcosa esista se il modulo stesso non lo installa.È un modo per introdurre errori.Inoltre, consentendo ai moduli di raggiungere al di fuori della directory potrebbe essere una violazione della sicurezza.

Se è necessario uno script non è possibile includere nel tuo modulo, utilizzare API librerie .Naturalmente ci sono altri modi, ma la maggior parte di loro è problematica e il fissaggio di tutti i problemi potrebbe praticamente il risultato di clonare questo modulo pronto comunque.

Altri suggerimenti

Se si sta creando modulo personalizzato, è possibile utilizzare questa funzione per aggiungere libreria o file JS da lirary.

$info = libraries_load('ui.tabs');
drupal_add_library('system', 'ui.tabs');
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top