diff --git a/src/FacetsHardcodeSlugHelper.php b/src/FacetsHardcodeSlugHelper.php index 1b544cb..01cae89 100644 --- a/src/FacetsHardcodeSlugHelper.php +++ b/src/FacetsHardcodeSlugHelper.php @@ -6,6 +6,7 @@ use Drupal\facets\FacetInterface; class FacetsHardcodeSlugHelper { + /** * @param $filterKey * @return FacetInterface|null @@ -73,14 +74,22 @@ public static function getValueFromSlug($filterKey, $slug) { if (!empty($entity_type) && !empty($slug) && !empty($bundle)) { $slugField = $config->get('slug_field'); - $results = \Drupal::entityTypeManager()->getStorage($entity_type)->loadByProperties([ - $slugField => $slug, - 'vid' => $bundle, - ]); + $definition = \Drupal::entityTypeManager()->getDefinition($entity_type); + + if ($definition) { + $bundle_key = $definition->getKey('bundle') ?? 'bundle'; + + $results = \Drupal::entityTypeManager() + ->getStorage($entity_type) + ->loadByProperties([ + $slugField => $slug, + $bundle_key => $bundle, + ]); - if (!empty($results)) { - $keys = array_keys($results); - $value = array_shift($keys); + if (!empty($results)) { + $keys = array_keys($results); + $value = array_shift($keys); + } } }