protected function SimpleSitemapStorage::doDelete in Simple XML sitemap 4.x
@todo Improve performance of his method.
Overrides ConfigEntityStorage::doDelete
File
- src/
Entity/ SimpleSitemapStorage.php, line 64
Class
Namespace
Drupal\simple_sitemap\EntityCode
protected function doDelete($entities) {
$default_variant = $this->settings
->get('default_variant');
/** @var \Drupal\simple_sitemap\Entity\SimpleSitemapInterface[] $entities */
foreach ($entities as $entity) {
// Remove sitemap content.
$this
->deleteContent($entity);
// Unset default variant setting if necessary.
if ($default_variant === $entity
->id()) {
$this->settings
->save('default_variant', NULL);
}
// Remove bundle settings.
foreach ($this->configFactory
->listAll("simple_sitemap.bundle_settings.{$entity->id()}.") as $config_name) {
$this->configFactory
->getEditable($config_name)
->delete();
}
// Remove custom links.
foreach ($this->configFactory
->listAll("simple_sitemap.custom_links.{$entity->id()}") as $config_name) {
$this->configFactory
->getEditable($config_name)
->delete();
}
// Remove bundle settings entity overrides.
$this->database
->delete('simple_sitemap_entity_overrides')
->condition('type', $entity
->id())
->execute();
}
parent::doDelete($entities);
}