Fehlermeldung beim Einfügen eines Scriptes in template.php
am 28.07.2014 - 08:31 Uhr in
Hallo zusammen,
ich wollte ein Script mit drupal_add_js in das Template einfügen, aber er wirft mir immer den Fehler:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/htdocs/w011703e/drupal/themes/seven/template.php on line 11
Hier der Codeabschnitt
function adgoal_init() {
drupal_add_js('
(function ($) {
Drupal.behaviors.exampleModule = {
attach: function(context, settings) {
// var ao_subid = "";
var atSlCgHost = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%3Cscript src='" + atSlCgHost + "js.smartredirect.de/js/?h=9dQ01j3x' type='text/javascript'%3E%3C/script%3E"));
}
};
})(jQuery);
', 'inline');
}
Die Zeile in der er meckert ist document.write....
Drupalversion: 7.29
PHP-Version: 5.3.18-nmm1
Hat einer ne Idee woran es liegen könnte? Vielleicht an der PHP-Version?
- Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du den Text der Funktion
am 28.07.2014 - 08:44 Uhr
Wenn Du den Text der Funktion in single qotes packst, mußt Du single Quotes im Inneren Escapen un das hast Du in dieser Zeile nicht getan.
Warum legst Du diese JS-Funktion nicht in eine eigene Datei im js-Ordner Deines Themes (im Zweifel den Ordner anlegen). Dann kannst Du die .js-Datei im .info-File Deines Themes einbinden. Dann hast Du auch nicht diese Probleme mit den Quotes. Wenn Du die JS-Datei nicht permanent einbinden willst, kannst Du sie auch gezielt mittels drupal_add_js als Datei einbinden.
Wenn ich die Doublequotes
am 28.07.2014 - 11:02 Uhr
Wenn ich die Doublequotes ersetzte ändert sich die Fehlermeldung in T_STRING als Error.
Ich wollte das Erzeugen zusätzlicher Dateien und Einträge vermeiden um es den Nutzern des Skriptes einfach zu machen dieses einzubinden.
Danke schonmal! :)
???
am 28.07.2014 - 11:50 Uhr
Ich wollte das Erzeugen zusätzlicher Dateien und Einträge vermeiden um es den Nutzern des Skriptes einfach zu machen dieses einzubinden.
Das verstehe ich nicht. Es macht keinen Unterschied für die Benutzung, ob Du das Script über die template.php oder als Datei über die .info-Datei des Themes einbindest. Wenn Du mit der programmatischen Anbindung des Scripts Probleme hast, geht es als Datei einfacher.
Ja stimm schon. Das Ganze
am 28.07.2014 - 12:05 Uhr
Ja stimm schon.
Das Ganze soll aber in einer Anleitung für die Einbindungn des Skriptes münden und dann ist es besser möglichst wenig Schritte zu haben.
Das hätte ich beim letzten Post mit dazu schreiben sollen ;)
Für jemanden, der mit der
am 28.07.2014 - 12:16 Uhr
Für jemanden, der mit der programmiertechnischen Einbindung nicht vertraut ist, ist die Einbindung über die .info-Datei des Themes das Mittel der Wahl. Das benötigt genau zwei Schritte: Hochladen des Scripts und editieren der .Info-Datei. Das Script kann dabei bereits vorher separat getestet werden. Was das Einbinden über die template.php bedeutet, erlebst Du ja selbst gerade. Da gibt es diverse Fallstricke.
Ja das Script wird
am 28.07.2014 - 12:30 Uhr
Ja das Script wird userspezifisch als Code generiert und als Plain-Text und und nicht als Datei übergeben. Es sind also nur ein paar Schritte mehr. Das mit den Fallstricken gibts immer ;)
Ich werde es jetzt auch mit der .js-Datei lösen.
Danke vielmals!