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.
- Go to http://yoursite.com/admin/modules
- 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]