Full error:

Error: [] operator not supported for strings in FacetapiUrlProcessorStandard->setBreadcrumb() (line 127 of <path>/sites/all/modules/contrib/facetapi/plugins/facetapi/url_processor_standard.inc).

On line 93 the breadcrumbs is set using drupal_get_breadcrumbs,

  public function setBreadcrumb() {
    $breadcrumb = drupal_get_breadcrumb();

The actual error is here,

      // The last item should be text, not a link.
      if ($last == $item) {
        $breadcrumb[] = !empty($value['#html']) ? $value['#markup'] : check_plain($value['#markup']);
      }
      else {
        // Appends the filter to the breadcrumb trail.
        $breadcrumb[] = l($value['#markup'], current_path(), array('query' => $query, 'html' => !empty($value['#html'])));
      }

The function drupal_set_breadcrumb() mighty return an empty string on occasion.

Code on the module assumes it's an array and appends to the end of it using, $breadcrumbs[] = .

On PHP 7 this doesn't work.

Adding this fixes it for now,

diff --git a/docroot/sites/all/modules/contrib/facetapi/plugins/facetapi/url_processor_standard.inc b/docroot/sites/all/modules/contrib/facetapi/plugins/facetapi/url_processor_standard.inc
index 7f29960ce..daa7d5779 100644
--- a/docroot/sites/all/modules/contrib/facetapi/plugins/facetapi/url_processor_standard.inc
+++ b/docroot/sites/all/modules/contrib/facetapi/plugins/facetapi/url_processor_standard.inc
@@ -93,6 +93,11 @@ class FacetapiUrlProcessorStandard extends FacetapiUrlProcessor {
   public function setBreadcrumb() {
     $breadcrumb = drupal_get_breadcrumb();

+    //drupal_get_breadcrumb() could return an empty string
+    if(empty($breadcrumb) && !is_array($breadcrumb)) {
+      $breadcrumb = array();
+    }
+
     // Gets search keys and active items form the adapter.
     $keys = $this->adapter->getSearchKeys();
     $active_items = $this->adapter->getAllActiveItems();

Comments

rovr138 created an issue.