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

--
    -------------------------------------
    echolot digital worx GmbH
    Schulze-Delitzsch-Str. 16
    70565 Stuttgart
    Tel. 0711 220 40 93 0
    Fax. 0711 220 40 93 44
    [name]@digital-worx.de
    http://www.digital-worx.de
    -------------------------------------
    Geschaeftsfuehrer:
    Sven Rahlfs
    Mirko Ross
    HRB 22 5281 Amtsgericht Stuttgart
    USt.-Id. Nr.: DE218401190
    -------------------------------------
    Unseren Blog finden Sie unter:
    http://think.digital-worx.de
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an