public function PathMapping::getPath in Gatsby Live Preview & Incremental Builds 2.0.x
Same name and namespace in other branches
- 8 src/PathMapping.php \Drupal\gatsby\PathMapping::getPath()
Gets the Gatsby path for a content-entity.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity to get the Gatsby path for.
Return value
string The Gatsby path for the entity.
Overrides PathMappingInterface::getPath
File
- src/PathMapping.php, line 78 
Class
- PathMapping
- Defines a class for mapping paths between Drupal and Gatsby.
Namespace
Drupal\gatsbyCode
public function getPath(EntityInterface $entity) : string {
  $alias = $this->pathAliasManager
    ->getAliasByPath('/node/' . $entity
    ->id());
  // If this is the front-page we don't want to pass the alias
  // (as Gatsby will likely 404).
  if ($alias === \Drupal::config('system.site')
    ->get('page.front')) {
    $alias = '';
  }
  // Check if there are any path mappings to be considered for this alias.
  $path_mapping = $this
    ->getPathMapping();
  if (!empty($path_mapping[$alias])) {
    $alias = $path_mapping[$alias];
  }
  return $alias;
}