Skip to content
Article

How to Get a List of your Drupal Modules

Has a client ever asked you “So what Drupal modules are we using?” With this step-by-step guide, you can now generate a list in a nice table of all of the Drupal modules a website is actively using. This jQuery snippet will help you to generate a table with links to the project page for each Drupal module.  Sign up here to receive more great tips delivered straight to your inbox, like this Drupal Module list generator.

  1. Go to http://yoursite.com/admin/modules
  2. Run the following javascript in your Console (Firebug, Developer Tools, etc – F12)

[js]
(function($, D, boxid){ /*–start–*/var $checkboxes = $(‘:checkbox’)
, $checked = $checkboxes.filter(‘:checked’)
, $dom_render_to_div = false
;
console.log($checked.length, ‘enabled modules’);

// clear old version
$(‘#’+boxid).remove();

var render = function(o, renderfn){
renderfn(o);
};
var render_to_console = function(o){
console.log(o.i, ‘Section:’ + o.s, ‘Module:’ + o.l, o.v);
};
var render_to_div = function(r){
if( false === $dom_render_to_div ){
var $container = $(‘<div id=”‘ + boxid + ‘” class=”debug”><h3>Active Modules</h3></div>’);
$container.append(‘<table></table>’).append(‘<div class=”clearfix”>Copy Above</div>’);
$container.css({
‘background-color’: ‘#FFFFFF’
, ‘left’: ‘20%’
, ‘padding’: ‘5%’
, ‘position’: ‘absolute’
, ‘top’: ‘20%’
});

$(‘body’).append($container);
$dom_render_to_div = $container.find(‘table’);
$dom_render_to_div.append(‘<tr><th>i</th><th>Section</th><th>Label</th><th>Version</th></tr>’);
}
$dom_render_to_div.append(‘<tr><td>’ + r.i + ‘</td><td>’ + r.s + ‘</td><td><a href=”https://drupal.org/project/’ + r.id + ‘”>’ + r.l + ‘</a></td><td>’ + r.v + ‘</td></tr>’);
};

$checked.each(function(i,o){
var $o = $(o);
var $row = $o.parents(‘tr’);
var section = $o.parents(‘fieldset’).find(‘legend’).text();
if( 7 == D ) section = section.replace(/Hide /i, ”);
var label = “” + $row.find(‘td:nth(1) label’).text();
var version = $row.find( 7 == D ?’td:nth(2)’ : ‘td.version’ ).text();
var iden = $row.find(‘:checkbox’).attr(‘name’).match(/][([^]]+)]/)[1];

var row = {“i”: i, “s”: section, “l”: label, “v”: version, “id”: iden};

render(row, render_to_div);
});
/*–end–*/ })(jQuery, 7, ‘module-list-debug’);
[/js]

The Atlantic BT Manifesto

The Ultimate Guide To Planning A Complex Web Project