后台组件功能开发
配置组件后台子级菜单:
安装组件包前,在后台组件的安装XML里修改submenu节点,安装后会自动在menu与组件节点添加对面的名称。安装组件包后如有修改需求,可以在#__component表中修改submenu
-------------------------
工具栏(ToolBar):
-----------------------------
JHTML::_('behavior.tooltip'); 启动toolbar
JToolBarHelper::title(JText::_('Newtech'), 'generic.png');
JToolBarHelper::save();
JToolBarHelper::custom('publish', 'publish', '', JText::_( 'CC_ENABLED' ), true);
JToolBarHelper::preferences('com_xxx'); 参数设置,对应config.xml
JToolBarHelper::customX(<task>, 'new.png', 'new.png', 'Create', false);
controller中:
------------------------
$this->setRedirect( 'index.php?option=com_ccNewsletter&controller=newsletter', $msg );// 页面跳转
JController->getModel(); // 得到对应的model实例,可以获得组件所有model
model中:
---------------------------
JModel->getTable 获得表实例,只可以获得对应的table
table中:
-------------------------------
$post = JRequest::get("post");
JTable->bind($post); //对应POST数据更新表
JTable->check(); //检查数据的正确性
JTable->store(); //把数据表写入到数据库
view中:
------------------------------
JView->getModel 只可以获得对应的model
JView->get("xxx") 调用对应model的方法
------------------------------
加在后台模板中的验证脚本:
<script type="text/javascript">
function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
email = form.mail.value;
pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
flag = pattern.test(email);
if(!flag)
{
alert("Invalid Email");
return;
}
submitform(pressbutton);
}
</script>