TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Templavoila Anzeige der Contentelemente


Autor Nachricht
Verfasst am: 31. 07. 2009 [11:52]
mbinz
Themenersteller
Dabei seit: 07.10.2006
Beiträge: 55
Hallo!

Das Templavoila Pagemodul zeigt Inhaltselemente (und Plugins) auf eine für den Backend-Benutzer sehr unübersichtliche Art und Weise an. Es wird nur ein (kleines) Icon angezeigt, mit dem man auf den Typ des Inhaltselements schließen kann.

Wenn ich ein Plugin einfüge, zeigt es überhaupt nur <pluginname>_pi1 an. Das ist dem Backend-Benutzer dann wirklich nicht mehr zuzumuten (und mir als Entwickler übrigends auch nicht) So bald ein Plugin mehrere pi hat, wird man richtig wahnsinnig.

Abgesehen davon, dass die Standard-Benennung (pi1,pi2,...) meiner meinung nach dumm und unnötig ist (für Entwickler und Benutzer), ist es möglich wenigstens die Anzeige im Backend auf den Plugin-Namen zu ändern?

Ich hoffe ich habe mich klar ausgedrückt,
LG
Michi
Profil
Verfasst am: 31. 07. 2009 [12:33]
mbinz
Themenersteller
Dabei seit: 07.10.2006
Beiträge: 55
ich bin zu früh verzweifelt:

scheinbar gibt es einen hook, der genau dafür gedacht ist:
PHP
$TYPO3_CONF_VARS['EXTCONF']['templavoila']['mod1']['renderPreviewContent'][] = '<plugin>_pi1';


...und in der class.tx_<plugin>_pi1.php:
PHP
function renderPreviewContent_preProcess ($row, $table, &$alreadyRendered, &$reference) {
    if (row['CType'] == 'list' && $row['list_type'] == '<plugin>_pi1') {
        $content = '<strong>MyExt:</strong> '.htmlspecialchars('my custom preview');
        $alreadyRendered = true;
        return $reference->linkEdit($content, $table, $row['uid']);
    }
}


...leider tut sich bei mir da noch nichts. aber es sollte sich nur um eine kleinigkeit handeln.
Profil
Verfasst am: 31. 07. 2009 [13:12]
mbinz
Themenersteller
Dabei seit: 07.10.2006
Beiträge: 55
...und da ist auch schon die antwort:

es muss renderPreviewContentClass statt renderPreviewContent heißen. steht in der doku zu templavoila falsch beschrieben.

außerdem reicht nicht nur der classname, wie in der doku beschrieben.
so sieht die vollständige hook-registrierung aus:
PHP
$TYPO3_CONF_VARS['EXTCONF']['templavoila']['mod1']['renderPreviewContentClass'][] = 'EXT:<extkey>/pi1/class.tx_<extkey>_pi1_preview.php:&tx_<extkey>_pi1_preview';


außerdem bin ich in einige include-probleme gelaufen. die plugin-klasse konnte ich nicht verwenden, da zu diesem zeitpunkt 'PATH_tslib' nicht zur verfügung steht, und ich dadurch die klasse nicht initialieren kann.

eigene klasse erstellt -> kein zugriff auf
$reference->linkEdit($content, $table, $row['uid']);

...aber dabei kann ichs mal belassen. (man muss dann über den bleistift editieren)

lg michi
Profil