Typo3 Extension – Template Rendering in Extensions
In der Typo3 Extension kann z.B. folgende Methode geschrieben werden:
/**
* Renders a team using the specified template
*
* @param template the template to use
* @param resource the sql resource with the list of teams
*
* @return the template with the replaced markers
*/
function renderTeam($team) {
// Load the roster template
$templateFile = $this->cObj->fileResource($this->conf['rosterTemplate']);
$templateCodeTeam = $this->cObj->getSubpart ($templateFile,'###TEAM###');
$marker = array();
$marker['###TEAMNAME###'] = $team->getName();
$marker['###RACE###'] = $team->getRace();
$marker['###TEAMVALUE###'] = 'yet to do';
$marker['###TREASURY###'] = $team->getTreasury();
$marker['###HEADCOACH_NAME###'] = $team->getHeadCoachName();
$marker['###HEADCOACH_EMAIL###'] = $team->getHeadCoachEmail();
$marker['###HEADCOACH_NICK###'] = $team->getHeadCoachNick();
$marker['###HEADCOACH###'] = $this->getHeadCoachLink($team->getHeadCoachNick(),$team->getHeadCoachEmail());
$marker['###RR###'] = $team->getRR();
$marker['###RR_COST###'] = $team->getRRCost();
$marker['###RR_SUM_COSTS###'] = $team->getRR() * $team->getRRCost();
$marker['###FF###'] = $team->getFF();
$marker['###FF_COST###'] = '10000';
$marker['###FF_SUM_COSTS###'] = $team->getFF() * 10000;
$marker['###ASSCOACH###'] = $team->getAssCoaches();
$marker['###ASSCOACH_COSTS###'] = 10000;
$marker['###ASSCOACH_SUM_COSTS###'] = $team->getAssCoaches() * 10000;
$marker['###CHEER###'] = $team->getCheerleaders();
$marker['###CHEER_COSTS###'] = 10000;
$marker['###CHEER_SUM_COSTS###'] = $team->getCheerleaders() * 10000;
$marker['###APO###'] = $team->getApothecary();
$marker['###APO_COST###'] = 50000;
$marker['###APO_SUM_COSTS###'] =$team->getApothecary() * 50000;
$marker['###TEAM_VALUE###'] = $this->getTeamValue($team);
$marker['###SPIRALLING_EXPENSES###']= $this->getSpiralingExpenses($team);
// Render the players
$templateCodeTeam = $this->cObj->substituteSubpart($templateCodeTeam,'###PLAYERS###', $this->renderPlayers($templateCodeTeam, $team->getPlayers(), $team->getRace()));
return $this->cObj->substituteMarkerArrayCached($templateCodeTeam, $marker);
}
