[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