我正在创建一个新模块,它将记录来自联系我们页面的所有数据。 并且所有数据信息都将显示在管理面板中。
我在config.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>
和我的app \ code \ community \ Vampi \ Contactsform \ controllers \ Adminhtml \ contactsformController.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错误。
由于
答案 0 :(得分:0)
控制器是基于管理会话生成的。 并且您无法共享管理员和前端会话,这就是为什么从前端404发出呼叫时找不到的。
无论如何,从后端调用前端操作不是一个好习惯。 你应该有2个独立的控制器,一个用于后端,一个用于前端。 为了不复制代码,您可以将方法中的所有内容放在帮助器中,并在两个控制器中调用该方法。
答案 1 :(得分:0)
无法在拼盘上给你一个准备好的答案,但是如果按照这个article你应该是好的。注意底部的Debugging部分。它应该可以帮助你找出问题所在。
答案 2 :(得分:0)
对不起家伙,这是我控制器命名的愚蠢错误。 我已将contactsformController.php重命名为ContactsformController.php