1. rewrite adminhtml router:
<config>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<Bysoft_Myfaq_Adminhtml before="Mage_Adminhtml">Bysoft_Myfaq_Adminhtml</Bysoft_Myfaq_Adminhtml>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<adminhtml>
<menu>
<myfaq module="myfaq">
<title>FAQ</title>
<sort_order>100</sort_order>
<children>
<myfaq module="myfaq">
<title>Manage FAQ</title>
<sort_order>0</sort_order>
<action>adminhtml/myfaq</action>
</myfaq>
</children>
</myfaq>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<myfaq translate="title" module="myfaq">
<title>Myfaq</title>
<sort_order>1000</sort_order>
<children>
<myfaq translate="title">
<title>Manage Myfaq</title>
<sort_order>0</sort_order>
</myfaq>
</children>
</myfaq>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<myfaq>
<file>myfaq.xml</file>
</myfaq>
</updates>
</layout>
</adminhtml>
2. add css and js to adminhtml layout file:
<?xml version="1.0"?>
<layout version="0.1.0">
<adminhtml_myfaq_index>
<update handle="myfaq_index_index"/>
<reference name="content">
<block type="myfaq/adminhtml_myfaq" name="myfaq" />
</reference>
</adminhtml_myfaq_index>
<adminhtml_myfaq_edit>
<reference name="head">
<action method="setCanLoadExtJs"><flag>1</flag></action>
<action method="setCanLoadTinyMce"><flag>1</flag></action>
<action method="addJs"><script>mage/adminhtml/variables.js</script></action>
<action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action>
<action method="addJs"><script>lib/flex.js</script></action>
<action method="addJs"><script>lib/FABridge.js</script></action>
<action method="addJs"><script>mage/adminhtml/flexuploader.js</script></action>
<action method="addJs"><script>mage/adminhtml/browser.js</script></action>
<action method="addJs"><script>prototype/window.js</script></action>
<action method="addJs"><script>prototype/prototype.js</script></action>
<action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
<action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action>
</reference>
</adminhtml_myfaq_edit>
<adminhtml_myfaq_new>
<reference name="head">
<action method="setCanLoadExtJs"><flag>1</flag></action>
<action method="setCanLoadTinyMce"><flag>1</flag></action>
<action method="addJs"><script>mage/adminhtml/variables.js</script></action>
<action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action>
<action method="addJs"><script>lib/flex.js</script></action>
<action method="addJs"><script>lib/FABridge.js</script></action>
<action method="addJs"><script>mage/adminhtml/flexuploader.js</script></action>
<action method="addJs"><script>mage/adminhtml/browser.js</script></action>
<action method="addJs"><script>prototype/window.js</script></action>
<action method="addJs"><script>prototype/prototype.js</script></action>
<action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
<action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action>
</reference>
</adminhtml_myfaq_new>
</layout>
3. enable wysiwyg_config in Bysoft_Myfaq_Block_Adminhtml_Myfaq_Edit_Tab_Form _prepareLayout function
<?php
class Bysoft_Myfaq_Block_Adminhtml_Myfaq_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareLayout() {
$return = parent::_prepareLayout();
if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
$this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
}
return $return;
}
3. add wysiwyg field in Bysoft_Myfaq_Block_Adminhtml_Myfaq_Edit_Tab_Form class function _prepareForm()
protected function _prepareForm() {
//....
$fieldset->addField('answer', 'editor', array(
'name' => 'description',
'label' => Mage::helper("myfaq")->__('Answer'),
'title' => Mage::helper("myfaq")->__('Answer'),
'style' => 'height:25em',
'wysiwyg' => true,
'required' => true,
'config' => Mage::getSingleton('cms/wysiwyg_config')->getConfig(),
));
//....
}

6万+

被折叠的 条评论
为什么被折叠?



