我正在创建一个新模块,它将记录联系我们页面中的所有数据。所有数据信息将显示在管理面板中。
我的配置中有以下代码.xml
<?xml version="1.0"?>
<config>
<modules>
<Vampi_Contactsform>
<version>1.0.0</version>
</Vampi_Contactsform>
</modules>
<global>
<models>
<vampi_contactsform>
<class>Vampi_Contactsform_Model</class>
<resourceModel>vampi_contactsform_mysql4</resourceModel>
</vampi_contactsform>
</models>
<resources>
<vampi_setup>
<setup>
<module>Vampi_Contactsform</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</vampi_setup>
<vampi_write>
<connection>
<use>core_write</use>
</connection>
</vampi_write>
<vampi_read>
<connection>
<use>core_read</use>
</connection>
</vampi_read>
</resources>
<blocks>
<vampi_contactsform>
<class>Vampi_Contactsform_Block</class>
</vampi_contactsform>
</blocks>
<helpers>
<vampi_contactsform>
<class>Vampi_Contactsform_Helper</class>
</vampi_contactsform>
</helpers>
</global>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<vampi_contactsform before="Mage_Adminhtml">Vampi_Contactsform_Adminhtml</vampi_contactsform>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<frontend>
<routers>
<contactsform>
<args>
<modules>
<vampi_contactsform before="Mage_Contactsform">Vampi_Contactsform</vampi_contactsform>
</modules>
</args>
</contactsform>
</routers>
</frontend>
和我的应用程序''代码''社区''吸血鬼''联系人表单''控制器''管理员html''联系人表单控制器.php包含
<?php
class Vampi_Contactsform_Adminhtml_ContactsformController extends Mage_Adminhtml_Controller_Action{
public function indexAction()
{
$this->_title($this->__('Sales'))->_title($this->__('Contact Enquiries'));
$this->loadLayout();
$this->_setActiveMenu('report/contactsform');
$this->_addContent($this->getLayout()->createBlock('vampi_contactsform/adminhtml_contactsform_list'));
$this->renderLayout();
}
public function deleteAction() {
$orderIds = $this->getRequest()->getPost('order_ids', array());
$countNonCancelOrder = 0;
foreach ($orderIds as $orderId) {
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
$contact_form = Mage::getSingleton("core/resource")->getTableName('contact_form');
$db->delete($contact_form, "id = $orderId");
$countNonCancelOrder++;
}
if ($countNonCancelOrder) {
$this->_getSession()->addError($this->__('%s enquiry(s) deleted', $countNonCancelOrder));
}
$this->_redirect('*/*/');
}
public function gridAction()
{
$this->loadLayout();
$this->getResponse()->setBody(
$this->getLayout()->createBlock('vampi_contactsform/adminhtml_contactsform_list_grid')->toHtml()
);
}
}
请帮忙
这在从Magento管理面板打开页面时给出404错误。
谢谢
控制器是根据管理会话生成的。而且您无法共享管理员和前端会话,这就是为什么从前端 404 进行调用时找不到的原因。
无论如何,从后端调用前端操作不是一个好的做法。您应该有 2 个单独的控制器,一个用于后端,一个用于前端。为了不重复代码,您可以将所有内容放在帮助程序的方法中,并在两个控制器中调用该方法。
不能在
盘子上给你一个现成的答案,但如果你遵循这篇文章,你应该很好。注意底部的调试部分。它应该可以帮助您找出问题所在。
对不起,伙计们,这是我命名控制器的愚蠢错误。我已将 contactsformController.php 重命名为 ContactsformController.php