Lua Fehler in MediaWiki

8

Ich versuche, ein MediaWiki einzurichten und zu versuchen, die Navbox-Vorlage zu verwenden. Ich hatte alles funktioniert gut auf meinem lokalen Rechner, aber wenn ich alles auf den Server kopiert habe, bekomme ich Lua Skriptfehler, insbesondere:

%Vor%

Wenn ich diese Datei bearbeite, gibt es nur Fehler für alle anderen Felder.

Mein Server läuft MediaWiki 1.20, wenn das einen Unterschied macht. Ich habe es mit Scribunto 1.20, 1.21 und Master versucht (Änderungen an den Engines auf 1.20 angepasst).

Wenn jemand helfen kann, wäre das großartig.

Bearbeitete Module: Navbox , HtmlBuilder .

    
yedidyak 11.11.2013, 08:32
quelle

2 Antworten

6

Schauen Sie sehr , sehr sorgfältig bei Ihrem Pastebin-Code an, verglichen mit Wikipedia-Code. In der Tat würde ich empfehlen, ein Diff der beiden durchzuführen.

Ihr Code

%Vor%

Wikipedia

%Vor%

Siehst du den Unterschied? Metamethoden in Lua beginnen immer mit zwei Unterstrichen __ , nicht einer. Ich bin mir nicht sicher, wie Ihr Code in den Zustand gelangt ist, in dem er sich befindet, aber dies würde sehr gut alle Probleme erklären, die Sie hatten, auch warum attr nicht zugänglich war. Das lag daran, dass das __index Feld des metatable keine Unterstreichung aufwies, was natürlich bedeutet, dass dies nicht der Fall war überhaupt erkannt werden. Ich bin überrascht, dass ich es bemerkt habe, da es leicht ist, diesen zusätzlichen Unterstrich beim Skimmen zu übersehen.

Ich würde empfehlen, Ihr HtmlBuilder -Modul zuerst in seinen ursprünglichen Zustand zu versetzen und dann zu sehen, ob das Ihr Problem behebt. Vielleicht möchten Sie NavBox und alle anderen, die Sie möglicherweise geändert haben, wiederherstellen, wenn Ihre Änderungen nicht zu signifikant sind, aber ein diff würde definitiv Ihnen sagen, was sich zwischen Ihren Versionen unterscheidet.

Achte nur darauf, was du in Zukunft ändern wirst, aber habe keine Angst davor zu experimentieren, solange du Backups hast!

    
Ryan Stein 19.11.2013, 14:30
quelle
3

Lassen Sie mich sagen, dass es sehr schwierig ist, Ihre Frage zu beantworten. Im ursprünglichen Beitrag sagt man nicht viel, dass es hilfreich ist, das Problem zu lösen. Ich werde mich nur auf diese Codezeile stützen, die Sie erwähnt haben:

%Vor%

Ich würde wahrscheinlich versuchen, es mit diesem zu ersetzen:

%Vor%     
noize 17.11.2013 17:15
quelle