fluid-Pagebrowser: Übersetzung und Templating via Dependency Injection

Der fluid-Pagebrowser von TYPO3 ist ein praktisches Widget – derzeit ist er allerdings noch nicht lokalisierbar und man kann das Template nicht bearbeiten. Vermutlich wird es in einer zukünftigen Version eine Möglichkeit zur Konfiguration des Template-Pfads geben – auf jeden Fall gibt es schon einen Patch dafür. In der Zwischenzeit kann man den Pagebrowser über Dependency Injection recht elegant dazu bringen, ein anderes Template oder eine alternative Sprachversion zu verwenden.

Dazu muss man dem PaginateViewHelper einen alternativen Controller injizieren. Der neue Controller hat keine eigenen Methoden, er muss lediglich den Original-Controller erweitern:

<?php
class Tx_MyExtension_ViewHelpers_Widget_Controller_PaginateController extends Tx_Fluid_ViewHelpers_Widget_Controller_PaginateController {
}
?>

Im Extension-Ordner unter MyExtension/Resources/Private/Templates/ViewHelpers/Widget/Paginate/Index.html kann man jetzt eine Kopie des Original-Templates ablegen, die Texte übersetzen oder das Markup anpassen. Jetzt muss man extbase nur noch sagen, dass es statt des ursprünglichen Controllers unseren neuen Controller (und damit das zugehörige angepasste Template) verwenden soll. Das geht via Typoscript:

config.tx_extbase.objects {
Tx_Fluid_ViewHelpers_Widget_Controller_PaginateController {
className = Tx_MyExtension_ViewHelpers_Widget_Controller_PaginateController
}
}

Mit etwas Glück sollte der Pagebrowser jetzt das bearbeitete Template verwenden.

Dieser Beitrag wurde unter TYPO3 abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Die Kommentarfunktion ist geschlossen.