如何设置单元布局属性?

How to set the unit layout attributes?

我正在为 magento 1.9 编写一个模块。帮忙设置属性为 app/design/frontend/rwd/default/layout/kalinin_form.xml:

<?xml version="1.0" ?>
<layout>
    <kalininform_index_index>
        <reference name="content">
            <block type="kalininform/form" template="Kalinin_Form/index.phtml" />
        </reference>
    </kalininform_index_index>
</layout>

我现在将 type 属性设置为 false。

问题是浏览器显示内容区域为 localhost/magento3/index 的空白页面。php/form

这是模块的其余代码。

app/design/frontend/rwd/default/template/Kalinin_Form/index.phtml:

<?php
echo('qqqqqqqqqqqqq');

app/code/local/Kalinin/Form/controllers/IndexController.php:

<?php
class Kalinin_Form_IndexController extends Mage_Core_Controller_Front_Action
{

    public function indexAction()
    {                     
        $this->loadLayout();
        $this->renderLayout();
    }

}

app/code/local/Kalinin/Form/Block/Form.php:

<?php
class Kalinin_Form_Block_Form extends Mage_Core_Block_Template
{

    public function getNewsCollection()
    {
        Mage::log("Your Log Message");    
        return true;
    }

}

app/code/local/Kalinin/Form/etc/config.xml:

<?xml version="1.0" ?>
<config>
    <modules>
        <Kalinin_Form>
            <version>0.0.1</version>
        </Kalinin_Form>
    </modules>
    <frontend>    
        <layout>
            <updates>
                <kalininform>
                    <file>kalinin_form.xml</file>
                </kalininform>
            </updates>
        </layout>           
        <routers>
            <kalininform>
                <use>standard</use>
                <args>
                    <module>Kalinin_Form</module>
                    <frontName>form</frontName>
                </args>
            </kalininform>
        </routers>
    </frontend>    
    <global>        
        <blocks>
            <Kalinin_Form>
                <class>Kalinin_Form_Block</class>
            </Kalinin_Form>
        </blocks>      
    </global>    
</config>

总的来说,我对 app/design/frontend/rwd/default/layout/kalinin_form 中的属性理解有问题。xml

官方文档不存在。如果你解释一下是什么,我将不胜感激。

在你的app/design/frontend/rwd/default/layout/kalinin_form.xml文件中,你的块属性类型值是错误的。应该是 kalinin_form/form.

<?xml version="1.0" ?>
<layout>
    <kalininform_index_index>
        <reference name="content">
            <block type="kalinin_form/form" template="Kalinin_Form/index.phtml" />
        </reference>
    </kalininform_index_index>
</layout>

类型属性的值应与 config.xml 中给出的 blockgroup_name 匹配。

请看,您的区块组名称是Kalinin_Form

<global>        
        <blocks>
            <Kalinin_Form>
                <class>Kalinin_Form_Block</class>
            </Kalinin_Form>
        </blocks>      
</global>