On Tue, 5 May 2009 11:41:47 -0500 Jeff Eaton <[email protected]> wrote:
> On May 5, 2009, at 11:19 AM, Ivan Sergio Borgonovo wrote: > > > So there is no way to edit in a structured way head. > In Drupal 7, I'd really love to see the globally alterable $page > array become a place where this stuff lives. hook_page_alter > already exists... I was giving a look to the current status of D7 and trying to understand how to put stuff in the $page. I like the $page approach too compared to the drupal_add_* since $page doesn`t look as a global (am I right?) There are really few places that use _page_alter that could be a guide to understand how $page look like. book_page_alter (no use) block_page_alter Furthermore I think that just finding a place in $page is solving half the problem. I can`t think of any way a _page_alter could get the content of a *part* of a page and modify it that could be general enough to provide some standard method to help modifying it. I`m just guessing since it seems to appear that a $page is mainly constituted by regions and blocks but then everything become arbitrary html. But head has a more regular content with some rules that makes some modifications meaningless and somehow can contain much less variety. Maybe a set of helpers that will make it easy to access/modify a $page['head'] and every module that need to modify head could do so in hook_alter_page? Having a structured head implies having a renderer/theme function (am I right?) This should support everything that already ends up in head... namely LINK [1] and META Is there anything else that could end up in head? I didn`t see anything else at w3c. META http://www.w3.org/TR/REC-html40/struct/global.html#h-7.4.4 LINK http://www.w3.org/TR/html401/struct/links.html Maybe we could have a structured $page['head'][..] + an unstructured $page['head']['markup'] There is also this "orphan": meta_generator_header that could be treated more uniformly thanks for any input BTW I`ve noticed that head is filled several times (?) by: system_preprocess_page emplate_preprocess_book_export_html template_preprocess_maintenance_page and template_preprocess_page is it correct? [1] is it ok to use drupal_add_html_head in openid_test_html_openid1 openid_test_html_openid2 openid_test_yadis_http_equiv in spite of drupal_add_link ? -- Ivan Sergio Borgonovo http://www.webthatworks.it
