Powermail scheint der einzige wirklich brauchbare Formularmailer für Typo3 zu sein. Leider ist es gleichzeitig so mies programmiert, daß es auf Gedeih und Verderb immer JQuery einbindet. Das Problem ist nur, daß wir das Jahr 2013 schreiben und auf Webseiten heutzutage nicht nur 1 Anwendung JQuery nutzt, sondern mehrere. Während aber alle anderen Erweiterungen sich wunderbar mit der Erweiterung T3JQuery vereinen lassen, weigert sich Powermail beharrlich JQUery nicht auch noch zum zweiten Mal einzubinden. Damit zerschießt die Erweiterung dann alle anderen Anwendungen auf der Seite (und natürlich auch sich selbst). #angry#
Ich habe versucht das Powermail irgendwie auszutreiben, aber ohne Erfolg. Eine Zusammenarbeit mit T3JQuery? Fehlanzeige. Ein Schalter in den Einstellungen um das Einbinden zu verhindern? Gibt es nicht. Eine Anpassung der JQUery Eibindung per Typoscript? Nicht vorhanden. Ja selbst den Sourcecode von Powermail habe ich mir angesehen und dann versucht die dortige Einbindung im Setup per "page.includeJSFooterlibs.powermailJQuery >" etc. zu überschreiben. Interessiert Powermail nicht, JQuery wird trotzdem eingebunden.
Gerade weil Powermail aber eine eher beliebte und viel genutzt Erweiterung ist, kann es doch nicht sein, daß es hier keine Lösung gibt. Wer eine moderne Homepage basteln will hat doch ganz zwangsläufig auch andere JQuery Erweiterungen am Laufen. Also...
- Gibt es da irgendeine Lösung um das Einbinden von JQuery durch Powermail zu verhindern?
- Falls nein, gibt es vielleicht ein anderes Workaround? Etwa mit Child Templates oder ähnlichem?
- Und falls auch das nicht geht: Welche Alternative habe ich zu Powermail? Benötigt wird ein Formularmailer mit Datepicker.
Ich hoffe auf eure Hilfe und sage schon mal vorab Danke!
Oioioi, da macht sich aber jemand so richtig böse #paralyzed#
Dokumentation hast du gelesen? Wirklich?
Läßt sich nämlich alles wunderbar per Typoscript-Constants an-/abschalten.
Version 1.6.X
plugin.powermail {
js.includeJquery = 0
js.includeJqueryTools = 0
js.includeJqueryToolsTabs = 0
}
Version 2.0.x
plugin.powermail {
javascript {
powermailJQuery >
powermailJQueryUi >
}
}
Immer schön ruhig Blut bewahren, ist besser für die Gesundheit.
Ja, Doku habe ich natürlich gelesen. Dort steht bei mir, daß sich das nicht abschalten lässt und auch, daß Powermail nicht mit T3JQuery zusammenarbeitet.
Den Code habe ich bereits vor ein paar Tagen ausprobiert, und wie bereits gesagt, Powermail bindet trotzdem JQuery ein.
Darüber hinaus ich mittlerweile Powermail mal laufen lassen und alle anderen JQuery Erweiterungen ausgeschaltet. Das Ergebnis ist ebenfalls ernüchternd. Datumsfelder lassen sich zwar einbauen, ein Datepicker ist aber nicht zu sehen. Warum bindet Powermail dann überhaupt das Datepicker Lib von JQuery ein?
Meine Suche diesbezüglich brachte mich zur Erweiterung Date2Calender, welche angeblich helfen sollte. Doch die ist seit langem als obsolete gekennzeichnet. Angeblich wäre ein Datepicker bereits ab 4.4 im Core. Falls dem so ist, wo bitte hat man den versteckt? Das neue Typo3 Formular Element bietet ihn jedenfalls nicht an.
Ich werde jetzt heute noch mal Fromhandler ausprobieren, den Nachfolger von Mailformplus, in der Hoffnung, daß dort ein Datepicker zu finden ist.
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.
akonze schrieb
Ja, Doku habe ich natürlich gelesen. Dort steht bei mir, daß sich das nicht abschalten lässt und auch, daß Powermail nicht mit T3JQuery zusammenarbeitet.
Die Dokumentation möchte ich jetzt aber sehen. #paralyzed#
Welche Version von Powermail ist denn das - 0.1 alpha oder was?
Du behauptest Sachen, die ganz einfach nicht stimmen.
Man kann powermail sowohl mit als auch ohne t3jquery nutzen,
du kannst auch völlig auf jQuery verzichten, du kannst dir einen Validator mit welchem auch immer Javascript-Framework selber bauen, oder die Validierung nur in PHP machen lassen.
Ich benutze Powermail mit t3jquery seit Jahren erfolgreich auf diversen Webseiten ( Anzahl > 20).
Daß dir das nicht gelingt liegt ganz offensichtlich an deiner Attidüde -
stay calm & RTFM #evil#
Ich schildere nur die Situation, wie sie sich für mich darstellt. Du magst andere Erfahrungen gemacht haben, aber das ändert nichts an meiner Situation.
Ich habe die Version 2.0.6 von Powermail installiert. Dort steht in der Anleitung:
How can I disable the including of jQuery?
Yes
Maybe you already included jQuery on every of your pages. So powermail should not include it twice. Overwrite it with TypoScript Setup:
page.includeJSFooterlibs.powermailJQuery >
page.includeJSFooterlibs.powermailJQueryUi >
Genau das habe ich gemacht, wie ich (und das sage ich jetzt zum dritten Mal #paralyzed# ) bereits in meinem ersten Post schrieb. Es nützt aber nichts, da Powermail trotzdem hingeht und die Bibliothek einbindet.
Und auch mit T3JQuery arbeitet Powermail nicht zusammen. Auch das steht in der Anleitung:
How can I use t3jquery?
No
Beides steht im Bereich FAQ meiner Anleitung, wenn ich diese im Open Office Writer öffne.
Im Manual zu 2.0.6 steht zur Frage "How can I use t3jquery?" als Antwort
"You can manually disable the including of the libraries from google (see line above) and force to use jQuery from t3jquery (see manual of that extension)".
Vielleicht hast du ja noch eine ältere Version.
Ansonstem immer daran denken, daß das Manual nicht immer auf dem neuesten Stand ist.
Wenn dann irgendwelche im Handbuch genannten Typoscript-Schalter nichts bewirken,
muß man eben selber mal eine Blick in das Typoscript der jeweiligen Extension werfen,
da ist ja nichts in Stein gemeißelt.
Oder man sponsort den Entwickler der Extension, so daß er das Manual auf Vordermann bringen kann. 😃
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.
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 ...
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!
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.
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
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.
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. 😉
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 schriebAus 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...
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 schriebAus 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?
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.
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.
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.