本文介绍了如何在Magento 2中检查当前页面URL是否为主页URL。
以下是我的自定义模块(Chapagain_HelloWorld)的块类。我已经将Logo块类的对象注入到模块的块类的构造函数中。
app / code / Chapagain / HelloWorld / Block / HelloWorld.php
<?php
namespace Chapagain\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{
protected $_logo;
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Theme\Block\Html\Header\Logo $logo,
array $data = []
)
{
$this->_logo = $logo;
parent::__construct($context, $data);
}
/**
* Check if current url is url for home page
*
* @return bool
*/
public function isHomePage()
{
return $this->_logo->isHomePage();
}
}
?>
请参阅vendor / magento / module-theme / Block / Html / Header / Logo.php中的更多功能。
现在,我们可以在模板(.phtml)文件中使用can函数。
if ($block->isHomePage()) {
// do something
}
您可以在网站的index.php文件底部编写以下代码,并在首页或其他任何页面中都可以在页面底部看到输出:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$helloWorldBlock = $objectManager->get('Chapagain\HelloWorld\Block\HelloWorld');
var_dump($helloWorldBlock->isHomePage());
希望这可以帮助。谢谢。