[TYPO3-german] geschachtelte Templates ersetzen in Extension
Kay Strobach
typo3 at kay-strobach.de
Tue Mar 13 11:27:24 CET 2012
Hi,
besser spät als nie:
$this->extPath = t3lib_extMgm::extPath($this->extKey);
$view = t3lib_div::makeInstance('Tx_Fluid_View_StandaloneView');
$view->setTemplatePathAndFilename($this->extPath . 'templates/test.html');
$view->assign('helloworld', 'Hello World...and so on...');
$content = $view->render();
Steht aber auch gut versteckt im Fluid wiki.
http://snipplr.com/view/54376/use-fluid-standalone/
Grüße
Kay
Am 09.03.2012 14:52, schrieb Kay Strobach:
> Hi,
>
> sieh dir mal das FUID standalone template an.
> Das Template ist dann besser lesbar.
>
> Grüße
> Kay
>
> Am 09.03.2012 14:31, schrieb Silke Capo:
>> Hallo Listenteilnehmer,
>>
>> ich habe gerade einen Knoten im Kopf, was verschachtelte Templates
>> angeht. Folgendes Template möchte ich gerne innerhalb einer Extension
>> ausgeben:
>>
>> <!-- ###GROUPVIEW### begin-->
>> <!-- ###HEAD### begin-->
>> <p class="breadbrumb">###BREADCRUMB###bread</p>
>> <h1>###CAT###</h1>
>> <div class="subcategory-item">
>> <dl>
>> <!-- ###CATEGORIES### begin
>> list of subcategories
>> -->
>> <dt><a href="###LINK###">###IMG###</a></dt>
>> <dd>
>> <p><a href="###LINK###">###TEXT###</a></p>
>> <!-- ###DOWNLOADS### begin-->
>> <p><a class="download"
>> href="###FILEPATH###">###FILENAME###</a></p>
>> <!-- ###DOWNLOADS### end-->
>> </dd>
>>
>> <!-- ###CATEGORIES### end-->
>> </dl>
>> </div>
>> <!-- ###HEAD### end-->
>> <!-- ###GROUPVIEW### end-->
>>
>> Downloads und Categories sind jeweils mehrere Unterelemente. Ich
>> scheitere nun daran, mehrere Downloadelemente in die Categories zu
>> bekommen.
>>
>> Habe mir
>> tslib_cObj Class Reference
>> sowie
>> http://wiki.typo3.org/Extension_Development,_using_HTML-Templates
>> angesehen.
>>
>> Leider funktioniert dieser Teil bei mir nicht:
>> // Fill subpart marker
>> $subpartArray['###CONTENT###'] = $contentItem;
>> (bei mir: $markerCat['###DOWNLOADS###'] = $contentDown;)
>> da dieser zwar ###DOWNLOADS### ersetzt, aber eben zwei Mal im Kommentar
>> und der Inhalt des Supparts wird dann so ausgegeben wie er da steht.
>>
>> Verwende ich substituteSubpart statt substituteMarkerArray, wird zuviel
>> außenherum mitgegeben.
>>
>> Habe schon alle möglichen Kombinationen von substituteMarkerArray und
>> substituteSubpart ausprobiert.
>>
>> sonst wäre mein Problem gelöst. Bei mir wird der Marker im Array nicht
>> ersetzt.
>>
>> Hier Ausschnitte aus dem PHP-Code:
>>
>> $template = $this->cObj->getSubpart($this->templateCode,
>> '###GROUPVIEW###');
>> // Get subpart template
>> $subTemplate['template'] = $this->cObj->getSubpart($template,'###HEAD###');
>> $subTemplate['category'] =
>> $this->cObj->getSubpart($subTemplate['template'],'###CATEGORIES###');
>> $subTemplate['item'] =
>> $this->cObj->getSubpart($subTemplate['category'],'###DOWNLOADS###');
>> ...
>> $markerArray['###BREADCRUMB###'] = $breadcrumb;
>> ...
>> foreach ($subCat as $key => $value) {
>>
>> $markerCat['###LINK###'] = $linksub;
>> $markerCat['###IMG###'] = $img;
>> $markerCat['###TEXT###'] = $value["name"];
>> ...
>> $contentDown = "";
>> for ($i=0; $i < count($files); $i++) {
>> ...
>> $markerDown['###FILEPATH###'] =$files[$i];
>> $markerDown['###FILENAME###'] = $names[$i];
>> $contentDown .=
>> $this->cObj->substituteMarkerArray($subTemplate['item'], $markerDown);
>> }
>> $markerCat['###DOWNLOADS###'] = $contentDown;
>> $contentCat .=
>> $this->cObj->substituteMarkerArray($subTemplate['category'],$markerCat);
>> }
>> $contentHead .=
>> $this->cObj->substituteMarkerArray($subTemplate['template'], $markerArray);
>> $contentHead .=
>> $this->cObj->substituteSubpart($subTemplate['template'],'###CATEGORIES###',$contentCat);
>>
>> $content .=
>> $this->cObj->substituteSubpart($template,'###HEAD###',$contentHead);
>>
>> So, dies war eine der unterschiedlichen Varianten, die ich versucht habe...
>>
>> Diese Variante gibt das Template zwei Mal aus:
>> einmal mit CAT und BREADCRUMB ersetzt, die CAT-Liste mit unersetzten
>> Markern und nur einem Item.
>> Beim zweiten Mal sind CAT und BREADCRUMB nicht ersetzt, dafür wird die
>> CAT-Liste vollständig ausgegeben (5 Items). Hiebei sind alle Marker der
>> Liste ersetzt bis auf den Subpart DOWNLOAD, der wieder unersetzt
>> ausgegeben wird.
>>
>> Kann mir vielleicht jemand helfen, den Knoten zu entwirren?
>>
>> Vielen Dank schon mal im Voraus!
>> Silke
>>
>
>
--
http://www.kay-strobach.de - Open Source Rocks
TYPO3 .... inspiring people to share!
Get involved: http://typo3.org
Answer was useful: https://flattr.com/profile/kaystrobach
More information about the TYPO3-german
mailing list