[drupal-devel] [bug] Preview themed as a node list (no way to detect preview)
Issue status update for http://drupal.org/node/18792 Project: Drupal Version: cvs Component: node.module Category: bug reports Priority: normal Assigned to: Anonymous Reported by: elonen Updated by: Geary Status: patch Yes, the more generic $context[] sounds like a winner. My patch is more along the lines of "what is the smallest change to the existing code" rather than "what is the best design". The reason is that I was really looking for something to use right away on my site running 4.5.2, and I didn't want to break anything in the process. :-) After getting it working on 4.5.2, then I thought of submitting it for 4.6. But... See Chris and Steven's comments here: http://drupal.org/node/18845 Geary Previous comments: ------------------------------------------------------------------------ March 12, 2005 - 11:21 : elonen Function theme('node', $node, $teaser, $page) can't detect a preview and therefore often renders it incorrectly. The problem is that !$page is usually interpreted as "the node is part of a listing" in the themes and therefore the previewed page may look, depending on the theme, very different on the actual page. Perhaps theme() should get somewhat more detailed context info than just $page? ------------------------------------------------------------------------ March 13, 2005 - 09:02 : Geary Attachment: http://drupal.org/files/issues/node.module_5.patch (384 bytes) Here is a patch to node.module that adds a $node->preview flag which themes can use to display previews appropriately. This seems like the simplest possible core change to support styled previews. For more information, screen shots, and a working demo using an updated FriendsLight theme, see: http://mg.to/2005/03/13/drupal-preview-confusion and http://drupal.mg.to/2005/03/13/friendslight-theme-with-styled-preview I am submitting a similar patch to comment.module. ------------------------------------------------------------------------ March 13, 2005 - 09:03 : Geary Attachment: http://drupal.org/files/issues/comment.module_5.patch (290 bytes) Here is a patch to comment.module that adds a $comment->preview flag which themes can use to display previews appropriately. This seems like the simplest possible core change to support styled previews. For more information, screen shots, and a working demo using an updated FriendsLight theme, see: http://mg.to/2005/03/13/drupal-preview-confusion and http://drupal.mg.to/2005/03/13/friendslight-theme-with-styled-preview I am submitting a similar patch to node.module. ------------------------------------------------------------------------ March 13, 2005 - 09:07 : Geary Oops, one of my patches above says "4.5.2". Both of these patches are actually against the CVS code. Sorry about the mixup. (Other than line numbers, the same patch works for 4.5.2 or CVS.) ------------------------------------------------------------------------ March 13, 2005 - 09:16 : Geary It seems that when I enter a title in one of these comments, it changes the title on the main entry I'm replying to. Since my previous comment left a title that made no sense out of context, I'm adding this comment in the hope of changing the main title so it makes sense again. Sorry about that. ------------------------------------------------------------------------ March 13, 2005 - 15:31 : moshe weitzman seems like we'd want a similar flag for a node preview. yours is a comment preview. would be a nice enhancement to this patch. ------------------------------------------------------------------------ March 13, 2005 - 17:34 : Geary Hi Moshe, Yes, I did both the node and comment. Just got a little mixed up about how to post the patches. They should both be in this thread, or the 4.5.2 versions are on the page I linked to above. ------------------------------------------------------------------------ March 15, 2005 - 10:25 : elonen Hmm.. How about changing the $page boolean to a more generic $context[] instead of adding a new flag? It'd be nice if the themes could also explicitly detect, for example, taxonomy node listing context or a node embedding context. Individual modules could then decide if they wanted to expose themselves to the themes or not and could even do... <?php $context['foo_module'] = 1 + @$context['foo_module']; $foo = theme('node', $node, $teaser, $context); ?> ...if they wanted to let the themes detect multiple nested calls.
participants (1)
-
Geary