Home / Forum / Template für Download-Verzeichnis

Template für Download-Verzeichnis

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

Benjamin Vollmer

Registriert seit: 27.03.2006

Beiträge: 15

Mittwoch, 05. April 2006 15:29:20

Hallo Leute,

Nach dem ich mich in den letzten zwei Wochen etwas in ezPublish eingearbeitet habe, möchte ich jetzt ein erstes aufwendigeres Template basteln. Ich möchte ein Download-Vereichnis erstellen. Die ersten Versuche mit dem Template sind schon nicht schlecht, leider habe ich Probleme mit der korrekten Einbindung der Links zu den jeweiligen Unterverzeichnissen im aktuellen Verzeichnis. Außerdem würde ich gerne eine Ordner-Hierarchie abbilden, aber ich weiß nicht, wie ich herausfinden kann, wie das übergeordnete Verzeichnis des aktuellen Verzeichnisses heißt. Im Prinzip brauche ich eine ähnliche Ausgabe der Baumstruktur wie in der Adminoberfläche, aber das Template dafür ist für noch zu komplex - da steige ich nicht durch.

Hier mal mein jetziges Templates:

<h3>
Downloads
</h3>
<p>
{$node.object.data_map.short_description.content.output.output_text}
</p>

{* Alle Unterverzeichnisse des aktuellen Verzeichnisses auslesen *}

{let folder=fetch( content, list,
hash( 'parent_node_id', $node.node_id,
sort_by, array( published, true() ),
class_filter_type, include,
class_filter_array, array('folder')))
}
<h4>Unterverzeichnisse</h4>
<ul style="list-style-type:none;">
{section name=child loop=$:folder}
{* Hier Problem: hardgecodetes Verzeichnis funktioniert natürlich nur mit der ersten Ebene *}
<li><a href="/index.php/site/downloads/{$child:item.object.data_map.name.content|downcase()}"><img src={"folder.png"|ezimage()} alt="Folder Icon" /> {$child:item.object.data_map.name.content}</a></li>

{/section}
</ul>

{/let}

{* Alle Downloads im aktuellen Verzeichnis auflisten. *}
{let children=fetch( content, list,
hash( 'parent_node_id', $node.node_id,
sort_by, array( published, false() ),
class_filter_type, include,
class_filter_array, array('download')))
}
<br />
<table style="width:100%;">
<tr><th class="center bggrey" style="border-bottom:1px solid #cccccc;" colspan="3">Downloads in diesem Verzeichnis</th></tr>

{section loop=$:children}
<tr><td style="text-align:left; padding:2px;border-bottom:1px solid #cccccc; width:30%">
<a href="/{$:item.object.data_map.datei.content.filepath}">{$:item.object.data_map.name.content}</a><br />
</td>
<td class="top center italic" style="padding:2px;border-bottom:1px solid #cccccc;width:12%">{$:item.object.data_map.datei.content.filesize|si( byte, kilo )}</td>
<td style="text-align:justify;padding:2px;border-bottom:1px solid #cccccc;width:58%">
{$:item.object.data_map.beschreibung.content}
</td></tr>
{/section}
</table>
{/let}

Hat jemand vielleicht schon mal etwas ähnliches gemacht?

Sebastian v. Roos

Registriert seit: 27.01.2006

Beiträge: 358

Mittwoch, 05. April 2006 16:14:21

ich bin nen ziemlicher DAU, so dass ich nicht mal genau raff, was du möchtest.
Aber um alle Objekte unterhalb einer node anzuzeigen, also auch die tiefer verschachtelten, muß man glaub ich statt "list" "tree" nehmen.
fetch( 'content', 'tree', hash(

Auf irgendwas weiter oben zugreifen hat bei mir auch funktioniert:
$node.parent.object.data_map.body
oder
$node.parent.parent.object.data_map.body

vielleicht nützt das irgendwas, sonst wer helfen, wo mehr Ahnung
gruß

_______________________

http://webdevelopment.artenic.de ARTENIC - Publishing mit allen Mitteln!

Benjamin Vollmer

Registriert seit: 27.03.2006

Beiträge: 15

Donnerstag, 06. April 2006 12:25:22

Mein erstes Problem ist eigentlich: Wie baue ich den link zu den Unterverzeichnissen richtig in das Template ein?

<a href="/index.php/site/downloads/{$child:item.object.data_map.name.content|downcase()}">

So wie es jetzt ist, ist es ja falsch. In der ersten Ebene funktioniert es, ab der 2. Ebene natürlich nicht mehr.


Beispiel:

<a href="/index.php/site/downloads/folder1"> => korrekt

<a href="/index.php/site/downloads/subfolder1.1"> => falsch

<a href="/index.php/site/downloads/folder1/subfolder1.1"> => wie bekomme ich diese Url aufgebaut?

Benjamin Vollmer

Registriert seit: 27.03.2006

Beiträge: 15

Freitag, 07. April 2006 14:08:28

So, habs mir jetzt ganz einfach gemacht und die Erweiterung ezodcsm verwendet und dann einfach das contentstructuremenu.tpl in meine Download-Section eingebunden. Dann musste ich nur noch in contentstructuremenu.ini die RootNodeID auf den Download-Folder setzen und jetzt habe ich was ich brauche.

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein