Code Stücke die beim Entwickeln helfen
Seiten und Datensätze können auf verschieden angebunden werden.
class ObjektRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
protected $defaultOrderings = array(
'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
);
}
Objekte sortieren im Repository ab 6.0
<f:debug>{objektname}</f:debug>
Ein Objekt ausgeben zum debuggen
$arguments = $this->request->getArguments();
$nameAusForm = $arguments['nameAusForm'];
Daten aus dem REQUEST Objekt holen
<f:if condition="{anmeldungen}">
<f:for each="{anmeldungen}" as="anmeldung">
{anmeldung}
</f:for>
</f:if>
Gruppe von Objekten auf existenz prüfen und dann in Schleife ausgeben
<f:if condition="{0:user.name}=={0:'koller michel'}">
<f:then>
tu dies
</f:then>
<f:else>
tu das
</f:else>
</f:if>
Bedingung auf einen bestimmten Wert prüfen
<f:if condition="{0:kurs.kategorie.uid}=={0:kurskategorie.uid}">
tu dies
</f:if>
Bedingung prüft andere Objekteigenschaften
// Extbase
$this->mDatum->format('d.m.Y')."
// FLUID
<f:format.date format='d.m. Y'>{mBasket.mDatum}</f:format.date>
Datum formatieren mit Extbase und mit FLUID
<f:format.currency currencySign="SFR" decimalSeparator="." thousandsSeparator=",">
{product.pPreis}
</f:format.currency>
Preis Formatierung mit FLUID
<f:format.nl2br>{kurs.kurszeit}</f:format.nl2br>
Zeilenumbrüche in Textfeldern umwandeln mit FLUID
<f:form action="sendMail" enctype="multipart/form-data" id="sendMail" name="sendMail" arguments="{anmeldung : anmeldung}">
Ein vollständiges Objekt mit dem Formular mitschicken
$this->redirect('edit',NULL,Null,array('anmeldung' => $anmeldung));
Redirect mit Objekt via Extbase auf einen anderen Controller Weiterleiten
// Damit man mehrere Plugins auf der selben Seite benutzen kann, muss ein Plugin eindeutig werden, das ist möglich indem man die UID verifiziert.
// Das auslesen der UID ist der erste Schritt dazu:
$cObj = $this->configurationManager->getContentObject();
$cuid = $cObj->data['uid'];
UID eines Inhaltselement auslesen, nützlich bei der implementierung mehrerer Plugins gleichzeitig auf einer Seite