This comes up on views that use the default style plugin, but also if Semantic Views is in use: this is because we have this chain of method inheritance:
class views_object {
function options() { }
}
class views_plugin extends views_object { }
class views_plugin_style extends views_plugin { }
class views_plugin_style_default extends views_plugin_style {
function options(&$options) {
parent::options($options);
}
}
// And then in Semantic Views:
class semanticviews_plugin_style_default extends views_plugin_style {
function options(&$options) {
parent::options($options);
}
}
We can't really fault Semantic Views for copying the signature of its immediate parent class, so I think the correct fix is to bring views_object::options() in line. (Though Semantic Views could do to just drop a method that merely calls its parent... ;)
views_object is the base class for all handlers and plugins, but in the Views codebase the options() method is only present in the hierarchy of display plugins I've given above, so there's no other subclasses that override it with the base class's signature.
Comments
Comment#1
joachim CreditAttribution: joachim commentedHere's a patch.
Comment#2
joachim CreditAttribution: joachim commentedThis is covered by the patch at #893128: Fix E_STRICT notices - method declaration compatibility with init(), pre_render(), _validate() and _submit() with PHP 5.4.x.
Comment#7
SeanA CreditAttribution: SeanA commentedComment#8
Holoduke CreditAttribution: Holoduke commentedPerhaps it is duplicated, but last 6.2.18 at changelog show php 5.4 fixes applied but this bug is there yet. Look not fixed at the other post you linked. I manually changed the code and it is working now:
at /includes/base.inc
function options(<strong>&$options</strong>) { }
Comment#9
SeanA CreditAttribution: SeanA commentedIt's fixed in the dev release; there hasn't been a stable release since then.
Comment#10
Vraja CreditAttribution: Vraja as a volunteer commented@holoduke, I tried your code change and I just get a WSOD. Any Ideas?