Knowledge Base

/* Knowledge Base */
Logo Animate GmbH
© pixabay

Snippets

  • Alle
  • TYPO3
  • Direct-Mail
  • Typoscript
  • Extbase
  • JSON
  • Bootstrap4
  • Internet-Explorer
  • CSS
[TYPO3][Extbase] SessionHandler (Clipboard)

Controller: ``` /** * Backend-Session * * @var \VENDOR\MyExt\Domain\Session\BackendSessionHandler * @inject */ protected $backendSession; ``` ``` /** * Frontend-Session * * @var \VENDOR\MyExt\Domain\Session\FrontendSessionHandler * @inject */ protected $frontendSession; ``` ``` /** * Frontend- or Backend-Session * The type of session is set automatically in initializeAction(). * * @var \VENDOR\MyExt\Domain\Session\SessionHandler * @inject */ protected $session; ``` ``` public function initializeAction() { // Backend-Session // Optional - setting the Session-Storage-Key on every action to keep it unique $this->backendSession->setStorageKey( $this->request->getControllerExtensionName() . $this->request->getPluginName() ); // Frontend-Session // Optional - setting the Session-Storage-Key on every action to keep it unique $this->frontendSession->setStorageKey( $this->request->getControllerExtensionName() . $this->request->getPluginName() ); // Automatic BE/FE-Session $this->session = new \VENDOR\MyExt\Domain\Session\SessionHandler(TYPO3_MODE); // Optional - setting the Session-Storage-Key on every action to keep it unique $this->session->setStorageKey( $this->request->getControllerExtensionName() . $this->request->getPluginName() ); } ``` Examples for backend-session: ``` public function myBackendAction() { $mySessionValue = "Some data to store in session"; $this->backendSession->store( 'mySessionDataKey', $mySessionValue); // get a value from session $mySessionValue = $this->backendSession->get( 'mySessionDataKey'); // remove a value from session $this->backendSession->delete( 'mySessionDataKey'); } ``` Examples for frontend-session: ``` public function myFrontendAction() { $mySessionValue = "Some data to store in session"; $this->frontendSession->store( 'mySessionDataKey', $mySessionValue); // get a value from session $mySessionValue = $this->frontendSession->get( 'mySessionDataKey'); // remove a value from session $this->frontendSession->delete( 'mySessionDataKey'); } ``` Examples for an action which is called in backend and frontend: ``` public function myActionUsedInBackendAndFrontendAction() { $mySessionValue = "Some data to store in session"; $this->session->store( 'mySessionDataKey', $mySessionValue); // get a value from session $mySessionValue = $this->session->get( 'mySessionDataKey'); // remove a value from session $this->session->delete( 'mySessionDataKey'); } ```

[TYPO3][Extbase] Neuen sys_filemount über Controller erzeugen

[TYPO3][Direct-Mail] userTable specialQuery

Seiten-TSconfig von Folder Newsletter (z.B.): ``` mod.web_modules.dmail... mod.web_modules.dmail... mod.web_modules.dmail... mod.web_modules.dmail.userTable=tx_myext_domain_model_email ``` Im Controller wird eine neue Empfängerliste für DirectMail erzeugt.

[TYPO3][Extbase] Neuen Order(fileadmin) im Controller erstellen

Parameters: bar - Der neue Ordnername $parentFolder (optional) - Der übergeordnete Ordner, in dem der neue Ordner erstellt werden soll. Wenn nicht angegeben, wird der root verwendet

[TYPO3][Extbase] Ordnerbasierte Dateisammlung anzeigen

Anzeigen einer Ordnerbasierte Dateisammlung zum Download o.ä.

[TYPO3][Extbase][JSON] Ajax Response mit einem Model

Objekte, die JsonSerializable implementieren, können ihre JSON-Darstellung anpassen, wenn sie mit json_encode codiert sind. Im Controller: ``` /** * ajaxAction * @return string */ public function ajaxAction () { ... /* @var $address Vendor\Extension\Domain\Model\Address */ foreach ($customer->getAddress() as $address) { $response[] = $address; } return json_encode($response); } ```

[TYPO3][Extbase] SQL Queries Debuggen

Diesen Schnipsel im Repository vor $query->execute() einsetzen

[Internet-Explorer][CSS] Fixing icons underline problem on before or after pseudo elements used in a "a" tag

`<a class="fancybox download-link download-pdf">...</a>`

[Bootstrap4] Ändern des Verhaltens von cards-deck

Für ein responsive card-deck, verwendet man die visibility Klassen, um das Umbrechen aller X-Spalten an verschiedenen breakpoints zu erzwingen. Ergebnis: 4 Spalten und 2 Zeilen auf xl, 2 Spalten und 4 Zeilen auf Sm, 1 Spalten und 8 Zeilen auf Xs [codeply](https://www.codeply.com/go/nIB6oSbv6q)

[TYPO3][Typoscript] crop Varianten per tsconfig für TYPO3 V8