pmkisac: JS-Code verstümmelt

  • aclaes aclaes
    Sternenflotten-Admiral
    0 x
    208 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2009, 18:04

    Hallo,

    ich sitze gerade an einem eigenartigem Problem mit dem pmkisac auto completer. Und zwar ist der JS-Code, der im Head der Seite eingebunden wird, komplett verstümmelt:

    1. $(document).ready(function() {
    2. var el = $("sword");
    3. if (el) {
    4. var form = el;
    5. for (var i=0;i<20;i++) form="form.parent();" if="" formnodename="FORM" break="" var="" sectionpid="" section="" tx-indexedsearch-selectbox-sectionsxx="" languageid="" language="" tx-indexedsearch-selectbox-langxx="" mediaid="" media="" tx-indexedsearch-selectbox-media="" sword="" autocomplete="" serviceurl:="" indexphpeidpmkisacid10sp="" la="" me="" sw1ml2mc10wc1="" minchars:2="" maxheight:400="" width:166="" callback="" function:="" onselect:="" functionvalue="" data="" alert="" youselected:="" value=""> */

    Totaler Schrott... Die Extension bindet das Ganze aber eigentlich richtig ein, also im der "class.tx_pmkisac_init.php" stehts noch richtig. Irgendwas versucht wohl den Code zu komprimieren.

    Ich dachte erst, dass die Extension sourceopt da seine Finger im Spiel hat, aber das scheints nicht zu sein. Ich habe pmkisac schon oft eingesetzt, aber ich arbeite zum ersten mal auf TYPO3 4.2.8.
    Kanst damit was zu tun haben? Hat jemand eine Idee?

    Danke und viele Grüße


  • 1
  • theNeo theNeo
    R2-D2
    0 x
    124 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2009, 15:33

    Hallo acleas,
    du bis nicht alleine! Ich habe glaube ich das gleiche Problem wie du. Auch Typo3 4.2.8

    JS Fehler:

    Fehler: missing ; before statement

    1. <script type="text/javascript">
    2. /* <![CDATA[ */
    3. window.addEvent("domready", function(){
    4. var el = $("tx-indexedsearch-searchbox-sword");
    5. if (el) {
    6. var form = el;
    7. for (var i=0;i<20;i++) form="form.getParent();" if="" formnodename="FORM" break="" var="" sectionpid="section.getValue();" section="$(" tx-indexedsearch-selectbox-sectionsxx="" typesection="element" languageid="language.getValue();" language="$(" tx-indexedsearch-selectbox-langxx="" typelanguage="element" mediaid="media.getValue();" media="$(" tx-indexedsearch-selectbox-media="" typemedia="element" ajaxurl="" completer="new" autocompleterrequesthtmlel="" postdata="" :="" id:="" 1sp:="" sectionpidla:="" languageidme:="" mediaidsw:="" 1ml:="" 2mc:="" 10="" wc:="" 1="" minlength="" 2="" maxchoices="" useselection="" markquery="" inheritwidth="" dropdownwidth="" 100="" multi="" delimeter="" delay="" indicatorclass="" autocompleter-loading="" injectchoice="" functionchoice="" text="choice.getFirst();" value="text.innerHTML;" choiceinputvalue="value;" textset="" html="" thismarkqueryvaluevalue="" thisaddchoiceeventschoice="" sectionaddevent="" change="" function="" completeroptionspostdata="" sp="section.getValue();" languageaddevent="" la="language.getValue();" mediaaddevent="" me="media.getValue();"> */
    8. </script>

    Ach ja: mootools_v1.2.1.js

    Hat evtl jemand eine Idee? Wäre super!
    danke
    theNeo
    [/quote]

  • aclaes aclaes
    Sternenflotten-Admiral
    0 x
    208 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2009, 17:06

    Moin,

    jap genau! Die Nachricht steht auch bei mir in der Fehlerkonsole...

    Ich lasse die Extension allerdings mit dem mitgeliefertem jquery arbeiten.

    Grüße

  • aclaes aclaes
    Sternenflotten-Admiral
    0 x
    208 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2009, 19:52

    Das ist ja interessant. Ich hab den Fehler gefunden!

    Am Anfang des JS-Codes wird steht ein for-loop.

    1. for (var i=0;i<20;i++) {
    2. ...
    3. }

    Diese Spitze Klammer wird, warum auch immer, als Anfang eines HTML-Tags identifiziert und der Code wird komplett umgebaut.
    Als schnellen dreckigen Fix habe ich einfach die Bedingung in der Schleife geändert:
    1. for (var i=0;i!=20;i++) {

    Das tritt aber nicht nur bei dieser Extension auf, sondern generell bei allen daten die zu "$GLOBALS['TSFE']->additionalHeaderData" hinzugefügt werden.
    Der Fehler wird übrigens verursacht durch "config.xhtml_cleaning = all". Wenn man das raus nimmt sieht der JS-Code korrekt aus. In der TSref steht ja auch, dass die Funktion noch nicht ganz richtig läuft.
    Ein Fall für den Bugtracker?

    Grüße

  • aclaes aclaes
    Sternenflotten-Admiral
    0 x
    208 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2009, 19:59

    Aha, es gibt schon einen mehr oder weniger neuen Eintrag im Bugtracker, der dieses Problem beschreibt:

    http://bugs.typo3.org/view.php?id=1477

  • theNeo theNeo
    R2-D2
    0 x
    124 Beiträge
    0 Hilfreiche Beiträge
    16. 07. 2009, 16:51

    mh ich merke schon du hast da um einiges mehr Plan ;-)
    ich suche mir gerade einen Wolf, wo hast du das die Zeile den gefunden

    1. for (var i=0;i<20;i++) {
    2. ...
    3. }

    besser gesagt, wo kann ich sie ändern?

    wäre super wenn du mir kurz auf die Sprünge helfen könntest!
    merci
    theNeo

  • jonas8 jonas8
    Sternenflotten-Admiral
    0 x
    243 Beiträge
    0 Hilfreiche Beiträge
    15. 09. 2009, 16:25

    hast du es gefunden?

    typo3conf/ext/pmkisac/class.tx_pmkisac_init.php

    in der Zeile 121

  • 1