xml - Magento 继承和重用模板变量

标签 xml layout templates magento

是否可以将变量从父模板传递到子模板。例如,如果我想将一些重复的 HTML 放入一个单独的模板中,该模板包含在其父模板的 foreach 循环中

<?php

foreach ($items as $item)
{
    echo $this->getChildHtml('item_info');
}

?>

我希望能够访问 item_info 模板中的 $item 变量。

谢谢

最佳答案

我已将产品列表模板拆分为一个单独的文件,以便我可以在多个地方使用它。

在父模板中,我做了如下操作:

<?PHP
$this->getChild('product_list_list')->setData('products', $_productCollection);
echo $this->getChildHtml('product_list_list'); 
?>

在子模板中我可以这样做:

<?php foreach ($this->products as $_product): ?>
  // display products
<?php endforeach; ?>

所以你应该能够做到:

$this->getChild('item_info')->setData('item', $item);

然后在 item_info 中,将其访问为

$this->item

希望这对您有用。我在 magento 1.3 上工作,但它似乎相当基础,所以可能对所有版本都是通用的。

关于xml - Magento 继承和重用模板变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1110770/

相关文章:

python - 在 python 中重构这个 dictionary-to-xml 转换器

html - 响应式 2 列布局,其中 1 个 div 的大小固定,另一个在页面的其余部分(高度和宽度)上延伸但不可滚动

android - 在 "multi layer"布局中替代 AbsoluteLayout

css - 将页面一分为二(垂直)给两个 child ,如果一个 child 不可用,另一个应该覆盖整个页面

javascript - Edge 上的 HTML <template>(版本 ≥13)

javascript - 无法使用 Walmart API 更新提要

java - 获取特定 xml 元素的 xsd 限制

xml - 尝试使用 VB.net 序列化和反序列化复杂的 xml 文件

javascript - 如何将变量传递到 JavaScript 模板中?

C++甚至更通用的运算符模板