ধরে নিচ্ছি আপনার নিম্নলিখিত মডিউল রয়েছে Company/Module
।
ফ্রন্টএন্ড রাউটার তৈরি করুন
/ অ্যাপ / কোড / সংস্থা / মডিউল / ইত্যাদি / সম্মুখভাগ / রুট.এক্সএমএল
পরিচালনার জন্য একটি রুট তৈরি করুন:
- এইচটিএমএল ফর্ম টেম্পলেট প্রদর্শন করতে যাচ্ছি অনুরোধ পান
- এক্সন কন্ট্রোলার ক্লাসে ফর্ম ডেটা প্রেরণ করতে যাচ্ছেন অনুরোধ করুন।
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="companymodule" frontName="companymodule">
<module name="Company_Module"/>
</route>
</router>
</config>
লেআউটটি তৈরি করুন
/ অ্যাপ / কোড / সংস্থা / মডিউল / ভিউ / সম্মুখভাগ / লেআউট / মডিউল_ইন্ডেক্স_বুকিং.এক্সএমএল
ফর্ম পৃষ্ঠা পিটিএইচটিএমএল টেমপ্লেটে ব্লকটি সংযুক্ত করার জন্য একটি প্রাথমিক বিন্যাস তৈরি করুন
<?xml version="1.0"?>
<page layout="2columns-left" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<title>HTML title - The booking form page</title>
</head>
<body>
<referenceBlock name="navigation.sections" remove="true" />
<referenceContainer name="content">
<block class="Company\Module\Block\Booking" name="companymodule.booking" template="Company_Module::booking.phtml"/>
</referenceContainer>
</body>
</page>
ব্লক তৈরি করুন
/ অ্যাপ / কোড / সংস্থা / মডিউল / ব্লক / বুকিং.এফপি
আপনি আপনার ফর্মের জন্য চান এমন অনেকগুলি ক্রিয়াকলাপ সহ একটি ব্লক তৈরি করুন।
<?php
namespace Company\Module\Block;
class Booking extends \Magento\Framework\View\Element\Template
{
/**
* Construct
*
* @param \Magento\Framework\View\Element\Template\Context $context
* @param array $data
*/
public function __construct(
\Magento\Framework\View\Element\Template $context,
array $data = []
)
{
parent::__construct($context, $data);
}
/**
* Get form action URL for POST booking request
*
* @return string
*/
public function getFormAction()
{
// companymodule is given in routes.xml
// controller_name is folder name inside controller folder
// action is php file name inside above controller_name folder
return '/companymodule/controller_name/action';
// here controller_name is index, action is booking
}
}
টেমপ্লেট তৈরি করুন
/ অ্যাপ / কোড / সংস্থা / মডিউল / ভিউ / সম্মুখভাগ / টেমপ্লেট / বুকিং.এফটিএমএল
আপনার এইচটিএমএল ফর্মের সাথে একটি টেম্পলেট তৈরি করুন এবং রাউটিংয়ের সাথে সম্পর্কিত ফর্ম ক্রিয়া যুক্ত করুন।
<h1>Booking page</h1>
<form action="<?php echo $block->getFormAction() ?>" method="post">
<input name="firstname" type="text">
<input name="lastname" type="text">
<input name="phone" type="text">
<input name="bookingTime" type="date">
<input type="submit" value="Send booking informations">
</form>
অ্যাকশন কন্ট্রোলার তৈরি করুন
/ অ্যাপ / কোড / সংস্থা / মডিউল / নিয়ন্ত্রক / সূচক / বুকিং.এফপি
রুটে অনুরোধগুলি পরিচালনা করতে একটি অ্যাকশন কন্ট্রোলার তৈরি করুন।
<?php
namespace Company\Module\Controller\Index;
use Magento\Framework\Controller\ResultFactory;
class Booking extends \Magento\Framework\App\Action\Action
{
/**
* Booking action
*
* @return void
*/
public function execute()
{
// 1. POST request : Get booking data
$post = (array) $this->getRequest()->getPost();
if (!empty($post)) {
// Retrieve your form data
$firstname = $post['firstname'];
$lastname = $post['lastname'];
$phone = $post['phone'];
$bookingTime = $post['bookingTime'];
// Doing-something with...
// Display the succes form validation message
$this->messageManager->addSuccessMessage('Booking done !');
// Redirect to your form page (or anywhere you want...)
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
$resultRedirect->setUrl('/companymodule/index/booking');
return $resultRedirect;
}
// 2. GET request : Render the booking page
$this->_view->loadLayout();
$this->_view->renderLayout();
}
}
পুনরায় শুরু করার সময় আপনার কাছে নিম্নলিখিত স্থাপত্য থাকবে:
অ্যাপ্লিকেশন
কোড
| । সংস্থা
| | ├ মডিউল
| | | ├ ব্লক
| | | | Ing Booking.php
| | | ├ নিয়ামক
| | | | । সূচক
| | | | | Ing Booking.php
| | | । ইত্যাদি
| | | | On সম্মুখভাগ
| | | | | ├ways.xML
| | | দর্শন
| | | | On সম্মুখভাগ
| | | | | ├ বিন্যাস
| | | | | | ├ মডিউল_ইন্ডেক্স_বুকিং.এক্সএমএল
| | | | | ├ টেমপ্লেট
| | | | | | ├ book.phtml
তারপরে নিম্নলিখিত কমান্ডগুলি চালান:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
তারপরে আপনি আপনার কাস্টম ফর্ম পৃষ্ঠাটিতে অ্যাক্সেস করতে পারবেন: http: // লোকালহস্ট / কোম্পানী মডুল / সূচক / বুকিং
শুভ কোডিং!