概览
-
第一步,在 Mageplaza_HelloWorld 中声明
-
第二步,在模板 phtml 文件中声明方法
-
第三步,在 index.php 文件中输出
第一步,在 Mageplaza_HelloWorld 中声明
你会用到模块 Mageplaza_HelloWorld 的一个 block 类,然后把 Logo 类的对象插入到模块 block 类的构造函数中。
app/code/Mageplaza/HelloWorld/Block/HelloWorld.php
<?php
namespace Mageplaza\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 文件中声明方法
在你的 phtml 文件中,执行下面这个方法
if ($block->isHomePage()) {
// do something
}
第三步,在 index.php 文件中输出
在 index.php 文件中使用一下代码,你可以输出当前页面(首页或者其他页面)的结果
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$helloWorldBlock = $objectManager->get('Mageplaza\HelloWorld\Block\HelloWorld');
var_dump($helloWorldBlock->isHomePage());