38 if ($this->getState()->getMode() === State::MODE_PRODUCTION) {
39 $this->messageManager->addErrorMessage(
__(
'You can\'t change status of cache type(s) in production mode'));
41 $this->disableCache();
52 private function disableCache()
55 $types = $this->
getRequest()->getParam(
'types');
57 if (!is_array($types)) {
61 foreach ($types as
$code) {
62 $this->_cacheTypeList->cleanType(
$code);
63 if ($this->_cacheState->isEnabled(
$code)) {
64 $this->_cacheState->setEnabled(
$code,
false);
68 if ($updatedTypes > 0) {
69 $this->_cacheState->persist();
70 $this->messageManager->addSuccessMessage(
__(
"%1 cache type(s) disabled.", $updatedTypes));
72 }
catch (LocalizedException $e) {
73 $this->messageManager->addErrorMessage($e->getMessage());
74 }
catch (\Exception $e) {
75 $this->messageManager->addExceptionMessage($e,
__(
'An error occurred while disabling cache.'));
85 private function getState()
87 if ($this->state ===
null) {
88 $this->state = ObjectManager::getInstance()->get(State::class);
_validateTypes(array $types)