Zum Inhalt springen

Powermail 1.4.0 - JS Dateien nicht einbinden

Erstellt am 7. November 2008 · 22 Antworten · letzte Antwort am 18. März 2009 · Seite 1 von 2

Tags: Powermail, JavaScript & AJAX, Frage

nobbie ·

Hallo,

Ich hatte seither "powermail 1.3.16" installiert.
"fl_header_slide", "pmkslimbox" und "rgsmoothgallery" funktionierten ohne Probleme, nachdem ich das "plugin.powermail.js.Prototype" deaktiviert hatte.

Das Update auf 1.40 brachte jedoch die 3 Extension "fl_header_slide", "pmkslimbox" und "rgsmoothgallery" zum Erliegen.
Ebenso der "javascript-link" zu "mailto" funktionierte nicht mehr.
Habe daher wieder 1.3.16 installiert.

Wo liegt der Fehler?

nobbie

einpraegsam.​net ·

plugin.powermail.js.Prototype gibt es in 1.4.0 nicht mehr.

Die JS Dateien werden jetzt komfortabler eingebunden als früher - ein Blick ins ext_typoscript_setup.txt klärt auf:

# Add Javascript files to page header
page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js
page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js
page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js
page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js

page.headerData.31310 = COA
page.headerData.31310.wrap = <script src="|" type="text/javascript" />
page.headerData.31310 {
	10 = TEXT
	10.data = getIndpEnv:TYPO3_SITE_URL
	
	20 = TEXT
	20 {
		value = x
		stdWrap.wrap = |
		stdWrap.typolinkno_cache = 1
		stdWrap.typolink.returnLast = url
		stdWrap.typolink.parameter.cObject = COA
		stdWrap.typolink.parameter.cObject {
			10 = TEXT
			10.data = page:uid
			10.wrap = index.php?id=|
			10.required = 1
       
			20 = TEXT
			20.data = GPvar : L
			20.wrap = &L=|
			20.required = 1
		   
			40 = TEXT
			40.data = GPvar : cHash
			40.wrap = &cHash=|
			40.required = 1
		   
			50 = TEXT
			50.value = &type=3131
			50.required = 1
		}
	}
}

So kannst du diese natürlich auch einzeln wieder ausblenden:

page.includeJS.file31311 >
page.includeJS.file31312 >
page.includeJS.file31313 >
page.includeJS.file31314 >
page.headerData.31310 >

Grüße, Alex

nobbie ·

Hallo,

In dem "ext_typoscript_setup.txt" Version 1.4.0 und 1.4.1 befindet sich eine Zeile
mit folgendem Inhalt: "---", diese verursacht folgenden Fehler
"Line 8080: Object Name String, "---" was not preceded by any operator, =<>({"
wie im "TypoScript Object Browser" zu sehen ist.

Die Zeile löschen oder eine Raute "#" davor setzen.

Zu meiner Frage: "Syntaxfehler: 'Validation' ist undefiniert"
wo muss ich da ansetzen?.

nobbie

einpraegsam.​net ·
nobbie schrieb

Hallo,

In dem "ext_typoscript_setup.txt" Version 1.4.0 und 1.4.1 befindet sich eine Zeile
mit folgendem Inhalt: "---", diese verursacht folgenden Fehler
"Line 8080: Object Name String, "---" was not preceded by any operator, =<>({"
wie im "TypoScript Object Browser" zu sehen ist.

Die Zeile löschen oder eine Raute "#" davor setzen.

Zu meiner Frage: "Syntaxfehler: 'Validation' ist undefiniert"
wo muss ich da ansetzen?.

nobbie

1. Da hast du Recht - dürfte aber keine Auswirkungen haben (hoffe ich)
2. Da du alle JS entfernt hast, musst du auch den Aufruf im HTML Template entfernen: tmpl_formwrap.html -> Marker ###POWERMAIL_MANDATORY_JS### löschen
Aber auch das darf keine technische Auswirkungen aufs Formular haben schätze ich

grac ·

hallo

habe vermutlich dasselbe problem, oder mindestens ein ähnliches: seit dem update von POWERMAIL funktionieren meine RGTABS nicht mehr.

hat ganz offensichtlich mit unvereinbaren JS zu tun?!

ich habe scheinbar zwei möglichkeiten:
- entweder jene EXT nicht verwenden, die mootools-kompatibel sind
- oder dann JS von POWERMAIL abschalten.

das macht für mich aber keinen sinn, denn die JS haben ja jeweils einen guten zweck.

gibt es denn keine möglichkeit, eine vereinbarkeit anzustreben, damit unterschiedliche EXT gleichzeitig benützt werden können?

besten dank für eine hilfreiche antwort.

stephan

einpraegsam.​net ·
grac schrieb

gibt es denn keine möglichkeit, eine vereinbarkeit anzustreben, damit unterschiedliche EXT gleichzeitig benützt werden können?

Gleichzeitiges Betreiben im vollen Umfang ist nahezu unmöglich - nach wie vor bleibt hier nur die Lösung, die Powermail JS Files nur auf der Seite mit dem Formular einzubinden.

grac ·

nach wie vor bleibt hier nur die Lösung, die Powermail JS Files nur auf der Seite mit dem Formular einzubinden

ok, ich werd's versuchen.

zum abstellen im root-template ist also folgender ts-code nötig (wie du weiter oben beschrieben hast):

page.includeJS.file31311 >
page.includeJS.file31312 >
page.includeJS.file31313 >
page.includeJS.file31314 >
page.headerData.31310 >

aber wie muss ich vorgehen, damit die js auf der entsprechenden powermail-page weiter unten im page-tree dann wieder eingeschaltet werden?

einpraegsam.​net ·

Steht in der ext_typoscript_setup.txt

page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js
page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js
page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js
page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js

page.headerData.31310 = TEXT
page.headerData.31310 {
    wrap = <script src="|" type="text/javascript"></script>
    typolink.parameter.data = page : uid
    typolink.additionalParams = &type=3131
    typolink.addQueryString = 1
    typolink.returnLast = url
}
Toccamonium ·

Ich habe ebenfalls alles an JS rausgeworfen, damit es
mit einem anderem JS-Framework keine Probleme gibt.

Dummerweise funktinieren aber die Checkboxen nicht mehr.
Sprich, diese werden zwar angezeigt, ich kann überall einen
Check setzen, aber die Werte werden nicht übernommen, weder
auf den Bestätigungsseite noch in den Emails. Woran könnte
das liegen?

einpraegsam.​net ·
Toccamonium schrieb

Ich habe ebenfalls alles an JS rausgeworfen, damit es
mit einem anderem JS-Framework keine Probleme gibt.

Dummerweise funktinieren aber die Checkboxen nicht mehr.
Sprich, diese werden zwar angezeigt, ich kann überall einen
Check setzen, aber die Werte werden nicht übernommen, weder
auf den Bestätigungsseite noch in den Emails. Woran könnte
das liegen?

Per constants kannst du die JS checkbox ausschalten, dann hast du Checkboxen ohne Hiddenfields im Einsatz

einpraegsam.​net ·

INFO: Seit powermail 1.4.3 werden die JS Dateien nur noch auf Seiten mit Powermail Plugin eingebunden - so ist also ein paralleler Betrieb von mootools und powermail möglich (wenn auch nicht auf der gleichen Seite).

Grüße und frohes Fest, Alex

Jack-T ·

Hi! I still have the js-bug (only) in Internet Explorer 7 🙁

On the form page :

Line: 685
Char: 5
Error: 'validation' is undefined
Code: 0

On the conformation page and error page (if not filled in all mandatory fields) :

Line: 241
Char: 58
Error: ']' is expected in regular expression
Code: 0

Powermail version 1.4.3

Best wishes for 2009!

Unbekannter Benutzer ·

Hi,
ich wollte mal nachfragen, wie der aktuelle Stand zur Deaktivierung aller JavaScript-Ausgaben ist:

## Prototype und andere JS deaktivieren
page.includeJS.file31311 >
page.includeJS.file31312 >
page.includeJS.file31313 >
page.includeJS.file31314 >
powermailJS >
plugin.tx_powermail_pi1.template.formWrap = fileadmin/template/powermail/tmpl_formwrap.html

So?
Mit entferntem Marker im tmpl_formwrap.html?

Wäre evtl. cool das Javascript für den Marker, das den Fehler verursacht auch in ein im Header inkludiertes JS-File zu schreiben. Dann könnte man es genauso schön mit TS deaktivieren.

sensomedia ·

also ich hab mir mal die ext_typoscript_setup.txt im powermail folder angeschaut, weil ja angeblich das einbinden der dateien nur noch auf seiten erfolgen soll, die ein powermail plugin drin haben... naja, das stimmt ja leider nicht ganz (ja, ich rede von 1.4.10) siehe bsp. unten...
und die ins page objekt reingedrückten headerdatas mal eben freizugeben is ja ok, aber dafür muss mans auch zwingend im setup feld seines templates machen... wenn man wie ich aber den ganzen setup usw. krempel in n statisches template ner extension auslagert (übrigens sehr praktisch um das ganze layout zu kapseln) dann is man erstmal gelinkt, weil die 'ext_typoscript_setup.txt' sich natürlich immer vordrängelt, also wieder von hand in die seite eintragen ...

abgesehen davon... warum werden denn, wenn schon extra ne funktion dafür sorgt, das die dateien nur auf der passenden seite includiert werden, dann einige immer noch includiert??
in verbindung mit realurl hat man dann auf jeder seite n include wie:
<script src="http://www.domain.de/validation/seitenname.html" type="text/javascript"></script>
das is doch unnötiger ballast, der vorallem auf jeder seite neu geladen wird...

Aktueller Stand:

# userFunc to check if powermail is on current page
# powermail is on current page and prototype should be used
[userFunc = user_powermailOnCurrentPage()] && [globalVar = LIT:prototype = {$plugin.powermail.libraryToUse}]
	page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js
	page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js
	page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js
[end]
# powermail is on current page and mootools should be used
[userFunc = user_powermailOnCurrentPage] && [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}]
	page.includeJS.file31312 = EXT:powermail/js/mootools/mootools-1.2.1-packed.js
[end]
page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js
page.headerData.31310 < lib.powermail_dynJavascript
seite.headerData.31310 < page.headerData.31310
seite.includeJS.31311 < page.includeJS.file31311
seite.includeJS.31312 < page.includeJS.file31312
seite.includeJS.31313 < page.includeJS.file31313
seite.includeJS.31314 < page.includeJS.file31314

Hab ich mir mal erlaubt zu modifizieren:

# userFunc to check if powermail is on current page
# powermail is on current page and prototype should be used
[userFunc = user_powermailOnCurrentPage()] && [globalVar = LIT:prototype = {$plugin.powermail.libraryToUse}]
	page.headerData.31310 < lib.powermail_dynJavascript
	page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js
	page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js
	page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js
	page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js
[global]
# powermail is on current page and mootools should be used
[userFunc = user_powermailOnCurrentPage()] && [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}]
	page.headerData.31310 < lib.powermail_dynJavascript
	page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js
	page.includeJS.file31312 = EXT:powermail/js/mootools/mootools-1.2.1-packed.js
[global]

die umschaltmöglichkeit auf mootools bringt im übrigen ja nicht so viel oder bin ich der einzige, der die validation.js umschreiben musste, damit die validation auch damit funktioniert?? werd den code dadrin mal saubermachen und mich die tage mal melden. is ja vielleicht was für die nächste version. hab grad im moment leider zu viel zu tun....

so... das alles einfach mal zur diskussion gestellt 😉

...aber nach der vermeindlichen motzerei trotzdem mal hohes lob für diese extension... is ja mittlerweile auch n dicker brummer geworden, da kann nicht alles immer auf jedem system total reibungslos fuktionieren 🙂

l8ers, iggy