Magento ::: 在 header.html 中使用 getBodyClass()
我在弄清楚如何从其范围之外访问方法时遇到困难。
就我而言 ::::
<body<?php echo $this->getBodyClass()?' class="'.Mage::app()->getStore()->getCode().' '.$this->getBodyClass().'"':'' ?>>
这是 2columns-left.phtml 中的代码
我想在 header.html 中使用 getBodyClass 方法,如下所示 ::::
<div class="header <?php echo $this->getBodyClass()?' '.$this->getBodyClass().'':'' ?>">
但因为 getBodyClass() 是一种方法Mage_Page_Block_Html,它不适用于 Mage_Page_Block_Html_Header 中的 $this。
谁能帮我调整这段代码
<div class="header <?php echo $this->getBodyClass()?' '.$this->getBodyClass().'':'' ?>">
以在 header.html 中使用?或者指出我正确的方向?
I am having trouble with working out how to access a method from outside its scope.
In my case ::::
<body<?php echo $this->getBodyClass()?' class="'.Mage::app()->getStore()->getCode().' '.$this->getBodyClass().'"':'' ?>>
That is code from 2columns-left.phtml
I want to use the getBodyClass method in header.html, like so ::::
<div class="header <?php echo $this->getBodyClass()?' '.$this->getBodyClass().'':'' ?>">
But because getBodyClass() is a method of Mage_Page_Block_Html, it doesn’t work with $this in Mage_Page_Block_Html_Header.
Can anyone help me with adjusting this code
<div class="header <?php echo $this->getBodyClass()?' '.$this->getBodyClass().'':'' ?>">
for use in header.html? Or point me int he right direction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当
page/html
块被实例化时,主体类被设置在该块上。从另一个块中获取它的唯一方法是实例化另一个
page/html。
或者获取对现有
page/html
的引用堵塞。The body class is set on a
page/html
block when that block is instantiated.The only way you can grab it from another block is to instantiate another
page/html.
Or to get a reference to an existing
page/html
block.使用 CSS 规则
您可以避免这种混乱,并在样式表中使用 body 元素上的类进行声明,例如:
创建 page/html 块
I建议使用上面的 CSS 规则。但是,如果您确实需要访问该方法的
page/html
块,那么您可以创建该块的实例并直接访问它:Use a CSS rule
You could avoid this kerfuffle and us declarations in your stylesheet that make use of the class that's on the body element, e.g:
Create the page/html block
I'd suggest using the CSS rule above. But if you really need access to the
page/html
block for that method, then you could create an instance of the block and access it directly with: