调用Magento表单块,但在phtml中无法访问函数

时间:2016-02-17 13:15:06

标签: magento

我有一个块

app/code/local/Company/Club/Block/Adminhtml/Edit/Form.php
class Company_Club_Block_Adminhtml_Edit_Form extends Mage_Adminhtml_Block_Widget_Form {

    public function getSubmitUrl()
    {
        die; //this is never reached
        return $this->getUrl('company_club/Customer/Save');
    }
}

我在我的控制器中调用它:

public function AddAction()
{
    $this->loadLayout();
    $this->_addContent($this->getLayout()->createBlock('company_club/adminhtml_edit_form'));
    $this->renderLayout();
}

它指的是布局

<company_club_customer_add>
    <update handle="main_club_update"/>
    <reference name="root">
        <block type="company_club/adminhtml_edit_form" name="addClubCustomer"/>
        <action method="setTemplate">
            <template>Club/Customer/Add.phtml</template>
        </action>
    </reference>
</company_club_customer_add>

显示phtml并调用

<form action="<?php echo $this->getSubmitUrl(); ?>" method="POST" name="formCustomer" id="formCustomer">

当我在getSubmitUrl()中死掉我的代码时,它不会死,所以没有调用,但是当我死在我的表单类的空白构造函数中时,它正在死亡,因此表单很好地实现了。 我错过了将这个函数从phtml调用到表单类?

1 个答案:

答案 0 :(得分:0)

我做了一个丑陋的修复,但是我无法通过这个来检测控制器的修改:

$form = new Company_Club_Block_Adminhtml_Edit_Form();
<?php echo $form->getSubmitUrl(); ?>