Das funktioniert doch ganz klassisch über das Pageobject
(https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Page/Index.html#id2)
page.1917 = TEXT
page.1917.value = <div id="wasWeissIch"></div>
Warum willst du dafür eine eigene Extension bauen. Das TypoScript in
eien TYpoScript-Ordner bei deiner Skeleton-Extension schreiben lassen?
Über eine TypoScript-Condition oder über ein TypoScript-If könntest du
die Einbindung auch auf bestimmte Seiten beschränken, ...
Mit besten Grüßen
Dieter
Am 29.07.2019 um 12:53 schrieb Dipl.-Ing. Rainer Schleevoigt:
Hallo Dieter,
das mit der Asseteinbindung klappt nun.
Jetzt belibt noch ein Restproblem: das Plugin braucht eigentlich nur
aus einem leeren DIV mit einer id bestehen. Kann ich das per TS auch
mit einbinden? Irgendwie brauche ich doch dann das Contentelement ...
Gruß Rainer
PS. Im Moment habe ich dort ein HTML Dings reinegbaut, ich hätte es
aber aus Deploymentgründen gerne in der Extension.
On 28.07.19 20:58, _doc wrote:
Hallo Rainer,
Ja. $count enthält, wenn ich den Code richtig gelesen haben, nur eine
Nummer, die an verschieden Stellen automatisch hochgezählt wird.
$NS enthält einen alphanumerischen Prefix., der gut ist, wenn man
z.B. für includeCss einen eindeutigen Namen braucht.
Aus der Zahl wird ein String und damit brichst das Script die Logik,
die TYPO3 beim CArray in jsFooterInline erwartet. TYPO3 ignoriert die
Anweisungen vom Skript.
Ich habe es nicht durch Tests abgesichert. Auch ist unklar, ob es als
Lösung taugt, weil es zu Überschreibungen kommen könnte. (Wäre aber
eine schöne Übung, um UnitTests zu schreiben....)
Mit besten Grüßen
Dieter
Am 28.07.2019 um 09:16 schrieb Dipl.-Ing. Rainer Schleevoigt:
Hallo Dieter,
der Unterschied ist der $NS (namespace)?
Gruss Rainer
On 27.07.19 21:23, _doc wrote:
Dein Script ist falsch.
In
https://gist.github.com/AppWerft/f214d2a3eaf70b039b1d7ec047f3a84c
müssen die Zeilen
$ts .= " $NS$count.value(\n";
$ts .= " $NS$count = TEXT\n";
zu
$ts .= " $count.value(\n";
$ts .= "$count = TEXT\n";
geändert werden.
Wenn du das Skript mehrfach aufrufst, kann es natürlich Probleme
geben, wenn ein dynamisches TypoScript das andere dynamische
TypoScript überschreibt.
Dieter
Am 27.07.2019 um 17:36 schrieb Dipl.-Ing. Rainer Schleevoigt:
Hallo Dieter,
jetzt ahben wir also eine Diagnose, fehlt noch die Therapie.
Leider finde ich kein Beispiel:
https://www.google.com/search?client=firefox-b-d&q=typoscript+jsFooterInline+sample
Gruss Rainer
On 27.07.19 17:25, _doc wrote:
Hallo Birgit,
Hallo Rainer,
ich habe den Code einmal be einer Aufsetzung eingebaut. Er
funktioniert nicht, weil das TypoScript falsch ist:
https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Carray/Index.html
Ich habe es er verstanden, als ich in
TYPO3\CMS\Frontend\Http\RequestHandler Zeile 853 dem PHP-Trace
gefolgt bin und auf die Zeile
$sKeyArray = ArrayUtility::filterAndSortByNumericKeys($setup);
stieß.
Im CArray von jsFooterInline sind nur Nummern erlaubt (siehe
oben). Während des PageRendering-Proczesses prüft dies TYPO3 ab
und übergeht die Information aus dem TypoScript.
Das Gemeine ist, dass der PageObject-Browser dies nicht prüft,
sondern stumpf das falsche TypoScript-Objekt anzeigt. Man hat
also den Eindruck, dass das eingegebene TypoScript korrekt ist.
Auch der Template-Analyzer zeigt es nicht als Fehler an.
(TYPO3 9.5)
Das generierte TypoScript darf also nicht funktionieren.
Mit besten Grüßen
Dieter
P.S. @Rainer
Es wäre schön, wenn du unter
https://forge.typo3.org/projects/typo3cms-core/issues ein
Bug-Ticket schreiben würdest.
der TemplateAnalyse sollte eine Fehlermeldung generieren und der
der TypoScript-Objektbrowser sollte den Code nicht anzeigen.
Am 27.07.2019 um 13:24 schrieb Birgit:
Hallo Rainer,
hast du im Typoscript Object Browser schon geprüft, ob im
letzten Element darüber, das noch ausgeführt wird, eine
abschließende Klammer fehlt?
Oder hast dudie folgende Einstellung im config?
With config.removeDefaultJS = external , the inline JavaScript
is moved to an external file.
viele Grüße
Birgit
Am 27.07.2019 um 09:52 schrieb _doc <_...@freenet.de>:
Hallo Rainer,
Mein erste Tipp: Klammer zuviel im JavaScript. Module Template:
Prüfe mit dem Typoscript-Objekt-Browser, ob dein Code überhaupt
eingebunden wird, bzw. lasse die dein TypoScript anzeigen, um
gegebenenfalls Syntax- /Klammerfehler zu finden.
Mein 2. Tipp: Schreibe oberhalb und unterhalb des Uglifyten
Codes einen JavaScript-Kommentar oder nutze das
Gleichheitszeichen (Dein Code ist ja einzeilig.)
page.jsFooterInline {
hosvirt_20 =TEXT hosvirt_20.value =!function(l){function
e(e){for(var
r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r
in
o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return
c.push.apply(c,u||[]),a()}function a(){for(var
e,r=0;r<c.length;r++){for(var
t=c[r],n=!0,o=1;o<t.length;o++){var
u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return
e}var t={},p={1:0},c=[];function f(e){if(t[e])return
t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return
l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof
Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return
r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var
t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof
r)for(var n in r)f.d(t,n,function(e){return
r[e]}.bind(null,n));return t},f.n=function(e){var
r=e&&e.__esModule?function(){return
e.default}:function(){return e};return
f.d(r,"a",r),r},f.o=function(e,r){return
Object.prototype.hasOwnProperty.call(e,r)},f.p="./";var
r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var
o=0;o<r.length;o++)e(r[o]);var s=n;a()}([]) }
Mit besten Grüßen
Dieter
Am 26.07.2019 um 19:32 schrieb Dipl.-Ing. Rainer Schleevoigt:
Hi,
Das ist ein Teil meines Codes:
page.jsFooterInline {
hosvirt_20 = TEXT
hosvirt_20.value(
!function(l){function e(e){for(var
r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r
in
o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return
c.push.apply(c,u||[]),a()}function a(){for(var
e,r=0;r<c.length;r++){for(var
t=c[r],n=!0,o=1;o<t.length;o++){var
u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return
e}var t={},p={1:0},c=[];function f(e){if(t[e])return
t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return
l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof
Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return
r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var
t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof
r)for(var n in r)f.d(t,n,function(e){return
r[e]}.bind(null,n));return t},f.n=function(e){var
r=e&&e.__esModule?function(){return
e.default}:function(){return e};return
f.d(r,"a",r),r},f.o=function(e,r){return
Object.prototype.hasOwnProperty.call(e,r)},f.p="./";var
r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var
o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])
)
}
Es wird nicht sichtbar auf der Webseite, alle andere Includes
über Files klappen. Was mache ich nur falsch? Das gleiche
Problem mit jsFooter. Im TS-Baum wird es richtig angezeigt.
Gruß Rainer
--
---
Dr. Dieter Porth
Grünenstraße 23
D-28199 Bremen
Germany
+(049) 421 / 51 48 35 48
+(049) 160 / 99 18 06 88 (abends/ after 18:00)
_______________________________________________
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
--
---
Dr. Dieter Porth
Grünenstraße 23
D-28199 Bremen
Germany
+(049) 421 / 51 48 35 48
+(049) 160 / 99 18 06 88 (abends/ after 18:00)
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german