2

タイトルが言うように。レイアウトXMLファイルからシングルトンメソッドを引数の値として呼び出すことはできます<action>か?

たとえば、以下のPHPコードをMagentoのレイアウトファイルでXMLとして表現できますか?

PHP

$this->addColumn('status', array(
    'header' => Mage::helper('sales')->__('Status'),
    'index' => 'status',
    'type'  => 'options',
    'width' => '70px',
    'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
));

レイアウトXML

<action method="addColumn">
    <columnId>status</columnId>
    <column translate="header">
        <header>Status</header>
        <index>status</index>
        <type>options</type>
        <width>70px</width>
        <options>What should I put here?</options>
    </column>
</action>
4

1 に答える 1

3

いいえ。レイアウトXMLアクションパラメータを使用して、テキスト、配列構造、またはヘルパーの戻り値grin)を渡すことができます。最後に、必要なことを実行するヘルパーメソッドを作成できます。

Some_Module_Helper_Class extends Mage_Core_Helper_Abstract
{
    public function getSalesOrderConfigOptions()
    {
        return Mage::getSingleton('sales/order_config')->getStatuses();
    }
}

そして、レイアウトXMLで:

<action method="addColumn">
    <columnId>status</columnId>
    <column translate="header">
        <header>Status</header>
        <index>status</index>
        <type>options</type>
        <width>70px</width>
        <!-- read as Mage::helper('some_module/class')->getSalesOrderConfig() -->
        <options helper="some_module/class/getSalesOrderConfig" />
        <!-- the return value of the method will be passed as the parameter in this position -->
    </column>
</action>

HTH

于 2012-04-13T14:58:56.513 に答える