public function GlobalTemplateCollectionManager::createLocalCollectionForGlobalCollection in Courier 8
Same name and namespace in other branches
- 2.x src/Service/GlobalTemplateCollectionManager.php \Drupal\courier\Service\GlobalTemplateCollectionManager::createLocalCollectionForGlobalCollection()
Create a global template collection and associate it with a template collection.
Parameters
\Drupal\courier\Entity\GlobalTemplateCollectionInterface $global_template_collection: A global template collection entity.
Return value
\Drupal\courier\TemplateCollectionInterface A template collection entity.
Throws
\Drupal\courier\Exception\GlobalTemplateCollectionException Thrown if passed global template collection is unsaved.
Overrides GlobalTemplateCollectionManagerInterface::createLocalCollectionForGlobalCollection
1 call to GlobalTemplateCollectionManager::createLocalCollectionForGlobalCollection()
- GlobalTemplateCollectionManager::getLocalCollection in src/
Service/ GlobalTemplateCollectionManager.php - Locate, and optionally instantiate, a local template collection to associate a global template collection.
File
- src/
Service/ GlobalTemplateCollectionManager.php, line 94
Class
- GlobalTemplateCollectionManager
- The global template collection manager.
Namespace
Drupal\courier\ServiceCode
public function createLocalCollectionForGlobalCollection(GlobalTemplateCollectionInterface $global_template_collection) {
if ($global_template_collection
->isNew()) {
throw new GlobalTemplateCollectionException('Global template collection must be saved to instantiate a new template collection.');
}
$template_collection = TemplateCollection::create();
$this->courierManager
->addTemplates($template_collection);
// Load in the configuration from this config.
foreach ($global_template_collection
->getTemplates() as $template_config) {
$template = $template_collection
->getTemplate($template_config['type']);
if ($template) {
$template
->importTemplate($template_config['content']);
}
}
$template_collection
->save();
$this->keyValueStore
->set($global_template_collection
->id(), $template_collection
->id());
return $template_collection;
}