Skip to content

Commit ef41070

Browse files
committed
Added configuration in the Admin
1 parent 3d5b216 commit ef41070

File tree

6 files changed

+87
-19
lines changed

6 files changed

+87
-19
lines changed

Helper/Data.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Abelbm\DisableFrontend\Helper;
4+
5+
use Magento\Framework\App\Helper\AbstractHelper;
6+
use Magento\Store\Model\ScopeInterface;
7+
8+
class Data extends AbstractHelper{
9+
10+
/**
11+
* Get value from config
12+
*
13+
* @author Abel Bolanos Martinez <[email protected]>
14+
* @return mixed
15+
*/
16+
public function getConfigValue() {
17+
return $this->scopeConfig->getValue(
18+
'admin/disable_frontend/show_as_frontend', ScopeInterface::SCOPE_WEBSITE
19+
);
20+
}
21+
}

Model/Config/Source/Custom.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
namespace Abelbm\DisableFrontend\Model\Config\Source;
3+
4+
5+
class Custom implements \Magento\Framework\Option\ArrayInterface{
6+
7+
/**
8+
* Options for the admin config
9+
*
10+
* @author Abel Bolanos Martinez <[email protected]>
11+
* @return array
12+
*/
13+
public function toOptionArray()
14+
{
15+
16+
return [
17+
['value' => 0, 'label' => __('Blank Page')],
18+
['value' => 1, 'label' => __('Admin')],
19+
];
20+
}
21+
}

Observer/DisableFrontend.php

+29-17
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,61 @@
11
<?php
22
namespace Abelbm\DisableFrontend\Observer;
33
use Magento\Framework\Event\ObserverInterface;
4+
use Magento\Framework\App\ActionFlag;
5+
use Magento\Framework\App\Response\RedirectInterface;
6+
use Magento\Backend\Helper\Data;
7+
use Abelbm\DisableFrontend\Helper\Data as DisableFrontendHelper;
48

59
class DisableFrontend implements ObserverInterface{
610

711
protected $_actionFlag;
812
protected $redirect;
9-
private $HelperBackend;
13+
private $helperBackend;
1014
private $logger;
11-
15+
private $disableFrontendHelper;
16+
1217
/**
13-
*
14-
* @author Abel Bolanos Martinez <[email protected]>
15-
* @param \Magento\Framework\App\ActionFlag $actionFlag
16-
* @param \Magento\Framework\Message\ManagerInterface $messageManager
17-
* @param \Magento\Framework\App\Response\RedirectInterface $redirect
18-
* @param \Magento\Backend\Helper\Data $HelperBackend
18+
* DisableFrontend constructor.
19+
*
20+
* @author Abel Bolanos Martinez <[email protected]>
21+
* @param ActionFlag $actionFlag
22+
* @param RedirectInterface $redirect
23+
* @param Data $helperBackend
24+
* @param DisableFrontendHelper $disableFrontendHelper
1925
* @param \Psr\Log\LoggerInterface $logger
2026
*/
2127
public function __construct(
22-
\Magento\Framework\App\ActionFlag $actionFlag,
23-
\Magento\Framework\App\Response\RedirectInterface $redirect,
24-
\Magento\Backend\Helper\Data $HelperBackend,
28+
ActionFlag $actionFlag,
29+
RedirectInterface $redirect,
30+
Data $helperBackend,
31+
DisableFrontendHelper $disableFrontendHelper,
2532
\Psr\Log\LoggerInterface $logger
2633
) {
2734
$this->_actionFlag = $actionFlag;
2835
$this->redirect = $redirect;
29-
$this->HelperBackend = $HelperBackend;
36+
$this->helperBackend = $helperBackend;
3037
$this->logger = $logger;
38+
$this->disableFrontendHelper = $disableFrontendHelper;
3139
}
3240

3341
/**
42+
* Show an empty page(default) or redirect to Admin site.
43+
* Depend in the config in
44+
* Stores > Configuration > Advanced > Admin > Disable Frontend
3445
*
3546
* @author Abel Bolanos Martinez <[email protected]>
3647
* @param \Magento\Framework\Event\Observer $observer
3748
* @return void
3849
*/
3950
public function execute(\Magento\Framework\Event\Observer $observer){
40-
41-
//$this->logger->info('TEST LOGGER');
51+
52+
//$this->logger->info('TEST');
4253

4354
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
4455

45-
//custom redirect
46-
//$controller = $observer->getControllerAction();
47-
//$this->redirect->redirect($controller->getResponse(),$this->HelperBackend->getHomePageUrl());
56+
if($this->disableFrontendHelper->getConfigValue()){//redirect to Admin
57+
$controller = $observer->getControllerAction();
58+
$this->redirect->redirect($controller->getResponse(),$this->helperBackend->getHomePageUrl());
59+
}
4860
}
4961
}

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"php": "~5.5.0|~5.6.0|~7.0.0"
1313
},
1414
"type": "magento2-module",
15-
"version": "1.0.3",
15+
"version": "1.1.0",
1616
"license": [
1717
"AGPL-3.0"
1818
],

etc/adminhtml/system.xml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0"?>
2+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
3+
<system>
4+
<section id="admin">
5+
<group id="disable_frontend" translate="label" type="text" sortOrder="9999" showInDefault="1" showInWebsite="0" showInStore="0">
6+
<label>Disable Frontend</label>
7+
<field id="show_as_frontend" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
8+
<label>Show frontend as</label>
9+
<source_model>Abelbm\DisableFrontend\Model\Config\Source\Custom</source_model>
10+
</field>
11+
</group>
12+
</section>
13+
</system>
14+
</config>

etc/module.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
3-
<module name="Abelbm_DisableFrontend" setup_version="1.0.3">
3+
<module name="Abelbm_DisableFrontend" setup_version="1.1.0">
44
<sequence>
55
<module name="Magento_Store"/>
66
</sequence>

0 commit comments

Comments
 (0)