diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc index 67adce5..9815565 100644 --- a/plugins/facetapi/adapter.inc +++ b/plugins/facetapi/adapter.inc @@ -211,8 +211,19 @@ abstract class FacetapiAdapter { // Get the url processor plugin class. If the class for the passed plugin // cannot be retrieved, log the error and load the standard plugin. if (!$class = ctools_plugin_load_class('facetapi', 'url_processors', $id, 'handler')) { - watchdog('facetapi', 'Url processor plugin "@id" not valid, loading standard plugin.', array('@id' => $id), WATCHDOG_ERROR); - $class = ctools_plugin_load_class('facetapi', 'url_processors', 'standard', 'handler'); + if ('standard' != $id) { + watchdog('facetapi', 'Url processor plugin "@id" not valid, loading standard plugin.', array('@id' => $id), WATCHDOG_ERROR); + $class = ctools_plugin_load_class('facetapi', 'url_processors', 'standard', 'handler'); + } + else { + // The plugins are not registered, probably because CTools is weighted + // heavier than Facet API. It is still unclear why this even matters. + // Let's raise a call to action and explicitly set the class to prevent + // fatal errors. + // @see http://drupal.org/node/1816110 + watchdog('facetapi', 'Url processor plugins are not yet registered, loading standard plugin. Please visit @url for more information.', array('@id' => $id, '@url' => 'http://drupal.org/node/1816110'), WATCHDOG_ERROR); + $class = 'FacetapiUrlProcessorStandard'; + } } // Instantiates and initializes plugin.