Closed (fixed)
Project:
Zen
Version:
7.x-3.x-dev
Component:
PHP code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
18 Apr 2010 at 22:08 UTC
Updated:
5 May 2011 at 18:32 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
ceardach commentedYeah, I actually ended up adding my own build mode variable in my custom theme, too. +1 adding this to zen.
Comment #2
Anonymous (not verified) commentedThis is a good idea, but doesn't fix a small bug.
The problem with the 'switch' statement is that it uses loose comparison. I'm not going to start defining arbitrary integers for my build modes, so I'm going to use strings.
When build mode is a string,
$node->build_mode == NODE_BUILD_NORMAL. Constants are ideally compared with ===, but there's no way to get a switch statement to do this.This patch lets you keep the switch statement but it double checks that
$node->build_mode === NODE_BUILD_NORMAL.Comment #3
Anonymous (not verified) commentedThis patch fixes conflicts between Zen theme and potentially a handful of other modules that implement hook_content_build_modes that use strings as build mode identifiers.
See: http://drupalcontrib.org/api/search/6/_content_build_modes
Can we please please please commit this patch?
Comment #4
hefox commentedIf NODE_BUILD_NORMAL is put right above default:, and break moved into the if statement {}, it can fallback to default cause if not NODE_BUILD_NORMAL, which I believe is desirable, right?
Comment #5
mlncn commentedTested, approved, and in use on production. Please commit!
Comment #6
johnalbinI just committed http://drupalcode.org/project/zen.git/commit/d90f68f
But, looking at this again, doesn't the current code's
if ($vars['node']->build_mode === NODE_BUILD_NORMAL)mean that $vars['build_mode'] won't be set if the build mode loosely matches NODE_BUILD_NORMAL but doesn't exactly match NODE_BUILD_NORMAL?Don't we need this?
I committed the else clause as well. http://drupalcode.org/project/zen.git/commit/6a2a1ae
Please re-open if I'm off base.
Comment #7
hefox commentedYep, the else statement was needed. Thanks :)
Comment #9
johnalbinWe need a corresponding view mode class in D7 as well. Just added it. :-)
http://drupalcode.org/project/zen.git/commit/bfea55e