Hallo
Ich stehe gerade ein wenig im Wald und brauche ein wenig Hilfe.
Ich habe eine eigene Extension in extbase geschrieben. Diese hat zur Aufgabe Listenansicht und Detailansicht zu liefern.
Nun möchte ich, daß in tt_news ausgewählte Detailansichten eingebunden werden können.
Ich schrieb eine klassische Extension, welche mir nun im tt_news backend das passende zusätzliche Feld anzeigt, mit dem ich Datensätze meiner Extension zuordnen kann.
Nun muß ich noch das neue markerArray mit den Daten füllen. Dazu habe ich folgendes getan:
ext_localconf.php:
if (!defined ('TYPO3_MODE')) {
die ('Access denied.');
}
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraItemMarkerHook'][] = 'EXT:tt_news_psoabilling/tt_news_psoabilling.php:tt_news_psoabilling';
ext_tables.php:
<?php
if (!defined ('TYPO3_MODE')) {
die ('Access denied.');
}
$tempColumns = array (
'tx_ttnewspsoabilling_psoabilling_band' => array (
'exclude' => 0,
'label' => 'LLL:EXT:tt_news_psoabilling/locallang_db.xml:tt_news.tx_ttnewspsoabilling_psoabilling_band',
'config' => array (
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'tx_psoabilling_domain_model_band',
'size' => 5,
'minitems' => 0,
'maxitems' => 5,
)
),
);
t3lib_div::loadTCA('tt_news');
t3lib_extMgm::addTCAcolumns('tt_news',$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes('tt_news','tx_ttnewspsoabilling_psoabilling_band;;;;1-1-1','0','after:bodytext');
require_once(t3lib_extMgm::extPath('tt_news_psoabilling') . 'tt_news_psoabilling.php');
?>
tt_news_psoabilling.php:
<?
class tt_news_psoabilling{
function extraItemMarkerProcessor($markerArray,$row,$lConf,$obj){
$thisbands=$row['tx_ttnewspsoabilling_psoabilling_band'];
$content="";
$selectConf = array();
$selectConf['selectFields'] = '*';
$selectConf['fromTable'] = 'tx_psoabilling_domain_model_band';
$selectConf['where'] = 'tx_psoabilling_domain_model_band.deleted=0 AND tx_psoabilling_domain_model_band.t3ver_state<=0 AND tx_psoabilling_domain_model_band.hidden=0';
$selectConf['where'] .= 'tx_psoabilling_domain_model_band.uid IN $thisbands';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($selectConf['selectFields'], $selectConf['fromTable'], $selectConf['where']);
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$GLOBALS['TYPO3_DB']->sql_free_result($res);
foreach($row as $band=>$value){
$content.="HIER WIRD DAS TEMPLATE ZUSAMMENGESTRICKT";
}
$markerArray['###BANDS###'] = $this->$obj->stdWrap($content);
return $markerArray;
}
}
?>
Nun was soll ich sagen: Es wird derzeit noch nichts angezeigt.
1.) stimmt es, daß in der localconf "extraItemMarkerHook" eingetragen, in der Klasse aber "extraItemMarkerProcessor" etabliert wird?
2.) kann ich eigentlich aus dieser klassischen Extension auch die Controller aus meiner Extbase-Extension aufrufen (indem ich die Klasse als Instanz meines Repositories deklariere?)?
3.) oder gehe ich das alles völlig falsch an?
optional:
4.) könnte ich nicht auch meiner ExtbaseExtension noch hinzufügen, daß sie zusätzlich auch noch ein Hook für tt_news bereitstellt? Da hier aber TCA und exttables.php völlig anders aufgebaut sind wie bei klassischen Extensions, ist mir unklar wie&wo ich das definieren soll.
Wäre toll, wenn mir jemand hier weiterhelfen könnte!
Grüße
EnzephaloN