2012-04-14 3 views
0

Ich versuche, eine Google Event-Tracking zu einem WordPress-Plugin hinzuzufügen. Der Code für die Submit-Button in diesem Plugin ist:'Syntaxfehler, unerwartet T_CONSTANT_ENCAPSED_STRING' Hinzufügen von Google Event-Tracking zu Button im Wordpress-Plugin

{ 
     return "<input type=\"submit\" ". 
       "name=\"".fm_form_submit_btn_name()."\" ". 
       "id=\"".fm_form_submit_btn_id()."\" ". 
       "class=\"submit\" ". 
       "value=\"".fm_form_submit_btn_text()."\" ". 
       "onclick=\"".fm_form_submit_btn_script()."\" ". 
       " />\n"; 
    } 

Ich versuche, Google Analytics-Tracking-Code hinzufügen onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply']) den obigen Block, und schließlich 'Apply' mit fm_form_the_title() ersetzen, die dem Titel des Formulars zurück.

Das Problem: Egal, welche Anordnung von Anführungszeichen ich beim Einfügen des Tracking-Code-Block, bin ich konfrontiert mit einem Fehler 'Syntaxfehler, unerwartete T_CONSTANT_ENCAPSED_STRING' oder 'T_STRING', die die gesamte Website heruntergefahren.

BEARBEITEN: Der obige Codeblock funktioniert und muss nicht vereinfacht werden und ist Teil eines viel größeren Projekts. Meine Frage ist, wie man onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply']) hinzufügt und schließlich 'Apply' durch fm_form_the_title() ersetzt und meine Website NICHT bricht.

Antwort

1

Wie wäre es simplyfing dies mit

return '<input type="submit" '. 
'name=\"".fm_form_submit_btn_name()."\" ". 
'id="'.fm_form_submit_btn_id().'"'. 
'class="submit"'. 
'value=\"".fm_form_submit_btn_text().'"'. 
'onclick="'.fm_form_submit_btn_script().'"'. 
' />\n'; 
+0

Weil das andere Dinge brechen kann und nicht das tut, was ich versuche zu erreichen. Ich möchte nur den Google Analytics-Ereignisverfolgungscode zum obigen Link hinzufügen. Der Code funktioniert wie oben angezeigt. Hinzufügen von Ereignis-Tracking-Code bricht es. Ich möchte 'onclick = _gaq.push (['_ trackEvent', 'Form', 'Submit', 'Apply'])' 'hinzufügen, ohne meine Seite zu zerstören. –

1

Da Sie die Zitate sind entkommen in den Funktionsaufrufen zu setzen, warum nicht einfache Anführungszeichen verwenden?

return '<input type="submit" '. 
      'name="'.fm_form_submit_btn_name().'" '. 
      'id="'.fm_form_submit_btn_id().'" '. 
      'class="submit" '. 
      'value="'.fm_form_submit_btn_text().'" '. 
      'onclick="'.fm_form_submit_btn_script().'" '. 
      ' /> 
     '; 
+0

BEARBEITEN: Der obige Codeblock funktioniert und muss nicht vereinfacht werden und ist Teil eines viel größeren Projekts. Meine Frage ist, wie man onclick = _gaq.push (['_ trackEvent', 'Form', 'Submit', 'Apply']) hinzufügt und schließlich 'Apply' mit fm_form_the_title() ersetzt und NICHT meine Website bricht. –

0

versuchen

return '<input type="submit" '. 
'name=\"".fm_form_submit_btn_name(). '" '. 
'id="'.fm_form_submit_btn_id().'" '. 
'class="submit" ". 
'value="'.fm_form_submit_btn_text().'" '. 
'onclick="'.fm_form_submit_btn_script(). '" '. 
' />'; 
3

gilt folgendes obwohl der Code, der diese verwendet, wenn es auf einen Fehler könnte zu werfen entweder die Pars, Klammern oder einfache Anführungszeichen zurückgegeben. Wenn dies nicht funktioniert, schauen Sie sich an, wo dieses verwendet wird, sobald es zurückgegeben wird und entziehen Sie den Sonderzeichen entsprechend.

function yourfunc() { 

    return "<input type=\"submit\" ". 
    "name=\"".fm_form_submit_btn_name()."\" ". 
    "id=\"".fm_form_submit_btn_id()."\" ". 
    "class=\"submit\" ". 
    "value=\"".fm_form_submit_btn_text()."\" ". 
    "onclick=\"_gaq.push(['_trackEvent', 'Form',". 
    "'Submit', '".fm_form_the_title()."']);". 
    fm_form_submit_btn_script()."\"/>\n"; 

} 

Versuchen Sie es, ohne Anführungszeichen in dem Array zu verwenden, das an die _gaq.push-Methode übergeben wird.

Ich muss den untenstehenden Jungs zustimmen, dass das Folgende das Beste für Lesbarkeit und zukünftige Unterstützung ist.

function yourfunc() { 

    return '<input type="submit" '. 
    'name="'.fm_form_submit_btn_name().'" '. 
    'id="'.fm_form_submit_btn_id().'" '. 
    'class="submit" '. 
    'value="'.fm_form_submit_btn_text().'" '. 
    'onclick="_gaq.push(["_trackEvent", "Form",'. 
    '"Submit", "'.fm_form_the_title().'"]); '. 
    fm_form_submit_btn_script().'"/>\n'; 

} 
+0

Dies ändert den Fehler von 'Syntaxfehler, unerwartete T_CONSTANT_ENCAPSED_STRING' nach' Syntaxfehler, unerwartete T_STRING' es lässt auch "onclick = \" ". Fm_form_submit_btn_script()." "." –

+0

Nevermind. Ich hatte ein falsches Zitat. Es ist zurück zu 'Syntaxfehler, unerwarteter T_CONSTANT_ENCAPSED_STRING' und vermisst immer noch den' "onclick = \" ". Fm_form_submit_btn_script()." \ "" .' –

+0

Ich habe meine Antwort aktualisiert, bevor ich heute Morgen meinen Kaffee getrunken habe. Probier was ich oben gepostet habe und lass es mich wissen. – TriangleTodd

Verwandte Themen