উত্তর:
এই মত চেষ্টা করুন।
প্রাক্তন হিসাবে আপনার ব্লক ক্লাস হয়
<?php
namespace Company\Helloworld\Block;
use Magento\Framework\View\Element\Template;
class Main extends Template
{
public function getMyCustomMethod()
{
return '<b>I Am From MyCustomMethod</b>';
}
}
তারপরে যে কোনও পিএইচটিএমএল ফাইলে আপনি এই ব্লকটির পদ্ধতি পেতে নিম্নলিখিত কোডগুলি ব্যবহার করতে পারেন।
<?php
$blockObj= $block->getLayout()->createBlock('Company\Helloworld\Block\Main');
echo $blockObj->getMyCustomMethod();
?>
আশা করি এটি আপনাকে সহায়তা করবে।
যদি টেম্পলেটটি ব্লকের সাথে সংযুক্ত থাকে তবে উদাহরণস্বরূপ:
<block class="Vendor\Module\Block\Name" name="name" template="Vendor_Module::name.phtml"/>
এবং আপনার একটি সার্বজনীন পদ্ধতিতে myMethod()
সংজ্ঞায়িত রয়েছে যা Vendor\Module\Block\Name
আপনি নিম্নলিখিতগুলিতে কল করতে পারেন name.phtml
:
$block->myMethod();
$block->myMethod();
বা $this->myMethod();
?
$this->myMethod()
জন্য, এটি ম্যাজেন্টো 2 এর জন্য$block->myMethod()
আপনার ব্লক ফাইলটিকে আপনার মডিউল / ব্লক / আপনার_ব্লক_ফিল.পিএপিপি এর মূল ডিরেক্টরিতে রাখুন ফোল্ডার এবং ফাইলের জন্য ব্যবহারকারীর প্রথম মূল অক্ষরে অক্ষর)।
অ্যাপ্লিকেশান / কোড / তোমার / মডিউল / ব্লক / Your_block_file.php
<?php
namespace Your\Module\Block;
class Your_block_file extends \Magento\Framework\View\Element\Template
{
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Registry $registry
* @param \Magento\Framework\Data\FormFactory $formFactory
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Data\FormFactory $formFactory,
array $data = []
)
{
parent::__construct($context, $data);
}
/**
* Get form action URL for POST booking request
*
* @return string
*/
public function getFormAction()
{
die('Hello World');
}
}
তারপরে আপনার ব্লক ফাইলটি টেমপ্লেটের সাথে / সীমান্ত / বিন্যাস / আপনার_ফাইল.এক্সএমএল ফাইলের সাথে সংযুক্ত করুন যা আপনি ব্লক ফাইলটি সংজ্ঞায়িত করেছেন
অ্যাপ্লিকেশন / কোড / আপনার / মডিউল / ভিউ / ফ্রন্টএন্ড / লেআউট / আপনার_ফিল.এক্সএমএল (আপনি जर রুটস.এক্সএমএল ব্যবহার করছেন তবে নিশ্চিত হয়ে নিন যে আপনার ফাইলের নাম অবশ্যই প্রাক্তন নামের মতো থাকতে হবে_আপনার নাম_কন্ট্রোলারফোল্ডার_ফিলইউডারকন্ট্রোলারফোল্ডার.এক্সএমএল)
<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<title>{Page Title</title>
</head>
<body>
<referenceContainer name="content">
<block class="Your/Module/Block/Your_block_file" name="gridpage.form" template="Your_Module:: your_template.phtml"/>
</referenceContainer>
</body>
</page>
তারপরে অ্যাপ্লিকেশন / কোড / আপনার / মডিউল / ভিউ / ফ্রন্টএন্ড / টেম্পলেট / আপনার_টেম্পলেট.ফটিএমএলে আপনার টেম্পলেট ফাইলটি সংজ্ঞায়িত করুন
<?= $block->getFormAction(); ?>
এটি কীভাবে আপনি টেমপ্লেট ফাইলে ব্লক ফাংশনগুলিতে কল করতে পারেন