Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Magento';s管理命令网格_Magento_E Commerce - Fatal编程技术网

如何在Magento';s管理命令网格

如何在Magento';s管理命令网格,magento,e-commerce,Magento,E Commerce,我想要一个额外的列在订单(s)为管理网格。假设其客户组Id 我的应用程序/etc/modules/MyProject\u Adminhtml看起来像: <?xml version="1.0"?> <config> <modules> <MyProject_Adminhtml> <active>true</active> <codePool>

我想要一个额外的列在订单(s)为管理网格。假设其客户组Id

我的应用程序/etc/modules/MyProject\u Adminhtml看起来像:

<?xml version="1.0"?>

<config>
    <modules>
        <MyProject_Adminhtml>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Sales />
            </depends>
        </MyProject_Adminhtml>
    </modules>
</config>
<?xml version="1.0"?>
<config>
    <modules>
        <MyProject_Adminhtml>
            <version>1.0.0</version>
        </MyProject_Adminhtml>    
    </modules>

    <global>
          <blocks>
            <adminhtml>
                <rewrite>
                    <sales_order_grid>MyProject_Adminhtml_Block_Sales_Order_Grid</sales_order_grid>
                </rewrite>
            </adminhtml>
        </blocks>

      </global>

  </config>
是否有什么东西我遗漏了,因为我没有看到任何有序的网格。我正在使用Magento 1.4.1.1

在安达B的评论中,我写了以下几行:

var_dump($this->getLayout()->createBlock('MyProject_Adminhtml_Block_Sales_Order_Grid'));
在app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php中

然后,我选择了“创建新订单”并取消订单以查看var_dump的执行结果,我看到了以下内容:

/var/www/magento/var/report/72990635: line 10: syntax error near unexpected token `}' /var/www/magento/var/report/72990635: line 10: `#9 {main}";s:3:"url";s:80:"/index.php/admin/sales_order_create/cancel/key/0624033594dd63d9e145fc538f4c6bbb/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}'

在modules/etc中,您有Atzen_Adminhtml,但您的项目是MyProject_Adminhtml。
除了这个问题,代码应该可以工作:即使您在sales表中没有customer\u group\u id,新列也应该出现在网格中。

在modules/etc中,您有Atzen\u Adminhtml,但您的项目是MyProject\u Adminhtml。 除了这个问题,代码应该可以工作:即使您在sales表中没有customer\u group\u id,新列也应该出现在网格中。

您就快到了

您需要为GroupID创建一个渲染器,因为核心中不存在渲染器

首先,将渲染器添加到addColumn,如下所示:

$this->addColumn('customer_group_id', array(
        'header' => Mage::helper('sales')->__('Customer Group Id'),
        'index' => 'customer_group_id',
        'type'  => 'text',
        'renderer' => 'adminhtml/widget_grid_column_renderer_customergroup',
    ));
现在需要创建目录/app/code/local/MyProject/Adminhtml/Widget/Grid/Column/Renderer/,因为它可能不存在

现在创建一个Customergroup.php文件,其中包含以下类:

class MyProject_Adminhtml_Block_Widget_Grid_Column_Renderer_Customergroup extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{

最后,您需要将其添加到MyProject中的config.xml中

<widget_grid_column_renderer_customergroup>Myproject_Adminhtml_Block_Widget_Grid_Column_Renderer_Customergroup</widget_grid_column_renderer_customergroup>
Myproject\u Adminhtml\u Block\u Widget\u Grid\u Column\u Renderer\u Customergroup
就在你另一次重写的旁边

刷新缓存后,销售订单网格中应该有组标签

附言

如果要将筛选器添加到sales order网格的顶部以使用此列,请将其添加到渲染器后面的“addColumn”中。(订单实际上并不重要)

“选项”=>TheReadyStore\u Adminhtml\u Block\u Widget\u Grid\u Column\u Renderer\u Customergroup::getCustomerGroupsArray(),

并将类型从“文本”更改为“选项”

干杯 罗伊

你就快到了

您需要为GroupID创建一个渲染器,因为核心中不存在渲染器

首先,将渲染器添加到addColumn,如下所示:

$this->addColumn('customer_group_id', array(
        'header' => Mage::helper('sales')->__('Customer Group Id'),
        'index' => 'customer_group_id',
        'type'  => 'text',
        'renderer' => 'adminhtml/widget_grid_column_renderer_customergroup',
    ));
现在需要创建目录/app/code/local/MyProject/Adminhtml/Widget/Grid/Column/Renderer/,因为它可能不存在

现在创建一个Customergroup.php文件,其中包含以下类:

class MyProject_Adminhtml_Block_Widget_Grid_Column_Renderer_Customergroup extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{

最后,您需要将其添加到MyProject中的config.xml中

<widget_grid_column_renderer_customergroup>Myproject_Adminhtml_Block_Widget_Grid_Column_Renderer_Customergroup</widget_grid_column_renderer_customergroup>
Myproject\u Adminhtml\u Block\u Widget\u Grid\u Column\u Renderer\u Customergroup
就在你另一次重写的旁边

刷新缓存后,销售订单网格中应该有组标签

附言

如果要将筛选器添加到sales order网格的顶部以使用此列,请将其添加到渲染器后面的“addColumn”中。(订单实际上并不重要)

“选项”=>TheReadyStore\u Adminhtml\u Block\u Widget\u Grid\u Column\u Renderer\u Customergroup::getCustomerGroupsArray(),

并将类型从“文本”更改为“选项”

干杯
Roy

该字段是否存在于order对象上,或者您是否需要添加它?我之前没有查找该字段,而现在当我查看app/code/core/Mage/Sales/Model/order.php时,我找不到它。但是我的感觉是,如果DB表Sales\u flat\u order中存在一个字段,它会出现在这里。它确实存在于那里。该字段是否存在order对象上的xist,或者您需要添加它吗?我之前没有查找它,现在当我查看app/code/core/Mage/Sales/Model/order.php时,我找不到它。但是我的感觉是,如果DB表Sales\u flat\u order中存在一个字段,它会出现在这里。它确实存在于那里。实际上它是实际的文件名/namespacE.我在AtZEN的每一个地方都把它放在这样的位置上。所以,在这个问题上把它看成是一个打印错误。好的,检查Majto是否可以找到你的块:尝试添加一个控制器VARYDUMP($THE-GETLAOUT()-> CREATIOBULD(‘MyPrimeStAdMtHMLMLBIOBLASHORIZORD ORDER GRID’))我在app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php中尝试过这样做,因此,当我取消订单时,我看到了以下内容:/var/www/magento/var/report/report/72990635:line 10:意外标记附近的语法错误
,/var/www/magento/var/report/72990635:line 10:
#9{main};s:3:“url”;s:80:/index.php/admin/sales\u order\u create/cancel/key/0624033594dd63d9e145fc538f4c6bbb/“s:11:“script\u name”;s:10:“/index.php”;s:4:“skin”;s:5:“admin”}在Mage\u Adminhtml\u sales\u OrderController受保护的函数{var\u dump($this->getLayout()->createBlock('MyProject\u Adminhtml\u Block\u sales\u order\u Grid'))中添加此项;//代码的其余部分}并转到orders网格,如果结果为false,则意味着magento找不到您的模块。我在网格之前看到很多文本输出,它以:object(MyProject_Adminhtml_Block_Sales_Order_grid)#281开始,我认为这意味着magento找到了类。对象转储以:{[”_列“:protected]=>array(0){}[“\u lastColumnId”:protected]=>NULL[“\u collection”:protected]=>NULL[“\u varNameLimit”:protected]=>string(5)“limit”[“\u varNamePage”:protected]=>string(4)“sort”[“\u varNameDir”:protected]=>string(3)“dir”[“\u varnameffilter”:protected]=>string(6)事实上,它是实际的文件名/命名空间。我把AtZEN的每一个位置都放在它的位置上。所以,把它当作问题中的一个键入。好,检查Majto是否可以找到你的块:尝试添加一个控制器VARYDUMP($-> GeLayOutAuter)-> CeaRealBug(“MyPrimeStudiAdMtHMLMyBaskSalpOrdOrthOrthGrand”)我试着在app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php中这样做