Project: Drupal Version: cvs Component: theme system Category: feature requests Priority: normal Assigned to: Bèr Kessels Reported by: Bèr Kessels Updated by: Bèr Kessels Status: patch Attachment: http://drupal.org/files/issues/theme_box_0.patch (1.22 KB) This one has all parameters required. Bèr Kessels Previous comments: ------------------------------------------------------------------------ January 8, 2005 - 22:37 : Bèr Kessels Attachment: http://drupal.org/files/issues/theme_box.patch (1.24 KB) This patch changes the theme_box function. Currently we lak the ability to style blocks different, since we cannot add classes or IDS. I fixed the theme_box to follow the system we use for sideblocks. The id and classes should be provided by arguments. I have only one problem: backwards compatibility. To output valid XHTML all calls of this function must add a unique ID, I documented how this must be done, thats not the problem. The problem, is that we do not do this atm. So untill all calls are fixed, I do: and not which would be correct, since only the later will force developers to use and ID, resulting in always validating XHMTML. I will try to generate a grep list with places where theme box is called and where it should be fixed. Bèr ------------------------------------------------------------------------ January 8, 2005 - 23:25 : tangent XHTML does not require a div to have an ID attribute. Why would an ID be required in this case? ------------------------------------------------------------------------ January 8, 2005 - 23:40 : Bèr Kessels XHTML does not require a div to have an ID attribute. Why would an ID be required in this case? Because i do not wat to add an if($id) { } or even an $id ? 'id= etc. That would be loads of ifs that are not needed: its much better to enforce everyone to add an ID. Also, if we make ids optional, a lot of lazy developers will not add it, resulting in a lot of brokenish themes. I perfer to have always an ID, and put tit in the coding guidelines, then to have only sometimes an id. And the last reason is, that with the current useability discussions going on, there are people starting to look at javascripts in their themes. We should be ahead of that, and simply give all elements an ID. So that themers can add their javascript to do fancy stuff to parts of the pages. (like hide and show them using cards and or accordeons) ------------------------------------------------------------------------ January 8, 2005 - 23:46 : tangent I see where you're going but I don't think that we should necessarily require *all* blocks to have an id. If a module developer doesn't want his block to have an id and prefers to have a set of blocks with the same or different classes I see nothing wrong with that. Requiring an ID seems a bit heavy handed. This is really another issue but how will user definable modules be handled? I assume the module would just use an incremented ID? ------------------------------------------------------------------------ January 9, 2005 - 02:10 : chrisada if we make ids optional, a lot of lazy developers will not add it As one who theme Drupal quite a lot, I am absolutely with Bèr on this point. The deveoper might not need the id to be there, but there will be peoples who want them. Right now there is just too many things in Drupal that is impossible to style due to lack of CSS id. (classes we have plenty) ------------------------------------------------------------------------ January 12, 2005 - 15:01 : Bèr Kessels I cannot see the issues with "requiring" an ID. Really: is that so hard to do? A module might have one, or two, sometimes three blocks. Why cant you add two letters to your code for a unique ID? Its all about consistency. I already know a huge lot of places in the code where the *block theme function iteself* should have been used, but is not. This is annoying, not for developers, they don't care. But for both users, who see inconsistent interfaces, and for themers who go like: Hey: I am sure I had all titles of all pages set to bleu, why is that one red? --aah. f*c, its an h3 that is not in a block, grrr. Same will go for blocks ids. I do not know why, but the general html-code and interfaces of contributions are plain bad, in drupal. Core is nice, but a lot of contributions are hacks-upon-hacks, to keep up with the changing drupal-core versions. We should enforce developers to at least keep consistancy. -- View: http://drupal.org/node/15332 Edit: http://drupal.org/project/comments/add/15332