- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的布局文件中有这样一个自定义 block :
<block type="xxx/xxx" name="xxx" template = "bar.phtml">
<label>Foo</label>
</block>
如何从 bar.phtml 获取标签的值?
请注意,我不想使用 setData 函数来设置我的变量并传递它。我想从 phtml(或其他任何地方)中提取标签内的值。我希望它清楚。
最佳答案
我不认为有一种真正经典的 Magento 方法可以做到这一点,因为就我们所说的前端而言,不会显示 block 用途的标签。
label: This element is introduced since Magento 1.4. It defines the label of the handle which is shown as a descriptive reference in some areas of the admin panel.
我真诚地建议您远离下面的代码。但如果这真的是你想要实现的,这是一种方式:
首先,我们得到布局 = 该页面的布局的大型 xml 串联,其中包含定义 block 的 xml,因此我们的标签
$layout = $this->getLayout();
然后我们得到当前布局中的 block 名
$currentBlockNameInLayout = $this->getNameInLayout();
我们可以,然后获取表示模板中当前 block 的 XML 节点。 getXpath()
确实返回一个数组,所以这就是为什么我使用 list()
从这个数组中获取第一个项目
list($currentBlockInLayout) = $layout->getXpath("//block[@name='".$currentBlockNameInLayout."']");
我们有我们想要的并且可以回显它的标签元素
echo $currentBlockInLayout->label;
不过请注意,这是一个类型为 Mage_Core_Model_Layout_Element
的对象,所以如果您想做任何除了显示它以外的事情,您必须使用 __toString()
方法
var_dump( $currentBlockInLayout->label->__toString() );
完整代码:
$layout = $this->getLayout();
$currentBlockNameInLayout = $this->getNameInLayout();
list($currentBlockInLayout) = $layout->getXpath("//block[@name='".$currentBlockNameInLayout."']");
echo $currentBlockInLayout->label;
var_dump( $currentBlockInLayout->label->__toString() );
关于magento - 如何从 Magento 中的 phtml 中获取 xml 中的 block 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30081983/
我正在尝试弄清楚如何创建自定义 phtml 文件以包含在 view.phtml 中(并最终从任何默认的 Magento phtml 文件中调用)。 我创建了一个单独的 phtml 文件,其中包含我想要
我正在使用 zend framework 1。 我需要将 phtml 文件包含在另一个文件中并将参数发送到第一个文件。 例如: 我有indexController.php 我在 Controller
我正在使用 Magento。 我想显示和调用一个 phtml 文件作为另一个 phtml 文件中的链接... 我在主页上有 new.phtml 文件。在那上面我放了一个链接 CHECK ALL 显示所
我想知道 .phtml 和 .php 文件之间的区别是什么,以及何时使用一个而不是另一个。 最佳答案 就页面渲染而言,通常没有区别。但是,当您的 Web 项目变得更大时,这将是一个巨大的设施开发方。
为了获得 google 丰富网页摘要,我必须为每条评论和评论摘要提供产品名称。我在产品 view.phtml 模板中加载了 review/product/view/list.phtm 和 review
我想在主页的内容区域制作一个时事通讯订阅框,为此我制作了一个 CMS 页面,我在时事通讯订阅文件中放置的其他代码也可以调用该页面。 我试着这样调用它: getLayout()->createBlock
我正在创建一个 magento 2 主题。我只想知道如何在 xml 布局、静态 block 、cms 页面 或另一个 .phtml 中添加 .phtml 文件 文件。谢谢。 最佳答案 用于改进文档/答
我想创建一个带有简单 .phtml 模板的模块,该模板必须包含在页面“cart.phtml”和“noItems.phtml”中 怎么才能做到这一点? 非常感谢。 最佳答案 您可以创建一个简单的模块,如
我正在尝试过滤 list.phtml 以满足我的需求,该需求仅根据属性值显示产品。加载产品集合的原始代码是: $_productCollection=$this->getLoadedProductCo
有没有办法获取特定 phtml 文件使用的布局? 在我的例子中,我想检查catalog/list.phtml上使用的布局,我使用该信息对产品图像网格大小进行条件“if”。 我试着用谷歌搜索一下。但所有
如何在测试页面使用 test.phtml 我使用了以下代码,但它不起作用 {{block type='core/template' name='Test' template='goodtest/tes
我需要在 .phtml 文件中添加文本内容,以便将其翻译成多语言网站。 文件位置在这里:app > design > frontend > default > (my-theme) > templat
我是 magento 新手,我想添加一个可以使用 CMS 处理的横幅,这样我就不需要直接编辑 HTML。 实际上我正在使用静态 block ,因此我可以对其进行编辑并显示在页面内。我在网上阅读了一些使
我在 netbeans IDE 中将我的 View 文件保存为 .phtml。文件中包含 php 脚本和 HTML5。 通过 WAMP,当我尝试打开时,只显示编码.. 有人能帮忙吗?? 提前致谢...
我使用以下 CSS 类为按钮点击事件创建了一个弹出框。 .overlay { position: fixed; top: 0; bottom: 0; left: 0; right
我必须使用 zend 框架向一个相当大的应用程序添加一个功能。 我有一个观点。在那个 View 中,我有一个 if 并且想在同一位置包含另一个 .phtml。 所以,此刻我得到了类似的东西 if (x
我试图将主页上某个类别的产品数量限制为 4 个。 我尝试使用的代码是: {{block type="catalog/product_list" column_count="4" category_id
如果客人在类别列表页面或产品页面上,我正在尝试在我的 .phtml 文件中编写一个 if 语句。 例如这段代码: getFrontController()->getRequest()->getRout
我正在寻找一种替代方法 template/catalog/product/price.phml在一个特定位置使用,并继续在所有其他位置使用现有的 price.phtml 文件。 为了进一步解释,我需要
对于已加载的产品,如何将图片库抓取到 Magento 的类别页面中? this->getImageGallery($_product) ,不会用。。 最佳答案 $product = Mage::get
我是一名优秀的程序员,十分优秀!