Zum Inhalt springen

Powermail und JQuery

Erstellt am 5. Juni 2013 · 17 Antworten · letzte Antwort am 10. Juli 2014

Tags: Powermail, JavaScript & AJAX, Frage

akonze ·
jenses schrieb

Vielleicht hast du ja noch eine ältere Version.

Nein, ich habe definitiv Version 2.0.6. Ich habe das Problem mittlerweile lokalisieren können. Ursache scheint ein Fehler im "Powermail_Frontend" Modul zu sein. Sobald es eingebunden wird, bindet Powermail JQuery selber ein, egal ob man es per Typoscript gemäß Anleitung ausgeschaltet hat oder nicht.

Wir verzichten jetzt erst einmal auf zwei geplante Features und bringen die Seite live. Eventuell wird das ja in einer der kommenden Versionen behoben.

Norman2k ·

Hilft jetzt wahrscheinlich nicht wirklich weiter aber bei mir funktioniert es wie es in der Doku steht (TYPO3 4.7, Powermail 2.0.6)

page.includeJSFooterlibs.powermailJQuery >
page.includeJSFooterlibs.powermailjQueryUi >

Funkt da eventuell irgendwas anderes dazwischen? Nur so ne Idee ...

j4k3 ·

Danke erst mal, jenses, für die Constants-Fragmente, bei mir hats gegriffen. Diese Schnippsel werden bei mir den weg in jede neue TYPO-Installation finden. Und …

akonze schrieb

Und ja, ich bin böse. Und ich sage dir auch gerne warum: Weil ich viel damit verschwende ganz einfache Sachen in Typo3 zu realisieren. Es ist toll, daß Typo3 so leistungsfähig ist, aber es ist einfach niemandem klar zu machen, daß Typo3 viel besser ist als Joomla, wenn man eine Woche erfolglos versucht ein simples Reservierungsformular hinzubekommen. Ich stelle das meinen Kunden gar nicht erst in Rechnung, weil ich mich schämen muss für so ein Gehudel.

… full ack. Es ist nicht zu fassen, dass TYPO3 2013 immer noch keine klaren Vorgaben dazu macht, wie jQuery oder andere Javascript-Libraries von Extensions aus einzubinden sind. Geschweige denn, sich um Reihenfolge, Abhängigkeiten und Konflikte selbst zu kümmern. Unfuckingfassbar. Zweitausenddreizehn!

Norman2k ·
j4k3 schrieb

… full ack. Es ist nicht zu fassen, dass TYPO3 2013 immer noch keine klaren Vorgaben dazu macht, wie jQuery oder andere Javascript-Libraries von Extensions aus einzubinden sind. Geschweige denn, sich um Reihenfolge, Abhängigkeiten und Konflikte selbst zu kümmern. Unfuckingfassbar. Zweitausenddreizehn!

TYPO3 bietet dir genug Möglichkeiten das alles so zu steuern wie du es willst, wenn die Extension-Entwickler das aber ignorieren, ist es doch nicht die Schuld von TYPO3!
Und das ist vielleicht der Nachteil an TYPO3, es bietet dir alle Möglichkeiten, nur du musst sie kennen und dann entsprechend einsetzen.
Und wenn jemand meint, dass er in seiner Extension irgendwelche JS-Libs fest verdrahten muss, dann sollte der eben keine Ext. mehr schreiben und veröffentlichen. Aber da kann man tagelang drüber diskutieren, einerseits sind es die Unmengen an Extensions die TYPO3 so beliebt machen, anderseits ist bei den Ext. eben auch viel Müll dabei, von Leuten die anscheinend absolut keine Ahnung von der API haben.

jenses ·
Norman2k schrieb

Aber da kann man tagelang drüber diskutieren, einerseits sind es die Unmengen an Extensions die TYPO3 so beliebt machen, anderseits ist bei den Ext. eben auch viel Müll dabei, von Leuten die anscheinend absolut keine Ahnung von der API haben.

Man könnte das TER sicher um 70-80% abspecken,
wenn man den ganzen Müll aussortieren würde.
Nur weil man seine Extensions veröffentlichen kann, bedeutet nicht, daß man es tun muß o.O

akonze ·
Norman2k schrieb

TYPO3 bietet dir genug Möglichkeiten das alles so zu steuern wie du es willst, wenn die Extension-Entwickler das aber ignorieren, ist es doch nicht die Schuld von TYPO3!

Der Wildwuchs ist sehr wohl die Schuld von Typo3! Die Entwickler entscheiden, welche Teile in den Core kommen und welche Teile man Dritten in Form von Erweiterungen überlässt. Wichtige Bibliotheken wie JQuery, die die Grundlage für tausende Applikationen im Web sind, müssen ganz klar in den Kern und dort zentral für alle Extensions zur Verfügung stehen. Javascript hat im Zuge von HTML5 einen neuen Aufschwung erlebt, den man bei Typo3 komplett verpennt hat. Deswegen kann man sich als Typo3 Integrator entscheiden, ob man eine Webseite macht, die aussieht wie im vorherigen Jahrzehnt, oder ob man eine moderne Seite macht, die am Ende recht instabil ist und hohe Kosten in der Umsetzung verursacht. Gerade letzteres ist dann meist das KO Kriterium im Preiskampf mit anderen Anbietern bzw. Systemen.

Was nützen mir Sachen wie die Multi Domain Fähigkeit oder die Mehrsprachigkeit im Kern, wenn man das in 75% aller Aufträge nicht braucht. Dafür aber jedes Mal betet, daß jetzt nicht der Slider zusammenbricht, wenn ein JQuery Formmailer installiert wird.

Typo3 muss endlich mal moderner werden, sonst ist es in 5 Jahren verschwunden.

Norman2k ·
akonze schrieb

Wichtige Bibliotheken wie JQuery, die die Grundlage für tausende Applikationen im Web sind, müssen ganz klar in den Kern und dort zentral für alle Extensions zur Verfügung stehen.

Nein, ich als Entwickler will entscheiden welche Lib in welcher Version ich wo nutzen will. Wenn ich mir darüber als Entwickler keine Gedanken machen will/kann, dann verwende ich irgendein CMS wo ich Sachen nur zusammen klicken brauch, mit dem ich dann aber schnell an irgendwelche Grenzen stoße.
Wieso eine 3rd-Party Lib für das Frontend in den TYPO3-Core integrieren, wenn das auch mit 2 Zeilen TS erledigt werden kann. Wie gesagt, ich sehe da die Ext.-Ersteller in der Pflicht sich an die TYPO3-API zu halten, so dass ich eventuell mit gelieferte Libs deaktivieren kann und z.B. meine global eingebundene Lib verwenden kann.

akonze schrieb

Deswegen kann man sich als Typo3 Integrator entscheiden, ob man eine Webseite macht, die aussieht wie im vorherigen Jahrzehnt, oder ob man eine moderne Seite macht, die am Ende recht instabil ist und hohe Kosten in der Umsetzung verursacht.

Aus meiner Erfahrung kann ich sagen, dass das Blödsinn ist. Natürlich ist so eine "Standard-Seite" (Header, Nav, bisschen Text mit Bild und Footer) günstiger als so ein One-Pager mit parallax-scrolling und anderem Schnickschnack aber das wird bei anderen CMSen auch nicht anders sein. Aber das die Kosten dann explodieren oder die Seite instabil läuft? Sicherlich nicht.

akonze schrieb

Typo3 muss endlich mal moderner werden, sonst ist es in 5 Jahren verschwunden.

Wir sprechen uns in 5 Jahren wieder, wenn TYPO3 dann verschwunden ist, geb ich dir ein Bier aus. 😉

akonze ·
Norman2k schrieb

Nein, ich als Entwickler will entscheiden welche Lib in welcher Version ich wo nutzen will.

Das mag sein, daß du als Entwickler das gerne willst. Aber wenn jeder Entwickler das für sich anders entscheidet, dann harmonieren die einzelnen Extensions am Ende nicht. Genau das ist ja der Zustand wie er sich aktuell darstellt. Erweiterung A arbeitet mit T3Jquery, Erweiterung B überschreibt gnadenlos und Erweiterung C benötigt das Setzen einer TS Variablen in der Config. Das bringt bei der Umsetzung von Webseiten unnötige Arbeit.

Norman2k schrieb

Aus meiner Erfahrung kann ich sagen, dass das Blödsinn ist.

Andere Meinungen als "Blödsinn" abzutun zeugt nicht gerade von geistiger Reife. Aber sei es drum. Die Fakten sprechen ja eine deutliche Sprache. Man muss sich nur mal die Installationszahlen anschauen...

Norman2k ·
akonze schrieb
Norman2k schrieb

Nein, ich als Entwickler will entscheiden welche Lib in welcher Version ich wo nutzen will.

Das mag sein, daß du als Entwickler das gerne willst. Aber wenn jeder Entwickler das für sich anders entscheidet, dann harmonieren die einzelnen Extensions am Ende nicht. Genau das ist ja der Zustand wie er sich aktuell darstellt. Erweiterung A arbeitet mit T3Jquery, Erweiterung B überschreibt gnadenlos und Erweiterung C benötigt das Setzen einer TS Variablen in der Config. Das bringt bei der Umsetzung von Webseiten unnötige Arbeit.

Das hast du immer, wenn du der Community die Möglichkeit bietest, eigene Erweiterungen zu schreiben und zu veröffentlichen. Nimm Magento, Joomla oder was auch immer, ich habe überall die selben Erfahrungen gemacht. Und die Gründe sind fast immer die selben: einfach nur schlecht programmiert, sich an keine Coding-Guidlines gehalten, die API ignoriert usw.
Jenses hat es oben schon treffend geschrieben:

jenses schrieb

Nur weil man seine Extensions veröffentlichen kann, bedeutet nicht, daß man es tun muß

akonze schrieb
Norman2k schrieb

Aus meiner Erfahrung kann ich sagen, dass das Blödsinn ist.

Andere Meinungen als "Blödsinn" abzutun zeugt nicht gerade von geistiger Reife. Aber sei es drum. Die Fakten sprechen ja eine deutliche Sprache. Man muss sich nur mal die Installationszahlen anschauen...

Wollen wir uns wirklich auf dieses Niveau herab begeben und beleidigend werden? Wenn jemand sagt, dass es nur die Farben Rot und Grün gibt, dann kann das vielleicht seine Meinung sein aber trotzdem ist diese Aussage Blödsinn weil es eben unwahr ist. Und genau so ist deine Aussage, dass man mit TYPO3 nur Seiten machen kann, die aussehen wie vor 10 Jahren oder aber modern und dafür nicht stabil laufen und hohe Kosten in der Umsetzung verursachen, einfach nur falsch und daher meiner Meinung nach völliger Blödsinn.
Allerdings weiß ich auch nicht, was du genau unter "hohe Kosten" verstehst.

akonze schrieb

Man muss sich nur mal die Installationszahlen anschauen...

Im Vergleich zu was? Joomla? Wordpress? Drupal?

Unbekannter Benutzer ·

Akonze das kommt wirklich sehr stark auf den Anwendungsfall an. Wenn Du immer Webseiten in ähnlicher Größe machst, ist das natürlich praktisch direkt ein Gesamtpaket zu bekommen. Allerdings kann man sich das ja auch selbst aufbauen und einfach Extensions und Einstellungen sammeln die gut zusamen passen.

In größeren Projekten ist man über die Flexibilität sehr glücklich. Da werden sowieso häufig keine oder wenige fertige Extensions genutzt. Wenn ich dann da plötzlich immer ein jQuery aus dem Core hätte obwohl ich vielleicht ein anderes Framework oder gar keine Library benutze dann würde mich das schon stören.

tpokorra ·

Ich hatte gerade dasselbe Problem, dass trotz dieser Zeilen

# Powermail soll kein jquery laden:
page {
  includeJSFooterlibs {
      powermailJQuery <
      powermailJQueryUi <
  }
}

in meiner setup.ts Datei die Seite mit dem Formular im Frontend immer noch das powermail JQuery geladen hat.

Endlich habe ich es dann kapiert:
Ich habe die setup.ts auf der Wurzelseite im Template eingebunden, aber das Powermail im Template unter "Enthält" nur lokal auf der Seite aktiviert. Deswegen hat das Plugin wohl meine Zeilen im setup.ts "überschrieben".

Lösung: entweder die Zeilen lokal auf der Seite einfügen, oder das Plugin im Template auch in der Wurzel aktivieren.

einpraegsam.​net ·

Powermail < 2.1.0 bindet automatisch jQuery ein. Die Einbindung komplett Ausschalten geht einfach über:

page {
	includeJSFooterlibs {
		powermailJQuery >
		powermailJQueryUi >
		powermailJQueryUiDatepicker >
		powermailJQueryFormValidationLanguage >
		powermailJQueryFormValidation >
		powermailJQueryTabs >
	}
	includeJSFooter {
		powermailForm >
	}

Was vor Urzeiten eine scheinbar gute Idee war, ist mittlerweile überholt. Ab der Version 2.1.0 bindet Powermail jQuery bei Installtion nicht mehr automatisch ein. Hier müsste man per TypoScript Setup eine Einbindung erst aktivieren.