climber5
Beiträge: 27
|
Neues Bootstrap-Temlate und Artikel Inhalt in articles.tpl
|
Hallo Zusammen,
Ich würde gerne die Bootstrap-Collapse Funktion in DynPG einbauen:
http://twitter.github.com/bootstrap/javascript.html#collapse
Ich habe mir vorgestellt, ein eigenes Template zu erstellen, und dann alle Artikel in einer Gruppe innerhalb des Accordion darzustellen. Leider gibt aber der Wert {$CONTENT} inerhalb articles.tpl die Artikel ID und nicht den Innhalt wie in detail.tpl zurück. Mit detail.tpl habe ich aber nicht herausgefunden, wie ich alle Artikel innerhalb einer Gruppe ausgeben kann.
Unabhängig ob ich jetzt articles.tpl oder detail.tpl verwende, um das Accordenon richtig einzubinden, habe ich ein Problem im Template, da innerhalb des Loop es nicht möglich scheint, eine PHP Variable mit jedem Durchlauf hochzuzählen:
{$#PHP$loop = "1" #}
<div class="accordion" id="accordion">
<!-- RepeatedListBegin name="listing" -->
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse{$#PHPecho $loop #}">
{$TITLE}
</a>
</div>
<div id="collapse{$#PHPecho $loop #}" class="accordion-body collapse in">
<div class="accordion-inner">
{$CONTENT}
</div>
</div>
{$#PHP$loop + "1" #}
<!-- RepeatedListFinish -->
</div>
So habe ich mein neues Teamplate aufgerufen:
$GLOBALS["DynPG"]->SetupTemplate('btstrpccrdn');
$GLOBALS["DynPG"]->Write_AllGroups();
$GLOBALS["DynPG"]->SetParam_A_PrintNavigation(TRUE);
$GLOBALS["DynPG"]->SetParam_A_Anytime(FALSE);
$GLOBALS["DynPG"]->Write_Article();
$GLOBALS["DynPG"]->Write_AllArticles();
Natürlich bin ich auch für alle alternativen Lösungsansätze um das Problem zu lösen offen.
Vielen Dank für jede Hilfe.
Gute Grüsse
Christoph
P.S. es ist nicht ganz einfach im Forum den Code zu posten... ;-)
|
|
|
|
19.03.2013 16:40
|
ZITIEREN
| ANTWORTEN
|
Daniel Schliebner
Beiträge: 382
|
Hallo!
In der articles.tpl bindet der Platzhalter {$TEXT} den Artikelinhalt ein. Dazu muss aber im Snippet der Parameter zum Laden des vollen Textes gesetzt werden:
$GLOBALS["DynPG"]->SetParam_AA_fullLoadText(true);
Statt der eigenen Variable kannst Du den Platzhalter {$LIST_INDEX} verwenden, der bei 1 beginnend je Schleifendurchlauf um 1 inkrementiert wird.
|
Mit freundlichen Grüßen
ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de
Bietzkestraße 18A
10315 Berlin
GERMANY
Tel.: +49 30 33980300
|
|
|
19.03.2013 16:57
|
ZITIEREN
| ANTWORTEN
|
Daniel Schliebner
Beiträge: 382
|
P.S. Hier ist noch eine Übersicht einiger (nicht aller) verfügbarer Templatevariablen innerhalb der Templates:
http://www.dynpg.org/wiki_de/index.php/Template-Referenz#Textvariablen
|
Mit freundlichen Grüßen
ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de
Bietzkestraße 18A
10315 Berlin
GERMANY
Tel.: +49 30 33980300
|
|
|
19.03.2013 17:04
|
ZITIEREN
| ANTWORTEN
|
climber5
Beiträge: 27
|
Hallo Daniel,
genau so habe ich es gelöst, vielen Dank!
Für den Fall das das noch jemand anderes brauchen kann, hier die funktionierende implementation:
articles.tpl :
<div class="accordion" id="accordion">
<!-- RepeatedListBegin name="listing" -->
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse{$LIST_INDEX}">
{$TITLE}</a>
</div>
<div id="collapse{$LIST_INDEX}" class="accordion-body collapse">
<div class="accordion-inner">
{$TEXT}
</div>
</div>
</div>
<!-- RepeatedListFinish -->
</div>
und hier das Snippet:
$GLOBALS["DynPG"]->SetupTemplate('btstrpccrdn');
$GLOBALS["DynPG"]->Write_AllGroups();
$GLOBALS["DynPG"]->SetParam_A_PrintNavigation(TRUE);
$GLOBALS["DynPG"]->SetParam_A_Anytime(FALSE);
$GLOBALS["DynPG"]->SetParam_AA_Order( Array('INDEX') );
$GLOBALS["DynPG"]->SetParam_AA_Sort( Array('ASC') );
$GLOBALS["DynPG"]->SetParam_AA_fullLoadText(true);
$GLOBALS["DynPG"]->Write_Article();
$GLOBALS["DynPG"]->Write_AllArticles();
|
|
Attachments
|
1
|
Attachment (Dateityp: zip, Größe: 1 Kb)
|
|
|
19.03.2013 18:54
|
ZITIEREN
| ANTWORTEN
|