Joomla 1.5.26 - Firefox 16.0.2 - mod_ariextmenu problém

Do you want to share your Knowledge Base, code strips or ask something about open source CMS Joomla and it's i-shop extension VirtueMart? All of you are welcome.

Joomla 1.5.26 - Firefox 16.0.2 - mod_ariextmenu problém

Poslaťod JozoG » 14.11.2012, 09:33

Ahojte,
nemáte niekto skúsenosti s Joomla modulom pre vertikálne menu mod_ariextmenu (ARI Ext Menu)?

Stiahol som s ho odtiaľto.
http://www.demo2.ari-soft.com/ari-ext-menu.html

Doteraz fungovalo všetko OK (a v browseroch okrem najnovšieho Firefox funguje stále).
Vo Firefoxe 16.0.2 (najnovší) dlhšie texty vo vertikálnom submenu zalomí do dvoch riadkov.

Pozeral cez Firebug a vidím, že šírku dynamicky prepočítava,
len ostatné browsery vypočítajú šírku modulu širšiu.

Preliezol som celý mod_ariextmenu (v ... modules\mod_ariextmenu\),
ale nič som nezistil.
JozoG
 
Príspevky: 19
Registrovaný: 13.09.2009, 09:37
Udelené poďakovania: 2 krát
Prijaté poďakovania: 3 krát

Re: Joomla 1.5.26 - Firefox 16.0.2 - mod_ariextmenu problém

Poslaťod Palo-admin » 14.11.2012, 09:53

No s tým sa dá pomôcť dvomi spôsobmi:

1| Neprogramátorskými: pridať znak "inej" medzery - ALT+0160 na koniec dlhého textu (prípadne dve).
Celý text sa tak potom nezalomí.

2| Programátorské - je systémovejšie lebo problém sa vyrieši.
Treba upraviť súbor ...\modules\mod_ariextmenu\mod_ariextmenu\js\menu.min.js
Súbor je skomprimovaný, ale cez nejaký dekompresor, napr. stránku http://jsbeautifier.org/ sa dá prekonvertovať do prehľadného stavu.

Potom stačí upraviť funkciu doAutoWidth: function () a pridať 2 pixle pri výpočte max šírky:

Kód: Vybrať všetko
    doAutoWidth: function () {
        var e = function (b) {
            var c = 0;
            var d = b.select('>li');
            b.setStyle({
                width: 3000 + 'px'
            });
            d.each(function (a) {
                c = Math.max(c, a.getWidth())
            });
            c = Ext.isIE ? c + 1 : c;
         c = c + 2;
            d.setWidth(c + 'px');
            b.setWidth(c + 'px')
        };
        if (this.direction == 'vertical') {
            this.container.select('ul').each(e)
        } else {
            this.el.select('ul').each(e)
        }
    }
Palo-admin
Administrátor stránky
 
Príspevky: 473
Registrovaný: 18.07.2008, 16:43
Udelené poďakovania: 6 krát
Prijaté poďakovania: 63 krát


Späť na Joomla + VirtueMart "affairs"

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 2 hostia

cron