Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Template Class Reference
Inheritance diagram for Template:
AbstractTemplate AbstractModel TemplateTypesInterface DataObject

Public Member Functions

 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Registry $registry, \Magento\Store\Model\App\Emulation $appEmulation, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Email\Model\Template\Config $emailConfig, \Magento\Email\Model\TemplateFactory $templateFactory, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\UrlInterface $urlModel, \Magento\Framework\App\RequestInterface $request, \Magento\Newsletter\Model\Template\FilterFactory $filterFactory, array $data=[])
 
 validate ()
 
 beforeSave ()
 
 getType ()
 
 getProcessedTemplateSubject (array $variables)
 
 getTemplateText ()
 
 isValidForSend ()
 
- Public Member Functions inherited from AbstractTemplate
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Registry $registry, \Magento\Store\Model\App\Emulation $appEmulation, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Email\Model\Template\Config $emailConfig, \Magento\Email\Model\TemplateFactory $templateFactory, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\UrlInterface $urlModel, array $data=[])
 
 getTemplateContent ($configPath, array $variables)
 
 loadByConfigPath ($configPath)
 
 loadDefault ($templateId)
 
 getProcessedTemplate (array $variables=[])
 
 getDefaultEmailLogo ()
 
 setForcedArea ($templateId)
 
 setForcedTheme ($templateId, $theme)
 
 getDesignParams ()
 
 getDesignConfig ()
 
 setDesignConfig (array $config)
 
 isChildTemplate ()
 
 setIsChildTemplate ($isChildTemplate)
 
 setTemplateFilter (Template\Filter $filter)
 
 getTemplateFilter ()
 
 emulateDesign ($storeId, $area=self::DEFAULT_DESIGN_AREA)
 
 revertDesign ()
 
 isPlain ()
 
 getType ()
 
 getUrl (Store $store, $route='', $params=[])
 
- Public Member Functions inherited from AbstractModel
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 __sleep ()
 
 __wakeup ()
 
 setIdFieldName ($name)
 
 getIdFieldName ()
 
 getId ()
 
 setId ($value)
 
 isDeleted ($isDeleted=null)
 
 hasDataChanges ()
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 setDataChanges ($value)
 
 getOrigData ($key=null)
 
 setOrigData ($key=null, $data=null)
 
 dataHasChangedFor ($field)
 
 getResourceName ()
 
 getResourceCollection ()
 
 getCollection ()
 
 load ($modelId, $field=null)
 
 beforeLoad ($identifier, $field=null)
 
 afterLoad ()
 
 isSaveAllowed ()
 
 setHasDataChanges ($flag)
 
 save ()
 
 afterCommitCallback ()
 
 isObjectNew ($flag=null)
 
 beforeSave ()
 
 validateBeforeSave ()
 
 getCacheTags ()
 
 cleanModelCache ()
 
 afterSave ()
 
 delete ()
 
 beforeDelete ()
 
 afterDelete ()
 
 afterDeleteCommit ()
 
 getResource ()
 
 getEntityId ()
 
 setEntityId ($entityId)
 
 clearInstance ()
 
 getStoredData ()
 
 getEventPrefix ()
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Protected Member Functions

 _construct ()
 
 getFilterFactory ()
 
- Protected Member Functions inherited from AbstractTemplate
 getTemplateInstance ()
 
 getLogoUrl ($store)
 
 getLogoAlt ($store)
 
 addEmailVariables ($variables, $storeId)
 
 applyDesignConfig ()
 
 cancelDesignConfig ()
 
 getFilterFactory ()
 
- Protected Member Functions inherited from AbstractModel
 _construct ()
 
 _init ($resourceModel)
 
 _setResourceModel ($resourceName, $collectionName=null)
 
 _getResource ()
 
 _getEventData ()
 
 _beforeLoad ($modelId, $field=null)
 
 _afterLoad ()
 
 _hasModelChanged ()
 
 _getValidatorBeforeSave ()
 
 _createValidatorBeforeSave ()
 
 _getValidationRulesBeforeSave ()
 
 _clearReferences ()
 
 _clearData ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Protected Attributes

 $_mail
 
 $_storeManager
 
 $_request
 
 $_filterFactory
 
- Protected Attributes inherited from AbstractTemplate
 $templateFactory = null
 
 $design = null
 
 $appEmulation
 
 $storeManager
 
 $assetRepo
 
 $filesystem
 
 $scopeConfig
 
 $emailConfig
 
 $filterManager
 
- Protected Attributes inherited from AbstractModel
 $_eventPrefix = 'core_abstract'
 
 $_eventObject = 'object'
 
 $_idFieldName = 'id'
 
 $_hasDataChanges = false
 
 $_origData
 
 $_isDeleted = false
 
 $_resource
 
 $_resourceCollection
 
 $_resourceName
 
 $_collectionName
 
 $_cacheTag = false
 
 $_dataSaveAllowed = true
 
 $_isObjectNew = null
 
 $_validatorBeforeSave = null
 
 $_eventManager
 
 $_cacheManager
 
 $_registry
 
 $_logger
 
 $_appState
 
 $_actionValidator
 
 $storedData = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Additional Inherited Members

- Data Fields inherited from AbstractTemplate
const DEFAULT_DESIGN_AREA = 'frontend'
 
const DEFAULT_LOGO_FILE_ID = 'Magento_Email::logo_email.png'
 
const XML_PATH_DESIGN_EMAIL_LOGO = 'design/email/logo'
 
const XML_PATH_DESIGN_EMAIL_LOGO_ALT = 'design/email/logo_alt'
 
const XML_PATH_DESIGN_EMAIL_LOGO_WIDTH = 'design/email/logo_width'
 
const XML_PATH_DESIGN_EMAIL_LOGO_HEIGHT = 'design/email/logo_height'
 
- Data Fields inherited from TemplateTypesInterface
const TYPE_TEXT = 1
 
const TYPE_HTML = 2
 
- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

Template model

@method string getTemplateCode() @method \Magento\Newsletter\Model\Template setTemplateCode(string $value) @method \Magento\Newsletter\Model\Template setTemplateText(string $value) @method \Magento\Newsletter\Model\Template setTemplateTextPreprocessed(string $value) @method string getTemplateStyles() @method \Magento\Newsletter\Model\Template setTemplateStyles(string $value) @method int getTemplateType() @method \Magento\Newsletter\Model\Template setTemplateType(int $value) @method string getTemplateSubject() @method \Magento\Newsletter\Model\Template setTemplateSubject(string $value) @method string getTemplateSenderName() @method \Magento\Newsletter\Model\Template setTemplateSenderName(string $value) @method string getTemplateSenderEmail() @method \Magento\Newsletter\Model\Template setTemplateSenderEmail(string $value) @method int getTemplateActual() @method \Magento\Newsletter\Model\Template setTemplateActual(int $value) @method string getAddedAt() @method \Magento\Newsletter\Model\Template setAddedAt(string $value) @method string getModifiedAt() @method \Magento\Newsletter\Model\Template setModifiedAt(string $value)

Author
Magento Core Team core@.nosp@m.mage.nosp@m.ntoco.nosp@m.mmer.nosp@m.ce.co.nosp@m.m @SuppressWarnings(PHPMD.CouplingBetweenObjects)

@api

Since
100.0.2

Definition at line 38 of file Template.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Model\Context  $context,
\Magento\Framework\View\DesignInterface  $design,
\Magento\Framework\Registry  $registry,
\Magento\Store\Model\App\Emulation  $appEmulation,
\Magento\Store\Model\StoreManagerInterface  $storeManager,
\Magento\Framework\View\Asset\Repository  $assetRepo,
\Magento\Framework\Filesystem  $filesystem,
\Magento\Framework\App\Config\ScopeConfigInterface  $scopeConfig,
\Magento\Email\Model\Template\Config  $emailConfig,
\Magento\Email\Model\TemplateFactory  $templateFactory,
\Magento\Framework\Filter\FilterManager  $filterManager,
\Magento\Framework\UrlInterface  $urlModel,
\Magento\Framework\App\RequestInterface  $request,
\Magento\Newsletter\Model\Template\FilterFactory  $filterFactory,
array  $data = [] 
)
Parameters
\Magento\Framework\Model\Context$context
\Magento\Framework\View\DesignInterface$design
\Magento\Framework\Registry$registry
\Magento\Store\Model\App\Emulation$appEmulation
\Magento\Store\Model\StoreManagerInterface$storeManager
\Magento\Framework\View\Asset\Repository$assetRepo
\Magento\Framework\Filesystem$filesystem
\Magento\Framework\App\Config\ScopeConfigInterface$scopeConfig
\Magento\Email\Model\Template\Config$emailConfig
\Magento\Email\Model\TemplateFactory$templateFactoryThe template directive requires an email template model, not newsletter model, as templates overridden in backend are loaded from email table.
\Magento\Framework\Filter\FilterManager$filterManager
\Magento\Framework\Url | \Magento\Framework\UrlInterface$urlModel
\Magento\Framework\App\RequestInterface$request
\Magento\Newsletter\Model\Template\FilterFactory$filterFactory

Definition at line 88 of file Template.php.

104  {
105  parent::__construct(
106  $context,
107  $design,
108  $registry,
111  $assetRepo,
112  $filesystem,
113  $scopeConfig,
114  $emailConfig,
117  $urlModel,
118  $data
119  );
120  $this->_storeManager = $storeManager;
121  $this->_request = $request;
122  $this->_filterFactory = $filterFactory;
123  }

Member Function Documentation

◆ _construct()

_construct ( )
protected

Initialize resource model

Returns
void

Definition at line 130 of file Template.php.

131  {
132  $this->_init(\Magento\Newsletter\Model\ResourceModel\Template::class);
133  }

◆ beforeSave()

beforeSave ( )

Processing object before save data

Returns
$this

Definition at line 176 of file Template.php.

177  {
178  $this->validate();
179  parent::beforeSave();
180  return $this;
181  }

◆ getFilterFactory()

getFilterFactory ( )
protected
Returns
\Magento\Newsletter\Model\Template\FilterFactory

Definition at line 232 of file Template.php.

233  {
234  return $this->_filterFactory;
235  }

◆ getProcessedTemplateSubject()

getProcessedTemplateSubject ( array  $variables)

Retrieve processed template subject

Parameters
array$variables
Returns
string

Definition at line 199 of file Template.php.

200  {
201  $variables['this'] = $this;
202 
203  return $this->getTemplateFilter()
204  ->setVariables($variables)
205  ->filter($this->getTemplateSubject());
206  }

◆ getTemplateText()

getTemplateText ( )

Retrieve template text wrapper

Returns
string

Definition at line 213 of file Template.php.

214  {
215  if (!$this->getData('template_text') && !$this->getId()) {
216  $this->setData(
217  'template_text',
218  __(
219  'Follow this link to unsubscribe <!-- This tag is for unsubscribe link -->' .
220  '<a href="{{var subscriber.getUnsubscriptionLink()}}">{{var subscriber.getUnsubscriptionLink()}}' .
221  '</a>'
222  )
223  );
224  }
225 
226  return $this->getData('template_text');
227  }
getData($key='', $index=null)
Definition: DataObject.php:119
__()
Definition: __.php:13

◆ getType()

getType ( )

Getter for template type

Returns
int|string

Implements TemplateTypesInterface.

Definition at line 188 of file Template.php.

189  {
190  return $this->getTemplateType();
191  }

◆ isValidForSend()

isValidForSend ( )

Check if template can be added to newsletter queue

Returns
boolean

Definition at line 242 of file Template.php.

243  {
244  return $this->getTemplateSenderName() && $this->getTemplateSenderEmail() && $this->getTemplateSubject();
245  }

◆ validate()

validate ( )

Validate Newsletter template

Returns
void
Exceptions

Definition at line 141 of file Template.php.

142  {
143  $validators = [
144  'template_code' => [\Zend_Filter_Input::ALLOW_EMPTY => false],
145  'template_type' => 'Int',
146  'template_sender_email' => 'EmailAddress',
147  'template_sender_name' => [\Zend_Filter_Input::ALLOW_EMPTY => false],
148  ];
149  $data = [];
150  foreach (array_keys($validators) as $validateField) {
151  $data[$validateField] = $this->getDataUsingMethod($validateField);
152  }
153 
154  $validateInput = new \Zend_Filter_Input([], $validators, $data);
155  if (!$validateInput->isValid()) {
156  $errorMessages = [];
157  foreach ($validateInput->getMessages() as $messages) {
158  if (is_array($messages)) {
159  foreach ($messages as $message) {
160  $errorMessages[] = $message;
161  }
162  } else {
163  $errorMessages[] = $messages;
164  }
165  }
166 
167  throw new \Magento\Framework\Exception\LocalizedException(__(join("\n", $errorMessages)));
168  }
169  }
getDataUsingMethod($key, $args=null)
Definition: DataObject.php:218
__()
Definition: __.php:13
$message
const ALLOW_EMPTY
Definition: Input.php:46

Field Documentation

◆ $_filterFactory

$_filterFactory
protected

Definition at line 67 of file Template.php.

◆ $_mail

$_mail
protected

Mail object

Deprecated:
Unused property

Definition at line 46 of file Template.php.

◆ $_request

$_request
protected

Definition at line 60 of file Template.php.

◆ $_storeManager

$_storeManager
protected

Definition at line 53 of file Template.php.


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