Hallo Till,

im Alltag findet man selten Zeit für Fortbildung und für die Refletion
der eigenen Arbeit. Aber vielleicht ist dein Ansatz der grundsätzlich
falsche Weg? Vielleicht solltest du jQuery in die gedankliche Ecke
veraltet/outdatet verschieben und Zeit für eine javaScript-Fortbildung
reservieren?

Ich bin eigentlich php-Entwickler. und bin aktuell 'gezwungen', mein
Wissen zum JavaScript aufzufrischen. Die allermeisten jQuery-Funktionen
kann man heutzutage direkt mit Ecma2015 ohne den Umweg über jQuery
realisieren, wobei der Code oft lesbarer wird..
Konstruktionen wie

const neuFunc = (Blau) => {console.log(Blau+' ist doof.'};

oder Schleifen (jQuery.each(..)) wie
    for (const prop in Obj)
oder
   for ( const obj of objList)

sind gut zu kapseln, leichter lesbar und per UnitTest gut zu testen. Sie
erfordern aber eine andere Art der Programmierung und vor allem auch
eine andere Sicht auf die Aufgaben erzwingen. Die neue Sicht beißt sich
mit dem funktionalen Stil von jQuery, wie ich aktuell immer wieder
feststellen/lernen muss.. 

Wenn du in deinen Funktionen Promise-Objekte geschickt verwendet,
brauchts du vermutlich das jQuery.ready() nicht mehr wirklich, weil
manche Funktionen automatisch erst dann ausgeführt werden, wenn deine
DOM-Objekte vorhanden sind.

https://javascript.info/promise-basics

Ich denke, dass Fluid in Zukunft als Template-Engine an Bedeutung
verlieren wird, weil JavaScript-Funktionen dies besser können und weil
damit der Entwicklungsprozess (Foto-Design als Vorlage für
Clickdummy/Clickdummy als Frontend-Vorlage für TYPO3-Backend-Logik)
erleichtert wird. Clickdummy werden zukünftig mehr javaScript enthalten,
um die echt-getrennt-parallele Entwicklung von Frontend und Backend zu
erlauben/ermöglichen.

Mit besten Grüßen

      Dieter


Es ist immer gut, seine Funktionen zu kapseln.

Am 06.11.2020 um 18:45 schrieb g4-l...@tonarchiv.ch:
> Das war ein super Hinweis!
>
> require(["jquery"], function($) {
>    //your awesome function
> });
>
> Allerdings musste ich meinen Code etwas umschreiben. Da ja alles in
> dieses require ( ... )  "gewrapt" wird, sind die Funktionen global nicht
> mehr sichtbar. D.h. onclick="myfunc();" im Template geht dann nicht mehr.
>
> Nun funktioniert es. Aber ich frage mich nach wie vor was man tun muss,
> um jQuery direkt benutzen zu können, also innerhalb des Templates...
>
> Grüsse,
> Till   
>
> On 06.11.20 15:25, li...@berlin-typo3.de wrote:
>> https://stackoverflow.com/questions/55969780/typo3-how-to-add-a-css-and-js-on-the-backend
>>
>>
>>> Am 06.11.2020 um 15:19 schrieb li...@berlin-typo3.de:
>>>
>>> Habe es noch nicht gemacht in v10,
>>>
>>> Hilft das:
>>>
>>> GeneralUtility::makeInstance(PageRenderer::class) 
>>> ->addRequireJsConfiguration([        
>>> 'paths' => [          
>>> 'custom-lib' => '/typo3conf/ext/my_ext/foo.lib.js',       
>>> ],  
>>> 'shim' => [     
>>> 'custom-lib' => ['jquery'],
>>> ],  
>>> ]);
>>>
>>> https://typo3.com/blog/how-to-use-javascript-in-typo3s-backend?utm_medium=TYPO3%20Blog&utm_source=Blog%20Post%20-%20How%20to%20use%20JavaScript%20in%20TYPO3%27s%20backend&utm_campaign=Blog:%20Technology
>>>
>>>
>>> Viele Grüße
>>> Birgit
>>>
>>>> Am 06.11.2020 um 15:05 schrieb g4-l...@tonarchiv.ch:
>>>>
>>>> Hallo Birgit,
>>>>
>>>> das hilft mir leider auch nicht. Es geht mir generell um die Benutzung
>>>> von jQuery, nicht nur für $(...).ready.
>>>>
>>>> Laut
>>>>
>>>>
>>>> https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/JavaScript/RequireJS/Extensions/Index.html
>>>>
>>>> kann ich mein eigenes RequireJS Modul bauen, und dann wird dort wohl
>>>> jQeur injiziert.
>>>>
>>>> Aber auch damit ist mir noch nicht klar, wie ich was ganz Simples mit
>>>> jQuery im Fluid-Template machen kann, wie z.B.
>>>> oncklick="$(".classXy").macheIrgendwas();".
>>>>
>>>> Grüsse,
>>>> Till
>>>>
>>>> On 06.11.20 14:21, li...@berlin-typo3.de wrote:
>>>>> Hallo Till,
>>>>>
>>>>> Hilft dir das weiter?
>>>>>
>>>>> https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/JavaScript/Modules/DocumentService.html
>>>>>
>>>>>
>>>>> Viele Grüße
>>>>> Birgit
>>>>>
>>>>>
>>>>>> Am 06.11.2020 um 14:15 schrieb g4-l...@tonarchiv.ch:
>>>>>>
>>>>>> Hallo Silke,
>>>>>>
>>>>>> leider ist auch 'jQuery' undefiniert.
>>>>>>
>>>>>> Ich habe es auch noch mit includeRequireJsModules="{0:'jquery'}"
>>>>>> versucht, das hat aber auch nicht geholfen.
>>>>>>
>>>>>> Geht das wirklich nur noch mit requireJS? Aber trotzdem müsste doch
>>>>>> jQuery irgendwie verfügbar werden...
>>>>>>
>>>>>> Grüsse,
>>>>>> Till
>>>>>>
>>>>>> On 06.11.20 13:47, Silke Capo wrote:
>>>>>>> Hallo Till,
>>>>>>>
>>>>>>> bin leider noch auf 9.x, hatte aber früher das Problem, mehrere
>>>>>>> Bibliotheken zu haben, die alle "$" belegt hatten. Dort wurde jquery
>>>>>>> dann folgendermaßen eingebunden:
>>>>>>>
>>>>>>> jQuery.noConflict();
>>>>>>> jQuery(document).ready(function($){ ... }
>>>>>>>
>>>>>>> Vielleicht funktioniert das in deinem Fall ja auch.
>>>>>>>
>>>>>>> Viele Grüße
>>>>>>>
>>>>>>> Silke
>>>>>>>
>>>>>>> On 06.11.20 12:00, typo3-german-requ...@lists.typo3.org wrote:
>>>>>>>> Send TYPO3-german mailing list submissions to
>>>>>>>>   typo3-german@lists.typo3.org
>>>>>>>>
>>>>>>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>>>>>>   http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>>>> or, via email, send a message with subject or body 'help' to
>>>>>>>>   typo3-german-requ...@lists.typo3.org
>>>>>>>>
>>>>>>>> You can reach the person managing the list at
>>>>>>>>   typo3-german-ow...@lists.typo3.org
>>>>>>>>
>>>>>>>> When replying, please edit your Subject line so it is more specific
>>>>>>>> than "Re: Contents of TYPO3-german digest..."
>>>>>>>>
>>>>>>>>
>>>>>>>> Today's Topics:
>>>>>>>>
>>>>>>>>   1. Wie benutze ich jQuery im BE V10? (g4-l...@tonarchiv.ch)
>>>>>>>>
>>>>>>>>
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>
>>>>>>>> Message: 1
>>>>>>>> Date: Fri, 6 Nov 2020 11:19:00 +0100
>>>>>>>> From: g4-l...@tonarchiv.ch
>>>>>>>> Subject: [TYPO3-german] Wie benutze ich jQuery im BE V10?
>>>>>>>> To: typo3-german@lists.typo3.org
>>>>>>>> Message-ID:
>>>>>>>>   <mailman.23375.1604657944.687.typo3-ger...@lists.typo3.org>
>>>>>>>> Content-Type: text/plain; charset=utf-8
>>>>>>>>
>>>>>>>> Hallo Freunde der leichten Unterhaltung.
>>>>>>>>
>>>>>>>> Ich krieg's irgendwie nicht gebacken. $ is not a function... $ is not
>>>>>>>> defined... usw.
>>>>>>>>
>>>>>>>> Ich binde das eigene Skript in Fluid ein via Backend VH:
>>>>>>>>
>>>>>>>> <f:be.pageRenderer includeJsFiles="{...}" />
>>>>>>>>
>>>>>>>> Das Skript selbst ist so aufgebaut:
>>>>>>>>
>>>>>>>> (function ($) {
>>>>>>>> ? function myListener1() { ... }
>>>>>>>> ? function myListener2() { ....}
>>>>>>>> ?...
>>>>>>>> ? function attachListener () {
>>>>>>>> ????? $('.xy').change(myListener1);
>>>>>>>> ??? usw.
>>>>>>>> ?}
>>>>>>>>
>>>>>>>> ? $(document).ready(attachListener);
>>>>>>>>
>>>>>>>> }) (jQuery);
>>>>>>>>
>>>>>>>> Dann kriege ich den Fehler: jQuery is not defined.
>>>>>>>>
>>>>>>>> Ich hab's auch mit? ... (window.$) versucht. Dann heisst's $ is not a
>>>>>>>> function (Zeile $(document).ready()).
>>>>>>>>
>>>>>>>> Wie macht man das richtig?
>>>>>>>>
>>>>>>>> Gr?sse,
>>>>>>>> Till
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> TYPO3-german mailing list
>>>>>>>> TYPO3-german@lists.typo3.org
>>>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>>>>>
>>>>>>>> End of TYPO3-german Digest, Vol 206, Issue 4
>>>>>>>> ********************************************
>>>>>> _______________________________________________
>>>>>> TYPO3-german mailing list
>>>>>> TYPO3-german@lists.typo3.org
>>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german@lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german@lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an