From 0a4fe2d80feadc91b8296bc610ca400d07b75a51 Mon Sep 17 00:00:00 2001 From: "@ChristelLoftus" <christel@bob.co.za> Date: Fri, 30 Aug 2024 15:00:54 +0200 Subject: [PATCH] start implementation --- Block/TrackOrder.php | 18 ++++++++++ Controller/Test/Index.php | 20 +++++++++++ Controller/TrackOrder/Index.php | 33 +++++++++++++++++++ etc/adminhtml/system.xml | 6 ++++ etc/frontend/routes.xml | 7 ++++ .../layout/bobgo_trackorder_index.xml | 14 ++++++++ view/frontend/layout/customer_account.xml | 20 +++++++++++ .../frontend/templates/TrackOrder/index.phtml | 5 +++ 8 files changed, 123 insertions(+) create mode 100644 Block/TrackOrder.php create mode 100644 Controller/Test/Index.php create mode 100644 Controller/TrackOrder/Index.php create mode 100644 etc/frontend/routes.xml create mode 100644 view/frontend/layout/bobgo_trackorder_index.xml create mode 100644 view/frontend/layout/customer_account.xml create mode 100644 view/frontend/templates/TrackOrder/index.phtml diff --git a/Block/TrackOrder.php b/Block/TrackOrder.php new file mode 100644 index 0000000..49983f6 --- /dev/null +++ b/Block/TrackOrder.php @@ -0,0 +1,18 @@ +<?php +namespace BobGroup\BobGo\Block; +class TrackOrder extends \Magento\Framework\View\Element\Template +{ + public function __construct( + \Magento\Backend\Block\Template\Context $context, + array $data = [] + ) + { + parent::__construct($context, $data); + } + + public function getHelloWorld() + { + return 'Hello World'; + } + +} diff --git a/Controller/Test/Index.php b/Controller/Test/Index.php new file mode 100644 index 0000000..115b950 --- /dev/null +++ b/Controller/Test/Index.php @@ -0,0 +1,20 @@ +<?php + +namespace BobGroup\BobGo\Controller\Test; + +use Magento\Framework\App\Action\Action; +use Magento\Framework\App\Action\Context; + +class Index extends Action +{ + public function __construct(Context $context) + { + parent::__construct($context); + } + + public function execute() + { + echo "Test controller works!"; + exit; + } +} diff --git a/Controller/TrackOrder/Index.php b/Controller/TrackOrder/Index.php new file mode 100644 index 0000000..0810484 --- /dev/null +++ b/Controller/TrackOrder/Index.php @@ -0,0 +1,33 @@ +<?php + +namespace BobGroup\BobGo\Controller\TrackOrder; + +class Index extends \Magento\Framework\App\Action\Action +{ + /** + * @var \Magento\Framework\View\Result\PageFactory + */ + protected $resultPageFactory; + + /** + * @param \Magento\Framework\App\Action\Context $context + * @param \Magento\Framework\View\Result\PageFactory resultPageFactory + */ + public function __construct( + \Magento\Framework\App\Action\Context $context, + \Magento\Framework\View\Result\PageFactory $resultPageFactory + ) + { + $this->resultPageFactory = $resultPageFactory; + parent::__construct($context); + } + /** + * Default customer account page + * + * @return void + */ + public function execute() + { + return $this->resultPageFactory->create(); + } +} diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml index 410c2c2..263bc8b 100644 --- a/etc/adminhtml/system.xml +++ b/etc/adminhtml/system.xml @@ -28,7 +28,13 @@ <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> <comment>Displays the delivery timeframe and additional service level description, as configured on Bob Go.</comment> </field> + <field id="enable_track_order" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1"> + <label>Enable Track My Order</label> + <comment>When this setting is enabled, your customers will be presented with a page to track orders.</comment> + <source_model>Magento\Config\Model\Config\Source\Yesno</source_model> + </field> </group> </section> + </system> </config> diff --git a/etc/frontend/routes.xml b/etc/frontend/routes.xml new file mode 100644 index 0000000..e0d84f8 --- /dev/null +++ b/etc/frontend/routes.xml @@ -0,0 +1,7 @@ +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> + <router id="standard"> + <route id="trackorder" frontName="trackorder"> + <module name="BobGroup_BobGo" /> + </route> + </router> +</config> diff --git a/view/frontend/layout/bobgo_trackorder_index.xml b/view/frontend/layout/bobgo_trackorder_index.xml new file mode 100644 index 0000000..91e4a80 --- /dev/null +++ b/view/frontend/layout/bobgo_trackorder_index.xml @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> +<update handle="customer_account"/> +<head> + <title> + Your First Link + </title> +</head> +<body> + <referenceContainer name="content"> + <block class="BobGroup\BobGo\Block\TrackOrder" name="bobgo.trackorder.index" template="BobGroup_BobGo::trackorder/index.phtml" cacheable="false" /> + </referenceContainer> +</body> +</page> diff --git a/view/frontend/layout/customer_account.xml b/view/frontend/layout/customer_account.xml new file mode 100644 index 0000000..50bb287 --- /dev/null +++ b/view/frontend/layout/customer_account.xml @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> + <body> + <referenceBlock name="customer_account_navigation"> + <!-- Add menu to the end of the sidebar --> + <block class="Magento\Framework\View\Element\Html\Link\Current" name="customer-account-navigation-your-first-link"> + <arguments> + <argument name="path" xsi:type="string">BobGo/TrackOrder/index</argument> + <argument name="label" xsi:type="string">Your First Link</argument> + </arguments> + </block> + <block class="Magento\Framework\View\Element\Html\Link\Current" name="customer-account-navigation-your-second-link"> + <arguments> + <argument name="path" xsi:type="string">BobGo/TrackOrder/index</argument> + <argument name="label" xsi:type="string">Your Second Link</argument> + </arguments> + </block> + </referenceBlock> + </body> +</page> diff --git a/view/frontend/templates/TrackOrder/index.phtml b/view/frontend/templates/TrackOrder/index.phtml new file mode 100644 index 0000000..8c81e6b --- /dev/null +++ b/view/frontend/templates/TrackOrder/index.phtml @@ -0,0 +1,5 @@ +<h2> + <?php echo $block->getHelloWorld(); ?> +</h2> + +echo 'My First Link Page'; -- GitLab