Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Attributes
Observer Class Reference

Public Member Functions

 __construct (\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Sitemap\Model\ResourceModel\Sitemap\CollectionFactory $collectionFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\Mail\Template\TransportBuilder $transportBuilder, \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation)
 
 scheduledGenerateSitemaps ()
 

Data Fields

const XML_PATH_GENERATION_ENABLED = 'sitemap/generate/enabled'
 
const XML_PATH_CRON_EXPR = 'crontab/default/jobs/generate_sitemaps/schedule/cron_expr'
 
const XML_PATH_ERROR_TEMPLATE = 'sitemap/generate/error_email_template'
 
const XML_PATH_ERROR_IDENTITY = 'sitemap/generate/error_email_identity'
 
const XML_PATH_ERROR_RECIPIENT = 'sitemap/generate/error_email'
 

Protected Attributes

 $_scopeConfig
 
 $_collectionFactory
 
 $_transportBuilder
 
 $_storeManager
 
 $inlineTranslation
 

Detailed Description

Sitemap module observer

Author
Magento Core Team core@.nosp@m.mage.nosp@m.ntoco.nosp@m.mmer.nosp@m.ce.co.nosp@m.m

Definition at line 13 of file Observer.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\App\Config\ScopeConfigInterface  $scopeConfig,
\Magento\Sitemap\Model\ResourceModel\Sitemap\CollectionFactory  $collectionFactory,
\Magento\Store\Model\StoreManagerInterface  $storeManager,
\Magento\Framework\Mail\Template\TransportBuilder  $transportBuilder,
\Magento\Framework\Translate\Inline\StateInterface  $inlineTranslation 
)
Parameters
\Magento\Framework\App\Config\ScopeConfigInterface$scopeConfig
\Magento\Sitemap\Model\ResourceModel\Sitemap\CollectionFactory$collectionFactory
\Magento\Store\Model\StoreManagerInterface$storeManager
\Magento\Framework\Mail\Template\TransportBuilder$transportBuilder
\Magento\Framework\Translate\Inline\StateInterface$inlineTranslation

Definition at line 76 of file Observer.php.

82  {
83  $this->_scopeConfig = $scopeConfig;
84  $this->_collectionFactory = $collectionFactory;
85  $this->_storeManager = $storeManager;
86  $this->_transportBuilder = $transportBuilder;
87  $this->inlineTranslation = $inlineTranslation;
88  }
$storeManager

Member Function Documentation

◆ scheduledGenerateSitemaps()

scheduledGenerateSitemaps ( )

Generate sitemaps

Returns
void
Exceptions

Definition at line 97 of file Observer.php.

98  {
99  $errors = [];
100 
101  // check if scheduled generation enabled
102  if (!$this->_scopeConfig->isSetFlag(
103  self::XML_PATH_GENERATION_ENABLED,
105  )
106  ) {
107  return;
108  }
109 
110  $collection = $this->_collectionFactory->create();
111  /* @var $collection \Magento\Sitemap\Model\ResourceModel\Sitemap\Collection */
112  foreach ($collection as $sitemap) {
113  /* @var $sitemap \Magento\Sitemap\Model\Sitemap */
114  try {
115  $sitemap->generateXml();
116  } catch (\Exception $e) {
117  $errors[] = $e->getMessage();
118  }
119  }
120 
121  if ($errors && $this->_scopeConfig->getValue(
122  self::XML_PATH_ERROR_RECIPIENT,
124  )
125  ) {
126  $this->inlineTranslation->suspend();
127 
128  $this->_transportBuilder->setTemplateIdentifier(
129  $this->_scopeConfig->getValue(
130  self::XML_PATH_ERROR_TEMPLATE,
132  )
133  )->setTemplateOptions(
134  [
135  'area' => \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE,
136  'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID,
137  ]
138  )->setTemplateVars(
139  ['warnings' => join("\n", $errors)]
140  )->setFrom(
141  $this->_scopeConfig->getValue(
142  self::XML_PATH_ERROR_IDENTITY,
144  )
145  )->addTo(
146  $this->_scopeConfig->getValue(
147  self::XML_PATH_ERROR_RECIPIENT,
149  )
150  );
151  $transport = $this->_transportBuilder->getTransport();
152  $transport->sendMessage();
153 
154  $this->inlineTranslation->resume();
155  }
156  }
$errors
Definition: overview.phtml:9

Field Documentation

◆ $_collectionFactory

$_collectionFactory
protected

Definition at line 52 of file Observer.php.

◆ $_scopeConfig

$_scopeConfig
protected

Definition at line 47 of file Observer.php.

◆ $_storeManager

$_storeManager
protected

Definition at line 62 of file Observer.php.

◆ $_transportBuilder

$_transportBuilder
protected

Definition at line 57 of file Observer.php.

◆ $inlineTranslation

$inlineTranslation
protected

Definition at line 67 of file Observer.php.

◆ XML_PATH_CRON_EXPR

const XML_PATH_CRON_EXPR = 'crontab/default/jobs/generate_sitemaps/schedule/cron_expr'

Cronjob expression configuration

Deprecated:
Use \Magento\Cron\Model\Config\Backend\Sitemap::CRON_STRING_PATH instead.

Definition at line 25 of file Observer.php.

◆ XML_PATH_ERROR_IDENTITY

const XML_PATH_ERROR_IDENTITY = 'sitemap/generate/error_email_identity'

Error email identity configuration

Definition at line 35 of file Observer.php.

◆ XML_PATH_ERROR_RECIPIENT

const XML_PATH_ERROR_RECIPIENT = 'sitemap/generate/error_email'

'Send error emails to' configuration

Definition at line 40 of file Observer.php.

◆ XML_PATH_ERROR_TEMPLATE

const XML_PATH_ERROR_TEMPLATE = 'sitemap/generate/error_email_template'

Error email template configuration

Definition at line 30 of file Observer.php.

◆ XML_PATH_GENERATION_ENABLED

const XML_PATH_GENERATION_ENABLED = 'sitemap/generate/enabled'

Enable/disable configuration

Definition at line 18 of file Observer.php.


The documentation for this class was generated from the following file: