[英]Create a form in magento admin panel
I am trying to create form in admin panel(custom module) in magento. 我正在尝试在magento的管理面板(自定义模块)中创建表单。 For now my magento custom module work properly.
目前,我的magento自定义模块可以正常工作。 I created menu in admin panel, I rewrite some controllers,but I cannot create a form in admin panel(when I click on the menu item).
我在管理面板中创建了菜单,我重写了一些控制器,但无法在管理面板中创建表单(单击菜单项时)。 In config.xml I have next part of code:
在config.xml中,我有下一部分代码:
<admin>
<routers>
<test>
<use>admin</use>
<args>
<module>Mynamespace_Skipcart</module>
<frontName>Skipcart</frontName>
</args>
</test>
</routers>
</admin>
<adminhtml>
<menu>
<tutorial_menu translate="title" module="skipcart">
<title>Skip Cart</title>
<sort_order>9999</sort_order>
<children>
<first_page module="skipcart">
<title>Our First Page</title>
<action>Skipcart/Adminhtml_index/index</action>
</first_page>
</children>
</tutorial_menu>
</menu>
<layout>
<updates>
<skipcart>
<file>Skipcart.xml</file>
</skipcart>
</updates>
</layout>
</adminhtml>
I have a file in app/design/frontend/default/default/layout/skipcart.xml. 我在app / design / frontend / default / default / layout / skipcart.xml中有一个文件。 In this file I created wrong.
在此文件中,我创建了错误的文件。 With this method I check if magento read this file.
使用这种方法,我检查magento是否读取了此文件。 If magento read the skipcart.xml will return Warning: simplexml_load_string(), but magento doesn`t return a error.
如果magento读取了skipcart.xml,则会返回警告:simplexml_load_string(),但magento不会返回错误。 And I have one more problem.
我还有一个问题。 If I move this code for the menu from config.xml in adminhtml.xml the menu from the admin panel disappear.
如果我将此代码从adminhtml.xml中的config.xml移动到菜单,则管理面板中的菜单将消失。 I trying my module on magento 1.7.
我在magento 1.7上尝试了我的模块。 Can anybody help me?
有谁能够帮助我?
I have a controller in app/code/local/Mynamespace/Skipcart/controllers/Adminhtml/IndexController.php 我在app / code / local / Mynamespace / Skipcart / controllers / Adminhtml / IndexController.php中有一个控制器
<?php
class Mynamespace_Skipcart_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action {
public function indexAction()
{
$this->loadLayout();
//create a text block with the name of "example-block"
$block = $this->getLayout()
->createBlock('core/text', 'example-block')
->setText('<h1>This is a text block</h1>');
$this->_addContent($block);
//add menu active
$this->_setActiveMenu('tutorial_menu/first_page');
// $model = Mage::getModel('skipcart/skipcart'); Mage::log('da');
// $this->_setActiveMenu('system/another_menu_from_us');
// echo $block1 = $this->getLayout()->createBlock('skipcart/add');
// $this->_addContent($block1);
$this->renderLayout();
}
public function postAction()
{
$post = $this->getRequest()->getPost();
try {
if (empty($post)) {
Mage::throwException($this->__('Invalid form data.'));
}
/* here's your form processing */
$message = $this->__('Your form has been submitted successfully.');
Mage::getSingleton('adminhtml/session')->addSuccess($message);
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
}
$this->_redirect('*/*');
}
}
?>
and skipcart.xml: 和skipcart.xml:
<?xml version="1.0"?>
<layout>
<skipcart_adminhtml_index_index>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
<update handle="skipcart_index_index"/>
<reference name="content">
<block type="adminhtml/template" name="skipcart" template="skipcart/add.phtml"/>
</reference>
</skipcart_adminhtml_index_index>
<!-- I miss the <layout> because I want to check if magento read this file.-->
Just Change your function body like that below instead of core/text
call core/template
and setTemplate('filename.phtml');
只需像下面那样更改函数体,而不是
core/text
调用core/template
和setTemplate('filename.phtml');
In this file you need to add your form html that's it. 在此文件中,您需要添加表单html就是这样。
public function indexAction()
{
$this->loadLayout();
//create a text block with the name of "example-block"
$block = $this->getLayout()
->createBlock('core/template', 'example-block')
->setTemplate('folder/fileName.phtml');
$this->_addContent($block);
$this->_setActiveMenu('tutorial_menu/first_page');
$this->renderLayout();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.