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:
AbstractDb AbstractResource

Public Member Functions

 __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Stdlib\DateTime\DateTime $date, $connectionName=null)
 
 checkUsageInQueue (\Magento\Newsletter\Model\Template $template)
 
 checkCodeUsage (\Magento\Newsletter\Model\Template $template)
 
- Public Member Functions inherited from AbstractDb
 __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, $connectionName=null)
 
 __sleep ()
 
 __wakeup ()
 
 getIdFieldName ()
 
 getMainTable ()
 
 getTable ($tableName)
 
 getConnection ()
 
 load (\Magento\Framework\Model\AbstractModel $object, $value, $field=null)
 
 save (\Magento\Framework\Model\AbstractModel $object)
 
 delete (\Magento\Framework\Model\AbstractModel $object)
 
 addUniqueField ($field)
 
 resetUniqueField ()
 
 unserializeFields (\Magento\Framework\Model\AbstractModel $object)
 
 getUniqueFields ()
 
 hasDataChanged ($object)
 
 getChecksum ($table)
 
 afterLoad (\Magento\Framework\DataObject $object)
 
 beforeSave (\Magento\Framework\DataObject $object)
 
 afterSave (\Magento\Framework\DataObject $object)
 
 beforeDelete (\Magento\Framework\DataObject $object)
 
 afterDelete (\Magento\Framework\DataObject $object)
 
 serializeFields (\Magento\Framework\Model\AbstractModel $object)
 
- Public Member Functions inherited from AbstractResource
 __construct ()
 
 getConnection ()
 
 beginTransaction ()
 
 addCommitCallback ($callback)
 
 commit ()
 
 rollBack ()
 
 getValidationRulesBeforeSave ()
 

Protected Member Functions

 _construct ()
 
 _beforeSave (\Magento\Framework\Model\AbstractModel $object)
 
- Protected Member Functions inherited from AbstractDb
 _init ($mainTable, $idFieldName)
 
 _setResource ($connections, $tables=null)
 
 _setMainTable ($mainTable, $idFieldName=null)
 
 _getConnection ($resourceName)
 
 _getLoadSelect ($field, $value, $object)
 
 _initUniqueFields ()
 
 _prepareDataForSave (\Magento\Framework\Model\AbstractModel $object)
 
 _prepareValueForSave ($value, $type)
 
 _checkUnique (\Magento\Framework\Model\AbstractModel $object)
 
 _afterLoad (\Magento\Framework\Model\AbstractModel $object)
 
 _beforeSave (\Magento\Framework\Model\AbstractModel $object)
 
 _afterSave (\Magento\Framework\Model\AbstractModel $object)
 
 _beforeDelete (\Magento\Framework\Model\AbstractModel $object)
 
 _afterDelete (\Magento\Framework\Model\AbstractModel $object)
 
 _serializeFields (\Magento\Framework\Model\AbstractModel $object)
 
 prepareDataForUpdate ($object)
 
 isObjectNotNew (\Magento\Framework\Model\AbstractModel $object)
 
 saveNewObject (\Magento\Framework\Model\AbstractModel $object)
 
 updateObject (\Magento\Framework\Model\AbstractModel $object)
 
 processAfterSaves (\Magento\Framework\Model\AbstractModel $object)
 
 isModified (\Magento\Framework\Model\AbstractModel $object)
 
 processNotModifiedSave (\Magento\Framework\Model\AbstractModel $object)
 
- Protected Member Functions inherited from AbstractResource
 _construct ()
 
 _serializeField (DataObject $object, $field, $defaultValue=null, $unsetEmpty=false)
 
 _unserializeField (DataObject $object, $field, $defaultValue=null)
 
 _prepareDataForTable (DataObject $object, $table)
 
 _prepareTableValueForSave ($value, $type)
 
 _getColumnsForEntityLoad (\Magento\Framework\Model\AbstractModel $object, $tableName)
 
 getSerializer ()
 

Protected Attributes

 $_date
 
- Protected Attributes inherited from AbstractDb
 $_resources
 
 $connectionName = \Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION
 
 $_connections = []
 
 $_resourceModel
 
 $_tables = []
 
 $_mainTable
 
 $_idFieldName
 
 $_isPkAutoIncrement = true
 
 $_useIsObjectNew = false
 
 $_mainTableFields
 
 $_uniqueFields = null
 
 $_serializableFields = []
 
 $transactionManager
 
 $objectRelationProcessor
 
- Protected Attributes inherited from AbstractResource
 $serializer
 
 $_logger
 

Detailed Description

Newsletter template resource model

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

@api

Since
100.0.2

Definition at line 17 of file Template.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Model\ResourceModel\Db\Context  $context,
\Magento\Framework\Stdlib\DateTime\DateTime  $date,
  $connectionName = null 
)
Parameters
\Magento\Framework\Model\ResourceModel\Db\Context$context
\Magento\Framework\Stdlib\DateTime\DateTime$date
string$connectionName

Definition at line 31 of file Template.php.

35  {
36  parent::__construct($context, $connectionName);
37  $this->_date = $date;
38  }

Member Function Documentation

◆ _beforeSave()

_beforeSave ( \Magento\Framework\Model\AbstractModel  $object)
protected

Perform actions before object save

Parameters
\Magento\Framework\Model\AbstractModel$object
Returns
$this
Exceptions

Definition at line 116 of file Template.php.

117  {
118  if ($this->checkCodeUsage($object)) {
119  throw new \Magento\Framework\Exception\LocalizedException(__('Duplicate template code'));
120  }
121 
122  if (!$object->hasTemplateActual()) {
123  $object->setTemplateActual(1);
124  }
125  if (!$object->hasAddedAt()) {
126  $object->setAddedAt($this->_date->gmtDate());
127  }
128  $object->setModifiedAt($this->_date->gmtDate());
129 
130  return parent::_beforeSave($object);
131  }
__()
Definition: __.php:13
checkCodeUsage(\Magento\Newsletter\Model\Template $template)
Definition: Template.php:82

◆ _construct()

_construct ( )
protected

Initialize connection

Returns
void

Definition at line 45 of file Template.php.

46  {
47  $this->_init('newsletter_template', 'template_id');
48  }

◆ checkCodeUsage()

checkCodeUsage ( \Magento\Newsletter\Model\Template  $template)

Check usage of template code in other templates

Parameters
\Magento\Newsletter\Model\Template$template
Returns
boolean

Definition at line 82 of file Template.php.

83  {
84  if ($template->getTemplateActual() != 0 || $template->getTemplateActual() === null) {
85  $bind = [
86  'template_id' => $template->getId(),
87  'template_code' => $template->getTemplateCode(),
88  'template_actual' => 1,
89  ];
90  $select = $this->getConnection()->select()->from(
91  $this->getMainTable(),
92  new \Zend_Db_Expr('COUNT(template_id)')
93  )->where(
94  'template_id != :template_id'
95  )->where(
96  'template_code = :template_code'
97  )->where(
98  'template_actual = :template_actual'
99  );
100 
101  $countOfCodes = $this->getConnection()->fetchOne($select, $bind);
102 
103  return $countOfCodes > 0;
104  } else {
105  return false;
106  }
107  }
$template
Definition: export.php:12

◆ checkUsageInQueue()

checkUsageInQueue ( \Magento\Newsletter\Model\Template  $template)

Check usage of template in queue

Parameters
\Magento\Newsletter\Model\Template$template
Returns
boolean

Definition at line 56 of file Template.php.

57  {
58  if ($template->getTemplateActual() !== 0 && !$template->getIsSystem()) {
59  $select = $this->getConnection()->select()->from(
60  $this->getTable('newsletter_queue'),
61  new \Zend_Db_Expr('COUNT(queue_id)')
62  )->where(
63  'template_id = :template_id'
64  );
65 
66  $countOfQueue = $this->getConnection()->fetchOne($select, ['template_id' => $template->getId()]);
67 
68  return $countOfQueue > 0;
69  } elseif ($template->getIsSystem()) {
70  return false;
71  } else {
72  return true;
73  }
74  }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$template
Definition: export.php:12

Field Documentation

◆ $_date

$_date
protected

Definition at line 24 of file Template.php.


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