Issue status update for http://drupal.org/node/19590 Project: Drupal Version: cvs Component: theme system Category: feature requests Priority: normal Assigned to: moshe weitzman Reported by: moshe weitzman Updated by: chx Status: patch Several releases? hook_menu came to existence in 4.5, and we have 4.6 coming up. And no, it was not working, I think it was you who have fixed bootstrap sometime around 4.5.2... chx Previous comments: ------------------------------------------------------------------------ March 28, 2005 - 14:31 : moshe weitzman Attachment: http://drupal.org/files/issues/init_theme_lazy.patch (1.04 KB) Don't initialize the theme system during common.inc. Instead, wait for the first call to theme() and do it there. There are 2 big benefits: - sometimes you never call theme(), and thus don't ever need to include theme engine and template. thats a performance win. examples include RSS feeds, blogapi, distributed auth, ... - module developers are currently forced to use hook_init() to set a custom theme for a given page view. with this patch, they can wait and do this during hook_menu(). Without this delay, module developers are tempted, sometimes forced, to break the bootstrap and inadvertently load all the modules for every page view. I almost did this in Organic Groups module, where each group can shoose its own theme. You can break the bootstrap by doing something as simple as node_load(). This is a tiny patch, and merits consideration for 4.6, i think. ------------------------------------------------------------------------ March 28, 2005 - 14:48 : chx Very nice, very clever, very big plus one. BTW. What about including the "do not use hook_init instead hook_menu" in the "update your modules" section of handbook? ------------------------------------------------------------------------ March 28, 2005 - 15:21 : moshe weitzman that is already documented - http://drupaldocs.org/api/head/function/hook_init. it doesn't belong in the upgrading page it has worked this way for several rleases now.