Hab mich mal dem Problem mit den Gavick-Templates und Kunena 1.6 angenommen, an einer Lösung dürften ja sicher einige interessiert sein
Also das Problem fängt damit an dass Kunena 1.6 das Mootools-Upgrade-Plugin aktiviert (falls dies nicht schon ist) sobald man die Komponente aufgerufen wird. Schaut man dann in die Fehlerkonsole von Firefox, findet sich dies hier:
Code:
Fehler: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object"
nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame ::
http://localhost/social/plugins/system/mtupgrade/mootools.js :: $extend :: line 1" data: no]
Was einen natürlich nicht weiterbringt, da in dieser Datei alles in einer Zeile steht. Also geht man in das entsprechende Verzeichnis und benennt die "unkomprimierte" einfach um:
mootools-uncompressed.js -> mootools.js
Seite aktualisieren und man erhält:
Code:
Fehler: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object"
nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame ::
http://localhost/social/plugins/system/mtupgrade/mootools.js :: $extend :: line 203" data: no]
In Zeile 203 steht dann folgendes:
Code:
for (var key in (extended || {})) original[key] = extended[key];
Und wenn man nun mit einem Editor (z.B. Notepad++) in den Dateien von seinem Gavick-Template nach der Variable "extended" sucht, finden sich folgende Dateien:
dropline.js, mega.js, moo.js und split.js. Diese entsprechen den Menü-Varianten die man in den Template-Einstellungen auswählen kann.
Nun öffnet man die entsprechende Datei und such nach:
Code:
function $(el){
if (!el) return null;
if (el.htmlElement) return Garbage.collect(el);
if ([window, document].contains(el)) return el;
var type = $type(el);
if (type == 'string'){
el = document.getElementById(el);
type = (el) ? 'element' : false;
}
if (type != 'element') return null;
if (el.htmlElement) return Garbage.collect(el);
if (['object', 'embed'].contains(el.tagName.toLowerCase())) return el;
$extend(el, Element.prototype);
el.htmlElement = function(){};
return Garbage.collect(el);
};
Löscht diese Zeilen und ihr habt ein funktionierendes Template sowie Kunena 1.6
Gruß Longi