Re: [TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-15 Diskussionsfäden Dr. Dieter Porth

Hallo David,

Wenn du sowieso alles ($TSFE) brauchst, kannst du auch gleich einen 
Aufruf über f:link.action auf die Action machen, die du per Extbase nach 
üblicher Manie definierst. Per Ajax muss/sollte es dir doch ohnehin egal 
sein, ob der Server nun eine Sekunde oder drei Sekunden braucht.


Der eId-Mechanismus ist nach meiner Ansicht nach nur sinnvoll, wenn du 
das Bootstrap von TYPO3 vermeiden möchtest, weil deine Aktion wirklich 
eigentlich TYPO3 nicht braucht. Ich habe auf den Weg bisher erst einmal 
für eine kleinen Bild-Render-Service auf einer Webseite installiert, der 
unabhängig von TYPO3-FAL für per JavaScript definierte Links in einem 
Lazy-Loading-Kontext gecachte Bilder verfügbar machern sollte. In der 
Regel ist der Weg über Extbase, abgesehen von ein paar Hügelgräbern,  
einfach und schlank. Halte halte ich mich an Extbase und die normalen 
TYPO3-Aktions.


Ansonsten rufe doch einfach mit xDebug TYPO3 auf und schaue, an welcher 
Stelle $TSFE gebildet wird bzw. die von dir gewünschten Informationen 
bereithält und extrahiere daraus die notwendigen Klassen und Methoden.


Mit besten Grüßen

  Dieter


P.S. Grundgedanke bei TYPO3. Es gibt für alles schon mindestens eine 
fertige Lösung, wobei diese meist eher suboptimal dokumentiert sind. 
Interessant könnte für dich vielleicht auch folgender Teil aus der 
Dokumentation sein

https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/FormProtection/Index.html
Wie ich vor kurzem beim Blick in den Code lernen konnte, funktioniert es 
auch für eingeloggte Frontend-User.


Am 15.06.2017 um 12:49 schrieb David Brünner:
Auf Stefans TYPO3 Seite 
(https://www.typo3lexikon.de/typo3-tutorials/ajax/eid-beispiele.html) 
wird beschrieben, wie man mit einer eID einen AJAX-Call im Plugin 
realisieren kann.


Das funktioniert soweit gut.
Aber leider habe ich dann innerhalb meiner PHP-Klasse die durch den 
AJAX-Call aufgerufen wird keinen Zugriff auf das $GLOBALS Array.


Ich möchte nämlich in $GLOBALS['TSFE']->fe_user mit getKey() und 
setKey() die Session bearbeiten.


Hat jemand eine Idee, wie das geht?

Anbei mal der bisherige Code mit eID:

ext_localconf.php:
..
$GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include'] = 
['KKSoftwareIndexController::storeSession' => 
\KKSoftware\Kksession\Ajax\Session::class . '::storeSession'];

..

Session.php:
public function storeSession(ServerRequestInterface $request, 
ResponseInterface $response) {

$response->getBody()->write(json_encode($GLOBALS['TSFE']));
return $response;
}
}

session.js:
$().ready(function() {
$.ajax({
url: 'index.php',
method: 'POST',
data: 'eID=KKSoftwareIndexController::storeSession',
success: function(result) {
console.log(result);
}
});
});
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


--

Dr. Dieter Porth - Web-Entwickler

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: tx_mask Inhalts-Elemente mit typoscript referenzieren

2017-06-15 Diskussionsfäden Laurin Schaller

Merkwürdig, nur bei einer bestimmten Seite geht es nicht
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Re: tx_mask Inhalts-Elemente mit typoscript referenzieren

2017-06-15 Diskussionsfäden Laurin Schaller

Hat sich erledigt, hing wohl irgendwie noch im Cache.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


[TYPO3-german] AJAX im Plugin mit eID - Zugriff auf Session

2017-06-15 Diskussionsfäden David Brünner

Auf Stefans TYPO3 Seite 
(https://www.typo3lexikon.de/typo3-tutorials/ajax/eid-beispiele.html) wird 
beschrieben, wie man mit einer eID einen AJAX-Call im Plugin realisieren kann.

Das funktioniert soweit gut.
Aber leider habe ich dann innerhalb meiner PHP-Klasse die durch den AJAX-Call 
aufgerufen wird keinen Zugriff auf das $GLOBALS Array.

Ich möchte nämlich in $GLOBALS['TSFE']->fe_user mit getKey() und setKey() die 
Session bearbeiten.

Hat jemand eine Idee, wie das geht?

Anbei mal der bisherige Code mit eID:

ext_localconf.php:
..
$GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include'] = 
['KKSoftwareIndexController::storeSession' => 
\KKSoftware\Kksession\Ajax\Session::class . '::storeSession'];
..

Session.php:
getBody()->write(json_encode($GLOBALS['TSFE']));
return $response;
}
}

session.js:
$().ready(function() {
$.ajax({
url: 'index.php',
method: 'POST',
data: 'eID=KKSoftwareIndexController::storeSession',
success: function(result) {
console.log(result);
}
});
});
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] tx_mask Inhalts-Elemente mit typoscript referenzieren

2017-06-15 Diskussionsfäden Laurin Schaller

Hallo Zusammen

Ich habe einen Slider mit tx_mask erstellt, welchen ich auf jeder Seite 
anzeigen möchte.
Mit typoscript geht das ja normalerweise so:

lib.slider = RECORDS
lib.slider {
   tables = tt_content
   source = 2
}

und im fluid dann einfach


Mit einem einfachen Text-Element geht das ohne Probleme, jedoch bekomme ich bei einem 
mask-Element eine "Ooops an error occured" Fehlermeldung.

Weiss jemand wie man die mask Elemente referenzieren kann?

Vielen Dank
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german