You are here

class CommerceSearchApiProductDisplayFilter in Commerce Search API 7

Data alteration callback that filters out nodes that aren't product displays.

Hierarchy

Expanded class hierarchy of CommerceSearchApiProductDisplayFilter

1 string reference to 'CommerceSearchApiProductDisplayFilter'
commerce_search_api_search_api_alter_callback_info in ./commerce_search_api.module
Implements hook_search_api_alter_callback_info().

File

includes/commerce_search_api_product_display_filter.inc, line 12
Product display data alteration callback.

View source
class CommerceSearchApiProductDisplayFilter extends SearchApiAbstractAlterCallback {

  /**
   * Check whether this data-alter callback is applicable for a certain index.
   *
   * @param SearchApiIndex $index
   *   The SearchApiIndex this data alteration callback resides on.
   *
   * @return bool
   *   A boolean whether or not this index is supported.
   */
  public function supportsIndex(SearchApiIndex $index) {
    $bundles = commerce_product_reference_node_types();
    return $index
      ->getEntityType() == 'node' && !empty($bundles);
  }

  /**
   * Exclude nodes that aren't product displays.
   */
  public function alterItems(array &$items) {
    if ($bundles = commerce_product_reference_node_types()) {
      foreach ($items as $id => $item) {
        if (!isset($bundles[$item->type])) {
          unset($items[$id]);
        }
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CommerceSearchApiProductDisplayFilter::alterItems public function Exclude nodes that aren't product displays. Overrides SearchApiAlterCallbackInterface::alterItems
CommerceSearchApiProductDisplayFilter::supportsIndex public function Check whether this data-alter callback is applicable for a certain index. Overrides SearchApiAbstractAlterCallback::supportsIndex
SearchApiAbstractAlterCallback::$index protected property The index whose items will be altered.
SearchApiAbstractAlterCallback::$options protected property The configuration options for this callback, if it has any.
SearchApiAbstractAlterCallback::configurationForm public function Implements SearchApiAlterCallbackInterface::configurationForm(). Overrides SearchApiAlterCallbackInterface::configurationForm 6
SearchApiAbstractAlterCallback::configurationFormSubmit public function Implements SearchApiAlterCallbackInterface::configurationFormSubmit(). Overrides SearchApiAlterCallbackInterface::configurationFormSubmit 4
SearchApiAbstractAlterCallback::configurationFormValidate public function Implements SearchApiAlterCallbackInterface::configurationFormValidate(). Overrides SearchApiAlterCallbackInterface::configurationFormValidate 1
SearchApiAbstractAlterCallback::isMultiEntityIndex protected function Determines whether the given index contains multiple types of entities.
SearchApiAbstractAlterCallback::propertyInfo public function Implements SearchApiAlterCallbackInterface::propertyInfo(). Overrides SearchApiAlterCallbackInterface::propertyInfo 6
SearchApiAbstractAlterCallback::__construct public function Implements SearchApiAlterCallbackInterface::__construct(). Overrides SearchApiAlterCallbackInterface::__construct 1