Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-catalog-rule
Model
CatalogRuleRepository.php
Go to the documentation of this file.
1
<?php
7
namespace
Magento\CatalogRule\Model
;
8
9
use
Magento\CatalogRule\Api\Data
;
10
use
Magento\Framework\Exception\CouldNotDeleteException
;
11
use
Magento\Framework\Exception\CouldNotSaveException
;
12
use
Magento\Framework\Exception\NoSuchEntityException
;
13
use
Magento\Framework\Exception\ValidatorException
;
14
15
class
CatalogRuleRepository
implements
\Magento\CatalogRule\Api\CatalogRuleRepositoryInterface
16
{
20
protected
$ruleResource
;
21
25
protected
$ruleFactory
;
26
30
private
$rules = [];
31
36
public
function
__construct
(
37
\
Magento
\CatalogRule\Model\
ResourceModel
\
Rule
$ruleResource
,
38
\
Magento
\CatalogRule\Model\RuleFactory
$ruleFactory
39
) {
40
$this->ruleResource =
$ruleResource
;
41
$this->ruleFactory =
$ruleFactory
;
42
}
43
47
public
function
save
(
Data
\
RuleInterface
$rule
)
48
{
49
if
(
$rule
->getRuleId()) {
50
$rule
= $this->
get
($rule->getRuleId())->addData(
$rule
->getData());
51
}
52
53
try
{
54
$this->ruleResource->save(
$rule
);
55
unset($this->rules[
$rule
->getId()]);
56
}
catch
(
ValidatorException
$e) {
57
throw
new
CouldNotSaveException
(
__
($e->getMessage()));
58
}
catch
(\
Exception
$e) {
59
throw
new
CouldNotSaveException
(
60
__
(
'The "%1" rule was unable to be saved. Please try again.'
,
$rule
->getRuleId())
61
);
62
}
63
return
$rule
;
64
}
65
69
public
function
get
(
$ruleId
)
70
{
71
if
(!isset($this->rules[
$ruleId
])) {
73
$rule
= $this->ruleFactory->create();
74
75
/* TODO: change to resource model after entity manager will be fixed */
76
$rule
->load(
$ruleId
);
77
if
(!
$rule
->getRuleId()) {
78
throw
new
NoSuchEntityException
(
79
__
(
'The rule with the "%1" ID wasn\'t found. Verify the ID and try again.'
,
$ruleId
)
80
);
81
}
82
$this->rules[
$ruleId
] =
$rule
;
83
}
84
return
$this->rules[
$ruleId
];
85
}
86
90
public
function
delete
(Data\RuleInterface
$rule
)
91
{
92
try
{
93
$this->ruleResource->delete(
$rule
);
94
unset($this->rules[
$rule
->getId()]);
95
}
catch
(
ValidatorException
$e) {
96
throw
new
CouldNotSaveException
(
__
($e->getMessage()));
97
}
catch
(\
Exception
$e) {
98
throw
new
CouldNotDeleteException
(
__
(
'The "%1" rule couldn\'t be removed.'
,
$rule
->getRuleId()));
99
}
100
return
true
;
101
}
102
106
public
function
deleteById
(
$ruleId
)
107
{
108
$model
= $this->
get
(
$ruleId
);
109
$this->
delete
(
$model
);
110
return
true
;
111
}
112
}
Magento\CatalogRule\Model\CatalogRuleRepository
Definition:
CatalogRuleRepository.php:15
Magento\CatalogRule\Model
Magento\Catalog\Model\ResourceModel\Product
Definition:
CollectionTest.php:6
Magento\CatalogRule\Model\CatalogRuleRepository\__construct
__construct(\Magento\CatalogRule\Model\ResourceModel\Rule $ruleResource, \Magento\CatalogRule\Model\RuleFactory $ruleFactory)
Definition:
CatalogRuleRepository.php:36
Magento\CatalogRule\Model\CatalogRuleRepository\deleteById
deleteById($ruleId)
Definition:
CatalogRuleRepository.php:106
Magento\CatalogRule\Model\CatalogRuleRepository\save
save(Data\RuleInterface $rule)
Definition:
CatalogRuleRepository.php:47
$rule
$rule
Definition:
rule_by_attribute.php:10
$model
$model
Definition:
enable_catalog_product_reindex_schedule.php:9
__
__()
Definition:
__.php:13
$ruleId
$ruleId
Definition:
catalog_rule_10_off_not_logged_rollback.php:17
Magento\Catalog\Model\Product\Exception
Definition:
Exception.php:14
Magento\CatalogRule\Model\CatalogRuleRepository\$ruleFactory
$ruleFactory
Definition:
CatalogRuleRepository.php:25
Magento
Magento\Framework\Exception\ValidatorException
Definition:
ValidatorException.php:12
Magento\CatalogRule\Api\CatalogRuleRepositoryInterface
Definition:
CatalogRuleRepositoryInterface.php:13
Magento\CatalogRule\Api\Data
Definition:
ConditionInterface.php:6
Magento\Framework\Exception\CouldNotSaveException
Definition:
CouldNotSaveException.php:13
Magento\CatalogRule\Model\Rule
Definition:
Rule.php:50
Magento\Framework\Exception\CouldNotDeleteException
Definition:
CouldNotDeleteException.php:12
Magento\CatalogRule\Helper\Data
Definition:
Data.php:12
Magento\CatalogRule\Api\Data\RuleInterface
Definition:
RuleInterface.php:12
Magento\CatalogRule\Model\CatalogRuleRepository\$ruleResource
$ruleResource
Definition:
CatalogRuleRepository.php:20
Magento\Framework\Exception\NoSuchEntityException
Definition:
NoSuchEntityException.php:16