WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 30.08.2017 15:20:39

tomno399
Gast

Upgrade von WB283SP4 zu WBCE 1.2

Ich habe es getan, weil ich von PHP 5.6 auf PHP 7.1 umgestiegen bin. Nun läuft ohne Fehler im Upgradescript aber das Menü der Webseite nicht mehr. Es klappt nicht mehr auf (show_menu2). Eine Forumssuche ergab keinen Hinweis.

Das ist der Code im Template Sobresot, der mit WB283SP4 funktionierte:

[== PHP ==]
/*Breadcrumbs*/
	ob_start();  
	show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB, '<span class="[class]"> &raquo; [a][menu_title]</a></span>', '', '', '', ''.$breadcrumbstart.' &raquo; <span class="[class]">[a][menu_title]</a></span>');
	$breadcrumbs=ob_get_contents(); 
	ob_end_clean();
	
	/*Menus*/
	ob_start(); 
	show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL, '<li class="[class]"><a href="[url]" target=[target] class="[class]"><span>[menu_title]</span></a>', "</li>", '<ul>', '</ul>', true, '<ul id="topmenu" class="nav sm sm-clean">');
	$topmenu = ob_get_contents();
	ob_end_clean();

Beim "Drübergehen" über den Menüpunkt öffnete das Menü und zeigte die Unterseiten. Nun können keine Unterseiten erreicht werden.

Beitrag geändert von tomno399 (30.08.2017 15:30:30)

#2 30.08.2017 15:28:29

florian
Administrator

Re: Upgrade von WB283SP4 zu WBCE 1.2

Bitte mal einen Link.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 30.08.2017 16:00:09

florian
Administrator

Re: Upgrade von WB283SP4 zu WBCE 1.2

Irgendwas (smartmenues oder fancybox) hat den browser-is-undefined-Fehler verursacht.
Ich habe das Problem behoben, indem ich ein paar Zeilen Code in die jquery-min.js angefügt habe:

jQuery.uaMatch = function( ua ) {
        ua = ua.toLowerCase();

        var match = /(chrome)[ /]([w.]+)/.exec( ua ) ||
                /(webkit)[ /]([w.]+)/.exec( ua ) ||
                /(opera)(?:.*version|)[ /]([w.]+)/.exec( ua ) ||
                /(msie) ([w.]+)/.exec( ua ) ||
                ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([w.]+)|)/.exec( ua ) ||
                [];

        return {
                browser: match[ 1 ] || "",
                version: match[ 2 ] || "0"
        };
};

// Don't clobber any existing jQuery.browser in case it's different
if ( !jQuery.browser ) {
        matched = jQuery.uaMatch( navigator.userAgent );
        browser = {};

        if ( matched.browser ) {
                browser[ matched.browser ] = true;
                browser.version = matched.version;
        }

        // Chrome is Webkit, but Webkit is also Safari.
        if ( browser.chrome ) {
                browser.webkit = true;
        } else if ( browser.webkit ) {
                browser.safari = true;
        }

        jQuery.browser = browser;
}

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#4 30.08.2017 16:08:10

tomno399
Gast

Re: Upgrade von WB283SP4 zu WBCE 1.2

Herzlichen Dank Florian!
Nur woher soll das ein Normalsterblicher wissen? Das Template hat schon immer empfindlich auf irgendwelche Scripte reagiert. Deshalb hatte ich praktisch von Anfang an auf WB-Lib und Libary-Admin und die so genannten Presets verzichten müssen. Nun war wohl in dem Upgrade eine neuere JQuery, die wieder das Fass zum Überlaufen brachte.
Ich werde jetzt schauen, welche Module upgedated werden müssen und welche deinstalliert werden können.

Hurra, ich bin jetzt ein WBCEler

#5 30.08.2017 16:16:25

florian
Administrator

Re: Upgrade von WB283SP4 zu WBCE 1.2

Nur woher soll das ein Normalsterblicher wissen?

Ein Normalsterblicher braucht das nicht zu wissen, dafür gibt es ja das Forum ;-)

Mit den Entwicklertools (F12 in Firefox) habe ich den Javascript-Fehler gefunden. Da das Problem mit $.browser is undefined nicht unüblich ist, gibt es dafür mehr oder weniger elegante und mehr oder weniger funktionierende Lösungsvorschläge und Workarounds. Einen davon hatte ich aus anderen Gründen bei einer anderen Seite mal implementiert und konnte ihn einfach von dort übernehmen.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Fußzeile des Forums

up