Elenco di tutti i moduli attivi utilizzati in un sito


21

Esiste un modo per avere un elenco di tutti i moduli (attivi) usati su un sito?

Sto documentando un sito e vorrei elencare tutti i moduli attivi, so di poterli prendere da, admin/modulesma ci deve essere un altro modo.

Risposte:


33

È possibile utilizzare il drush pm-list --type=Module --status=enabledcomando per ottenere un elenco di tutti i moduli installati.

Se si desidera escludere i moduli principali, utilizzare drush pm-list --type=Module --no-core --status=enabled


Come menzionato in un post correlato, puoi elencarli tutti per un ambiente multi-sito con @sites facendo drush @sites pml --no-core --type=module --status="enabled" -ye filtrando su say some_module usando grep `| grep some_module`
MediaVince l'

21

Le due opzioni che utilizzo sono Drush e uno script personalizzato.

Per Drush, puoi usare drush pm-list:

$ drush help pm-list
Show a list of available extensions (modules and themes).

Options:
 --type                                    Filter by extension type. Choices:
                                           module, theme.
 --status                                  Filter by extension status. Choices:
                                           enabled, disable and/or 'not
                                           installed'. You can use multiple
                                           comma separated values. (i.e.
                                           --status="disabled,not installed").
 --package                                 Filter by project packages. You can
                                           use multiple comma separated values.
                                           (i.e. --package="Core -
                                           required,Other").
 --core                                    Filter out extensions that are not
                                           in drupal core.
 --no-core                                 Filter out extensions that are
                                           provided by drupal core.
 --pipe                                    Returns a space delimited list of
                                           the names of the resulting
                                           extensions.


Aliases: pml

Ho anche scritto questo script per Drupal 6. Devi modificare il bootstrap per Drupal 7 e potresti anche voler modificare il controllo del percorso. L'ho inserito in un file chiamato modules.php nel mio DOCROOT e ho aggiunto una restrizione d'accesso per impedirgli di essere richiamato dalla natura.

<?php
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
header('Content-Type: text/plain');

$files = drupal_system_listing('/\.module$/', 'modules', 'name', 0);

system_get_files_database($files, 'module');

ksort($files);

$core_installed = array();
$core_enabled = array();
$core_disabled = array();

$contrib_installed = array();
$contrib_enabled = array();
$contrib_disabled = array();

foreach ($files as $info) {
  $filename = $info->filename;
  $name = $info->name;
  $status = $info->status;

  $contrib = strpos($filename, "sites/all/modules/") === 0;

  if ($contrib) {
    $contrib_installed[] = $name;
    if ($status) $contrib_enabled[] = $name;
    else $contrib_disabled[] = $name;
  } else {
    $core_installed[] = $name;
    if ($status) $core_enabled[] = $name;
    else $core_disabled[] = $name;
  }
}

print "Installed Core Modules: " . join(", ", $core_installed) . "\n\n";
print "Enabled Core Modules: " . join(", ", $core_enabled) . "\n\n";
print "Disabled Core Modules: " . join(", ", $core_disabled) . "\n\n";

print "Installed Contrib Modules: " . join(", ", $contrib_installed) . "\n\n";
print "Enabled Contrib Modules: " . join(", ", $contrib_enabled) . "\n\n";
print "Disabled Contrib Modules: " . join(", ", $contrib_disabled) . "\n\n";

Questo script può essere chiamato con drush usando: drush scr modules.php


7

Il modulo Enabled Modules (enabled_modules) fornisce elenchi di tutti i moduli abilitati su un sito Web.

O,

È possibile utilizzare questa funzione API module_list per ottenere tutti i moduli abilitati.


4

Sì, controlla il modulo Modulo filtro : è un eccellente aiuto dell'amministratore che semplifica la gestione dei moduli.

La pagina dell'elenco dei moduli può diventare piuttosto grande quando si ha a che fare con un sito abbastanza grande o anche solo un sito di sviluppo pensato per testare moduli nuovi e vari considerati. Ciò che questo modulo mira a realizzare è la capacità di trovare rapidamente il modulo che stai cercando senza dover fare affidamento sulla funzione di ricerca del browser che più volte ti mostra il nome del modulo nelle sezioni 'Richiesto da' o 'Dipende da' di i vari moduli o anche qualche altra posizione sulla pagina come una voce di menu.

Quando le schede sono abilitate tramite la pagina delle impostazioni del Filtro modulo, viene implementato un nuovo tema di layout del modulo. Questo layout di scheda fornisce una scheda per ciascun pacchetto e una scheda che mostrerà ogni modulo in ordine alfabetico. Il campo di testo del filtro è disponibile su ogni scheda ma al momento non supporta il completamento automatico.


2

Drush make ha una capacità di generazione di makefile primitiva. Per usarlo, basta cambiare la directory nell'installazione di Drupal da cui si desidera generare il file ed eseguire il comando seguente:

drush generate-makefile /path/to/make-file.make

Ottieni make-file.make con un elenco di moduli. Quindi è possibile caricare questi moduli in altri progetti. Leggi http://www.drush.org/en/master/make/#usage


2

Se non si dispone dell'accesso alla riga di comando per eseguire drush, è possibile che si stia cercando qualcosa che è possibile fare dall'interfaccia utente Web. La migliore soluzione che ho trovato è stata la navigazione nella pagina Moduli e quindi l'esecuzione di questo comando nella console:

jQuery('table.sticky-enabled input[checked=checked]')
  .closest('tr')
  .find('td label strong')
  .each(function() {
    console.log(jQuery(this).text());
})

Questo stamperà tutti i moduli abilitati nella console, dove puoi copiarli incollandoli dove vuoi.


2

Il modo più semplice che ho trovato è una query di database che potresti inserire in un modulo personalizzato o in uno script Drush per emetterlo nel formato che desideri.

$enabled_modules = db_query("SELECT name FROM {system} WHERE type = 'module' AND status = 1"); print implode("\n", $enabled_modules);


2

Installa e abilita il modulo Forena (informativa che sono un co-manutentore). Gli utenti con ruolo di "amministratore" saranno quindi in grado di accedere al rapporto (campione) consegnato in reports/drupaladmin.enabled_contributionscui si trova l'elenco che fornisce questa domanda.

Ecco come appare la specifica ( .FRXfile, un documento XHTML) per creare il rapporto:

<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY nbsp "&#160;">
]>
<html xmlns:frx="urn:FrxReports">
<head>
<title>Enabled Modules and Themes</title>
<frx:category>Drupal Administration</frx:category>
<frx:options hidden="0" />
<frx:parameters>
</frx:parameters>
<frx:docgen>
</frx:docgen>

</head>
<body>
  <div frx:block="drupal/enabled_modules" id="forena-1">
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>owner</th>
          <th>weight</th>
        </tr>
      </thead>
      <tbody>
        <tr frx:foreach="*" id="forena-2">
          <td>{name}</td>
          <td>{owner}</td>
          <td>{weight}</td>
        </tr>
      </tbody>
    </table>
  </div>
</body>
</html>

Ed ecco come appare il blocco dati (istruzione SQL) indicato nel report:

--ACCESS=access administration pages
SELECT name, owner, weight FROM {system}
WHERE status=1 AND 'module'=type
ORDER BY name

Questo è davvero "tutto".

PS: sentiti libero di ottimizzare (adattare) il .FRXfile e / o il blocco dati per adattarlo alle tue esigenze.


AND 'module'=type?! Dovrebbe essereAND type = 'module'
ajmedway,

@ajmedway probabilmente hai ragione, perché non "suggerire una modifica"? Sarei felice di approvarlo ...
Pierre.Vriens,

Non è un grosso problema, suppongo, la clausola funziona. Non è convenzionale avere il nome della colonna sul lato destro dell'espressione con il valore a sinistra.
Ajmedway

0

Per quelli senza drush: vai alla pagina dei moduli, con il filtro del modulo abilitato (non assolutamente necessario, ma buono per la formattazione).

Quindi mostra la pagina di origine, copia i moduli html all'interno di "<" tabella> "in" <"/ tabella>. Incolla in gedit, avvolgici un po 'di html (html, body) e avrai una pagina html, inclusa l'indicazione di moduli inutilizzati / disabilitati (che mostra la casella di controllo deselezionata) che possono essere importanti durante la ricostruzione di un sito (nella misura in cui i moduli disabilitati potrebbero essere necessari o possono essere installati -> disinstallati per motivi di pulizia del database)


0

Il modulo Schema è un'opzione mentre Views può fare anche il trucco, anche se senza il modulo aggiuntivo Views System, che ho trovato buggy, non ottieni i numeri di versione.


L'OP necessita dell'elenco dei moduli abilitati, non della versione dello schema.
kiamlaluno
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.