Questions tagged «adminhtml»

有关扩展Magento管理面板和管理主题的问题

2
获取静态内容文件夹的URL(用于后端)
在用于在管理面板中呈现按钮的块类中,如何获取静态内容文件夹的URL?具体来说,带有图片的文件夹的URL是? 例如,在Company_Helloworld模块中,自定义按钮的图像位于以下位置: 应用程序/代码/公司/ Helloworld / view / adminhtml / web / images / 测试1 我尝试了这个: $url = $this->getViewFileUrl('Company_Helloworld::images/icon.png'); 但是它尝试从Magento/backend主题中检索图像: http://example.com/pub/static/adminhtml/Magento/backend/zh_CN/Company_Helloworld/images/icon.png 当图像不存在时,图像实际上在模块的文件夹中: app / code / Company / Helloworld / view / adminhtml / web / images / icon.png 测试2 和这个: $url = $this->getViewFileUrl('images/icon.png'); 但它也尝试从Magento/backend主题中检索图像,这次没有模块上下文: http://example.com/pub/static/adminhtml/Magento/backend/zh_CN/images/icon.png 有什么方法可以将图像放置在模块中而不是后端主题中?

1
Magento客户网格_prepareCollection()覆盖无效
我已经覆盖了Mage_Adminhtml_Block_Customer_Grid的_prepareCollection()方法,并添加了以下几行 ->addAttributeToSelect('cus_city') ->addAttributeToSelect('cus_country') ->addAttributeToSelect('cus_state') 至: protected function _prepareCollection() { $collection = Mage::getResourceModel('customer/customer_collection') ->addNameToSelect() ->addAttributeToSelect('email') ->addAttributeToSelect('created_at') ->addAttributeToSelect('group_id') ->addAttributeToSelect('cus_city') // added ->addAttributeToSelect('cus_country') // added ->addAttributeToSelect('cus_state') // added ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left') ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left') ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left') ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left') ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left'); …

2
如何创建自定义网格过滤器
我使用自定义数据库中的字段URL添加了自定义网格列: $this->addColumn('url', array( 'header' => Mage::helper('companymodule')->__('Has Website'), 'align' => 'left', 'index' => 'url', 'renderer' => new Company_Module_Block_Adminhtml_Module_Grid_Renderer_HasUrl(), 'type' => 'options', 'options' => Mage::getSingleton('companymodule/hasurl')->getOptionArray(), )); 并创建此自定义呈现: class Company_Module_Block_Adminhtml_Module_Grid_Renderer_HasUrl extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract { public function render(Varien_Object $row) { $value = trim((string)$row->getData($this->getColumn()->getIndex())); if (empty($value)) { return 'No'; } else { return 'Yes'; } } …
8 adminhtml  grid  model 

2
ACL角色资源默认
假设我们像这样向ACL添加了一些新资源: <acl> <resources> <admin> <children> <catalog> <children> <search> <children> <import translate="title"> <title>Import</title> </import> <export translate="title"> <title>Export</title> </export> </children> </search> </children> </catalog> </children> </admin> </resources> </acl> 然后,我们在SearchTerm网格中出现的按钮周围添加以下内容: if (Mage::getSingleton('admin/session')->isAllowed('catalog/search/import')) { $this->_addButton('import', array( 'label' => 'Import Search Terms', 'onclick' => "setLocation('".$this->getUrl('*/*/import')."')" )); } 如果我以非管理员用户身份登录,我真的会以为预期的行为是看不到按钮的,因为我没有明确为用户角色分配资源。事实证明,默认的返回值isAllowed似乎为true。更复杂的是,当您查看该角色的资源时,该复选框将不会被打勾。 我可以通过单击每个角色并单击保存来解决“问题”,但这是PITA,尤其是在现场/舞台/开发环境中。有没有简单的方法可以通过代码自动拒绝每个角色的资源?如果需要,我不介意添加迁移脚本。我快速查看了同一动作会发生什么。大概可以做到这一点,方法是加载所有角色,循环遍历所有角色,并执行类似的逻辑以Mage_Admin_Model_Resource_Rules::saveRel将行插入表中。但是这段代码似乎假定所有资源都已发布,这意味着要直接调用它,我需要确定需要哪种格式将数据传递给它并可能加载现有资源。

3
将当前管理员用户名获取到<body>类或ID中
在admin后端中,我想向所有admin页面的body标签添加一个类,该类打印出当前登录的admin用户的名称。 In app/design/adminhtml/default/default/template/page.phtml 我发现了这一点(第46行-CE 1.6.2.0): &lt;body id="html-body"&lt;?php echo $this-&gt;getBodyClass()?'class="'.$this-&gt;getBodyClass().'"':'' ?&gt;&gt; 而且我认为我需要使用它来获取管理员用户名: Mage::getSingleton('admin/session')-&gt;getUser(); 但是,无论我做什么,我似乎都无法在id或class中输出用户名。 任何想法都将受到欢迎。 谢谢。

5
是否添加要导出的列但隐藏在网格中?
我创建了一个自定义报告。该报告中包含大量字段,这些字段以CSV格式导出时必填。 我要弄清楚的是,是否有一种方法可以忽略前端网格中某些字段的呈现。它们中的大多数对于admin中的筛选过程并不是很重要,仅在下载报告以在Magento之外进行进一步解析时才使用。 我希望这种类型的功能驻留在网格类中,因为这是生成实际网格以及后来导出的CSV的原因,但是我看不到任何看起来像能见度的东西。 在我为自定义报告覆盖此类中的方法之前,是否有一种鲜为人知的方法来实现此目标,该方法比通过addColumn属性数组添加某种“ showInGrid”属性更容易? TL,DR是否有一种简单的方法来导出字段(例如CSV或XML),但从管理网格中省略了字段?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.