You are here

public function FilenameGenerator::generateFilename in Entity Print 8.2

Generates a filename to be used for a printed document.

Parameters

\Drupal\Core\Entity\EntityInterface[] $entities: An array of entities to generate a filename for.

callable $entity_label_callback: (optional) A function to generate the label for an individual entity.

Return value

string The generated filename.

Overrides FilenameGeneratorInterface::generateFilename

File

src/FilenameGenerator.php, line 32

Class

FilenameGenerator
A service for generating filenames for printed documents.

Namespace

Drupal\entity_print

Code

public function generateFilename(array $entities, callable $entity_label_callback = NULL) {
  $filenames = [];

  /** @var \Drupal\Core\Entity\EntityInterface $entity */
  foreach ($entities as $entity) {
    if ($label = trim($this
      ->sanitizeFilename($entity_label_callback ? $entity_label_callback($entity) : $entity
      ->label(), $entity
      ->language()
      ->getId()))) {
      $filenames[] = $label;
    }
  }
  return $filenames ? implode('-', $filenames) : static::DEFAULT_FILENAME;
}