joomla 的 module 有 all, none , Select Menu Item(s) 三个选项,基本来说,可以控制 module 任意显示了,但是如果想指定一个 module 除某些菜单不显示,就有点烦琐了,因为某些内容并没有对应到菜单上,要做这样,就必须先把内容对应到某个菜单,然后在 module 里选 Select Menu Item(s) , 不选择不要显示的菜单。
这真是件痛苦的事情。
现在我把它改改,加个选项:除选择的项目之外
这个 module 的逻辑差点把我给套进去了,搞了一上午才搞定。
ALTER TABLE jos_modules ADD IsExcept BOOL DEFAULT FALSE;
如果为 1 (true) 就是除选择的菜单之外。除了选择的菜单不显示该 module ,其它都的都显示。
如果为 1 (true) 就是除选择的菜单之外。除了选择的菜单不显示该 module ,其它都的都显示。
把 jos 改成你自己的前缀。
administrator\components\com_modules\admin.modules.html.php
加入选项:除择的项目之外
administrator\components\com_modules\controller.php
加入 除。。之外的处理
452 行
if($row->IsExcept == '1'){
$row->pages = 'except';
}...
270 行
$IsExcept = JRequest::getVar('menus', '' , 'post', 'string' , JREQUEST_ALLOWRAW);
$post["IsExcept"] = $IsExcept == "except" ? 1 : 0 ;
libraries\joomla\application\module\helper.php
修改SQL语句。
libraries\joomla\database\table\module.php
加入IsExcept
这个包里放的是我修改后的内容。
| < Prev | Next > |
|---|



