PHP代码是什么意思? Magento的

时间:2015-07-20 08:03:27

标签: php xml magento

我有一个Magento主题的网站,我发现这段代码是PHP。

<div class="product-options sss" id="product-options-wrapper">
    <?php echo $this->getChildHtml('', true, true);?>                    
    <?php if ($this->hasRequiredOptions()):?>
        <p class="required"><?php echo $this->__('* Required Fields') ?></p>
    <?php endif;?>
</div>

此代码中的this是谁?我的div?

getChildHtml('', true, true);

根据我在互联网上发现的内容,我意识到''意味着所有的孩子都是div(他的div?)

我不明白在帮助他们时使用了什么参数boolean true true ...

我在互联网上找到它getChildHtml方法从XML文件中获取内容。我在哪里可以找到这个文件?

你能用一个简单的示例代码解释一下吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

上面代码中的

$ this 是指当前的类(对象)。

'getChildHtml'方法根据参数中提供的块名称或别名呈现子块。

<?php echo $this->getChildHtml('',true,true) ?>
  • 第一个参数是子块的名称或别名。如果提供,它将返回该子块的输出。如果未提供此参数或将其作为空字符串传递,则它将呈现布局中指定的所有子块。
  • 第二个参数$ useCache是​​一个布尔值,默认为true。如果为true,则在管理面板中的“缓存”设置下启用块缓存时,将缓存该块。如果为false,即使启用了块缓存,也不会缓存该块。
  • 第三个参数$ sorted也是一个默认的布尔值 假。如果为true,则根据块渲染子块 由属性之前和之后定义的排序顺序。

示例:

<?php echo $this->getChildHtml('content') ?>

上面的示例在 app / design / frontend / base / default / layout / page.xml

中添加到Magento布局XML中

这就是我们在XML文件中创建块的方法:

<block type="core/text_list" name="content" as="content" translate="label">
    <label>Main Content Area</label>
</block>

答案 1 :(得分:1)

周围的HTML代码是客户端。你的内部PHP代码是服务器端的。 $this引用当前正在执行的类函数,在本例中为Magento模板控制器。

您可以在此处查看使用Magento模板进行开发的示例:http://code.tutsplus.com/articles/magento-theme-development-template-files--cms-21040