Thursday, August 28, 2014

Wie erzeuge ich in einer ExtBase Extension einen Link auf eine Seite/Seiten-ID?


Im Controller:

$puid = 123; // uid zielseite
$url = $this->controllerContext->getUriBuilder()->reset()->setTargetPageUid($puid)->buildFrontendUri();

oder auch:

$puid = 123; // uid zielseite
$url = $this->controllerContext()->getUriBuilder()->reset()->setArguments(array('myparam' => '456'))->setTargetPageUid($puid)->setCreateAbsoluteUri(true)->buildFrontendUri();


(Frage: gibt es nicht einfachere Moeglichkeiten, z.b. via typolink() od. linkData()?) 

Wednesday, August 6, 2014

Ein gutes Beispiel fuer eine ExtBase Extension mit bidirektionaler Datenbank-Beziehung


https://lbrmedia.net/codebase/Eintrag/extbase-bidirektionale-mm-relation/

Wednesday, July 23, 2014

Wie kann ich das TYPO3 Protokoll / Sys-Log fuer eigene Ausgabe/Meldungen nutzen?


(TYPO3 6.x)
NICHT GETESTET!

mit dem Funktionsaufruf:
\TYPO3\CMS\Core\Utility\GeneralUtility::sysLog('[write message in English here]', 'extension_key', 'severity'); 
 

definiert in typo3/sysext/core/Classes/Utility/GeneralUtility.php

Am Anfang der Datei stehen die Konstanten die man fuer 'severity' einsetzen kann (soll?)

z.b. SYSLOG_SEVERITY_INFO (das duerfte der default sein) oder SYSLOG_SEVERITY_WARNING etc.

Friday, June 13, 2014

Warum kann ich mich ins TYPO3-Backend nicht mehr einloggen?


1. falscher Login/Passwort ;-)


2. Speicherplatz voll

   -> Webspace und Datebank ueberpruefen


3. Session kann nicht geschrieben werden

   -> PHP-Session-Pfad ueberpruefen, ggf. Verzeichnis anlegen, ggf. Zugriffsrechte fuer Webserver setzen (chown/chmod)


4. lockIP (TYPO3-Konfiguration) verhindert Login

   -> falls sich waehrend der Session die IP des Benutzers geaendert hat, verhindert die Einstellung evtl. den Login. Browser wechseln (startet neue Session), oder via Install-Tool "lockIP" Einstellung ueberpruefen/anpassen.


Tipp:
Per mysql-shell-Client in die TYPO3-Datenbank einloggen, und dort das TYPO3-Log ansehen, das kann Aufschluss darueber geben welcher Fehler vorliegt:

select * from sys_log order by tstamp desc limit 10;

...zeigt die 10 letzten Log-Eintraege

Thursday, June 12, 2014

Wie kann ich neue Klassen/Typen von Links im RTE hinzufuegen?


Das hier koennte helfen:

http://www.typo3.net/forum/thematik/zeige/thema/55280/?tx_mmforum_pi1[showForm]=0&cHash=bba46f5ddf25406044a78253196a7aea

Wednesday, June 11, 2014

Warum werden meine Bilder in der Extension tx_news nicht skaliert / gecroppt?


Wenn die TypoScript-Konfiguration in etwa so aussieht...

plugin.tx_news.settings.list.media.image.maxWidth = 100c
plugin.tx_news.settings.list.media.image.maxHeight = 100c

...dann koennte der Fehler evtl. darin bestehen dass "...c" (das c am Ende fuer croppen) nicht kombiniert werden kann - entweder Hoehe ODER Breite croppen, nicht beides.

Hier auch ein Forumsbeitrag zum Thema:
http://www.typo3.net/forum/thematik/zeige/thema/117141/

Thursday, May 8, 2014

Wie kann ich die Sortierung von Datensaetzen in einem ExtBase-Repository beeinflussen?

Eine default/Standard-Sortierung kann folgendermassen gesetzt werden:

Im Deklarations-Bereich eines Repositories (.../Classes/Domain/Repository/...) diese Variable setzen, hier z.b. fuer die Sortierung ueber das Feld "sorting" (wie im TYPO3-Backend):

protected $defaultOrderings = array("sorting"=> Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING);

bzw. in Namespace-Schreibweise

protected $defaultOrderings = array("sorting"=>
\TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING);


Auch mehrere Sortierungen sind moeglich:

protected $defaultOrderings = array( 
    "title"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
    "name"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
);


Im Programmcode kann die Sortierung auch naetraeglich geaendert werden:

$query->setOrderings(
    "title"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
    "name"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
);