发新话题
打印

[讨论][原创]关于图片菜单的修改。

[讨论][原创]关于图片菜单的修改。

mambo的菜单一直是文字+CSS的方式,但图片菜单是使网页更加丰富的重要手段,通过简单修改mod_mainmenu.php其实可以实现图片菜单这一功能。

方法如下:
在mod_mainmenu.php中找到:
复制内容到剪贴板
代码:
                if ( $params->get( 'menu_images' ) ) {
                        $menu_params = new stdClass();
                        $menu_params =& new mosParameters( $mitem->params );
                        $menu_image = $menu_params->def( 'menu_image', -1 );
                        if ( ( $menu_image <> '-1' ) && $menu_image ) {
                                $image = '<img src="'. $mosConfig_live_site .'/images/stories/'. $menu_image .'" border="0" alt="'. $mitem->name .'"/>';
                                if ( $params->get( 'menu_images_align' ) ) {
                                        $txt = $txt .' '. $image;
                                } else {
                                        $txt = $image .' '. $txt;
                                }
                        }
                }
替换为:
复制内容到剪贴板
代码:
                if ( $params->get( 'menu_images' ) ) {
                        $menu_params = new stdClass();
                        $menu_params =& new mosParameters( $mitem->params );
                        $menu_image = $menu_params->def( 'menu_image', -1 );
                        if ( ( $menu_image <> '-1' ) && $menu_image ) {
                                $image = '<a href="'. $mitem->link .'" target="_blank" class="'. $menuclass .'" '. $id .'><img src="'. $mosConfig_live_site .'/images/stories/'. $menu_image .'" border="0" alt="'. $mitem->name .'"/></a>';
                                $txt = $image;
/*                                if ( $params->get( 'menu_images_align' ) ) {
                                        $txt = $txt .' '. $image;
                                } else {
                                        $txt = $image .' '. $txt;
                                }
*/
                        }
                }
即完成修改。

使用方法:
把菜单图片放置于/images/stories/文件夹,修改现有的菜单,指定菜单图片(察看附件图片)

取消或修改CSS中关于mainlevel 和sublevel的定义

图片菜单就可以简单实现了。

欢迎讨论。
附件: 您所在的用户组无法下载或查看附件
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

hoho~~~~美化一下
[img:e930e9c82d]http://www.94bt.net/bbs/images/bb/94bt.gif[/img:e930e9c82d][url]http://www.94bt.net[/url] 94BT综合资源网

TOP

MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
没有做不到的模板.

TOP

引用:
原帖由 genous 发表
MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
在MOD_MAINMENU 增加参数并不能实现你想要的效果。MOD不是COM。MOD实现的只是显示方式,简单来说就是只读取数据而不是写入数据。COM才可以实现写入数据。

你所谓的参数,必须修改 COM_MENU, 并且需要更改MOS_MENU表(当然你更改了可能对MAMBO有影响),或者是创建一个新组件,建立新的表。

这个修改利用了本来就有的菜单图片功能。应该可以配合CSS实现任何你想要的图片菜单效果,呵呵,但不是那么直观,除非重新写个MOD,目前我还没这个能力。
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

引用:
原帖由 img 发表
引用:
原帖由 genous 发表
MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
在MOD_MAINMENU 增加参数并不能实现你想要的效果。MOD不是COM。MOD实现的只是显示方式,简单来说就是只读取数据而不是写入数据。COM才可以实现写入数据。

你所谓的参数,必须修改 COM_MENU, 并且需要更改MOS_MENU表(当然你更改了可能对MAMBO有影响),或者是创建一个新组件,建立新的表。

这个修改利用了本来就有的菜单图片功能。应该可以配合CSS实现任何你想要的图片菜单效果,呵呵,但不是那么直观,除非重新写个MOD,目前我还没这个能力。
剛纔看暸 確實要脩改其他...

-----------------------

我按炤妳的方法實現暸替換,但是確得不到傚果.

妳所說得

"取消或修改CSS中关于mainlevel 和sublevel的定义"

我不明白. 但我首先取消暸css中 mainlevel 和sublevel 的揹景設置.還有定義暸 mainmunu 糢塊的另一css即 定義的css是不存在的.
没有做不到的模板.

TOP

引用:
原帖由 genous 发表
引用:
原帖由 img 发表
[quote]原帖由 genous 发表
MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
在MOD_MAINMENU 增加参数并不能实现你想要的效果。MOD不是COM。MOD实现的只是显示方式,简单来说就是只读取数据而不是写入数据。COM才可以实现写入数据。

你所谓的参数,必须修改 COM_MENU, 并且需要更改MOS_MENU表(当然你更改了可能对MAMBO有影响),或者是创建一个新组件,建立新的表。

这个修改利用了本来就有的菜单图片功能。应该可以配合CSS实现任何你想要的图片菜单效果,呵呵,但不是那么直观,除非重新写个MOD,目前我还没这个能力。
剛纔看暸 確實要脩改其他...

-----------------------

我按炤妳的方法實現暸替換,但是確得不到傚果.

妳所說得

"取消或修改CSS中关于mainlevel 和sublevel的定义"

我不明白. 但我首先取消暸css中 mainlevel 和sublevel 的揹景設置.還有定義暸 mainmunu 糢塊的另一css即 定義的css是不存在的.[/quote]


暈...原來妳漏講暸一句 set Show Menu Icons: Yes


OK  現在可以實現暸..

-----------------------------------------

理想狀態:

01.實現鼠標停畱,即替換圖片傚果....
02.實現為揹景顯示?文字可選擇性齣現.
没有做不到的模板.

TOP

呵呵,是阿。忘了写这个。。
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

引用:
原帖由 genous 发表
引用:
原帖由 img 发表
[quote]原帖由 genous 发表
MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
在MOD_MAINMENU 增加参数并不能实现你想要的效果。MOD不是COM。MOD实现的只是显示方式,简单来说就是只读取数据而不是写入数据。COM才可以实现写入数据。

你所谓的参数,必须修改 COM_MENU, 并且需要更改MOS_MENU表(当然你更改了可能对MAMBO有影响),或者是创建一个新组件,建立新的表。

这个修改利用了本来就有的菜单图片功能。应该可以配合CSS实现任何你想要的图片菜单效果,呵呵,但不是那么直观,除非重新写个MOD,目前我还没这个能力。
剛纔看暸 確實要脩改其他...

-----------------------

我按炤妳的方法實現暸替換,但是確得不到傚果.

妳所說得

"取消或修改CSS中关于mainlevel 和sublevel的定义"

我不明白. 但我首先取消暸css中 mainlevel 和sublevel 的揹景設置.還有定義暸 mainmunu 糢塊的另一css即 定義的css是不存在的.[/quote]

取消就是应为一般模版的MAINLEVEL等定义是针对文字的,文字消失后,该定义会使菜单图片混乱,修改MAINLEVEL在这里显得不是很重要,因为是图片嘛~只是控制下间距而已,还不如取消。呵呵
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

引用:
原帖由 img 发表
引用:
原帖由 genous 发表
[quote]原帖由 img 发表
[quote]原帖由 genous 发表
MAMBO自带有一个图片显示的。。。

但是一直没有时间去弄清怎么实现。。。


如果我的话我会
在mod_mainmenu加一参数并替代。
复制内容到剪贴板
代码:
'. $mosConfig_live_site .'/images/stories/'. $menu_image .'
实现自定义。。。
在MOD_MAINMENU 增加参数并不能实现你想要的效果。MOD不是COM。MOD实现的只是显示方式,简单来说就是只读取数据而不是写入数据。COM才可以实现写入数据。

你所谓的参数,必须修改 COM_MENU, 并且需要更改MOS_MENU表(当然你更改了可能对MAMBO有影响),或者是创建一个新组件,建立新的表。

这个修改利用了本来就有的菜单图片功能。应该可以配合CSS实现任何你想要的图片菜单效果,呵呵,但不是那么直观,除非重新写个MOD,目前我还没这个能力。
剛纔看暸 確實要脩改其他...

-----------------------

我按炤妳的方法實現暸替換,但是確得不到傚果.

妳所說得

"取消或修改CSS中关于mainlevel 和sublevel的定义"

我不明白. 但我首先取消暸css中 mainlevel 和sublevel 的揹景設置.還有定義暸 mainmunu 糢塊的另一css即 定義的css是不存在的.[/quote]

取消就是应为一般模版的MAINLEVEL等定义是针对文字的,文字消失后,该定义会使菜单图片混乱,修改MAINLEVEL在这里显得不是很重要,因为是图片嘛~只是控制下间距而已,还不如取消。呵呵[/quote]

如果作為揹景顯示的話.應該就不會齣現問題....

圖片css 為 no-repeat
没有做不到的模板.

TOP

如果把图片作为背景。那么就不需要用到图片菜单功能,直接用CSS可以实现了吧。。

而且要注意,背景是不可以点击的,而且你没办法更改背景上面的菜单文字上的字体,这是致命的,呵呵,难道用了图片菜单还想使用Tahoma和宋体作为菜单文字?
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

:x  現在剛睡醒 所以 頭腦還 不清醒...

:? 有時間再看吧....


  不能實現圖片替換實數遺憾....
没有做不到的模板.

TOP

增加到任务管理,看看有PHP高手有兴趣不

http://www.mambochina.net/index.php?option=com_mospray
Less is more...
http://www.lesismor.net
Release Brand power!
Lesismor Brand design & management Co.,Ltd.

TOP

只靠图片背景+文字+CSS实现的菜单的确不能让界面设计者充分发挥,直接在首叶模版加入图片菜单然后为每个图片菜单添加链接的话又失去了使用CMS的优势。

楼上两位都是高手,自然修改源码不在话下,但大部分的人都是不懂修改源码的。

希望图片菜单的组件可以尽快退出。

TOP

引用:
原帖由 img 于 2005-9-13 14:09 发表
mambo的菜单一直是文字+CSS的方式,但图片菜单是使网页更加丰富的重要手段,通过简单修改mod_mainmenu.php其实可以实现图片菜单这一功能。

方法如下:
在mod_mainmenu.php中找到:

                if ( $params->get ...
我用了,很好用啊.呵呵.谢谢.

TOP

发新话题