{{indexmenu_n>10}} ====== Content Parts paginieren ====== Beinhaltet ein Artikel mehrere Contentparts, können diese in einzelne Blöcke zusammengefasst werden. Dazu wird eine kleine Navigation bereitgestellt um durch diese Blöcke navigieren zu können. Dazu wird im Artikelkopf der Schalter **[x] Content Parts paginieren** aktiviert. \\ **Frontendausgabe** //(Darstellung mit beiden Navigationsarten)// \\ {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_fe01_1.gif|}} {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_fe02_1.gif|}} {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_fe03_1.gif|}} \\ **Backend** {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_be01_1.gif?820x300|}} Originalansicht: Bitte auf das Bild klicken. \\ ---- **Docu:** -- \\ **Forum:** [[http://forum.phpwcms.org/viewtopic.php?p=134030#p134030|Textpagination fehlerhaft (item prefix/suffix?)]] \\ **Autor:** K.Heermann (flip-flop) http://planmatrix.de //2012/01/28 // \\ **CMS Version:** >= V1.3x \\ **Version:** V1.0 \\ **Update:** -- \\ **Bedingung:** -- \\ ---- ---- \\ ===== Artikelvorlagen: ===== {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_article_be01_1.gif|}} Welche Vorlagen ein Artikel verwendet wird im Bereich **Vorlagen:** bestimmt. Hier gibt es ein Feld für** Artikellisting:** und **Artikeldetail:** \\ Die Vorlagen für diese beiden Ausgabezustände befinden sich in den Verzeichnissen **template/inc_cntpart/articlesummary/list/..** und **template/inc_cntpart/articlesummary/article/..** Für das CP paginieren ist erst einmal die Vorlage für **Artikeldetail:** gefragt. \\ Ein Artikel kann mehrere unterschiedliche CPs beherbergen, deren Ausgabereihenfolge durch die CPs zueinander bestimmt wird. Durch einfaches Verschieben kann die Reihenfolge geändert werden. Fast jeder CP hat wiederum eine eigene Vorlage in **template/inc_cntpart/..** Sollten in den einzelnen Verzeichnissen keine **Basisvorlagen** vorhanden sein, befindet sich diese im Verzeichnis **template/inc_default/..** Die hier angelegten Vorlagen können einfach in das entsprechende Verzeichnis nach **template/inc_cntpart/..** kopiert werden und tauchen danach in der Vorlagenauswahlliste des Artikels bzw. CPs auf. ~~UP~~ ==== Vorlage "Standard": ==== Die wahrscheinlich meist genutzte Variante ist die Vorlagenauswahl "Standard". In diesem Fall wird i.d.R. autom. die Vorlage aus dem Verzeichnis **template/inc_default/..** verwendet. \\ Diese Vorlagen können angepasst werden. Allerdings ist dabei zu beachten, dass diese Vorlagen beim nächsten CMS-Update überschrieben werden können wenn systembedingt Änderungen in die Vorlage einfließen. Daher sollte von der veränderten Vorlagen im Verzeichnis **template/inc_default/..** immer eine **Sicherheitskopie** angelegt werden. z.B. VorlagenName.tmpl_save. Im Artikelkopf haben wir nun die Möglichkeit CPs zu paginieren //([x] Content Parts paginieren)//. Das ist hilfreich, wenn mehrere CPs blockweise dargestellt werden sollen. \\ Dazu ist in der Vorlageneinstellung Artikeldetail: "Standard" folgendes zu beachten: Für den **ersten Block** wird die Vorlage **template/inc_default/article_summary.tmpl** verwendet, für alle **weiteren Blöcke** die Vorlage **template/inc_default/article_summary_paginate.tmpl**. \\ Diese beiden Vorlagen müssen also aufeinander abgestimmt werden, da sie in dem meisten Fällen identisch sind. Am einfachsten ist es, den Inhalt von **article_summary.tmpl** nach **article_summary_paginate.tmpl** zu kopieren. \\ ==== Vorlagen bestimmen: ==== Die bessere Methode ist allerdings das **Kopieren** der Datei **template/inc_default/article_summary.tmpl** in das Verzeichnis **template/inc_cntpart/articlesummary/article/..** \\ Jetzt muss natürlich im Artikel in der Vorlageneinstellung **Artikeldetail:** dieses **Template ausgewählt** werden. Das Verzeichnis **template/inc_cntpart/articlesummary/article/paginate/..** sollte in diesem Fall keine Datei mit dem Namen article_summary.tmpl //(bzw. Namensgleichheit mit dem ausgewählten Artikeltemplate)// enthalten, sonst taucht der selbe Effekt auf wie vorher beschrieben. Das Template in **template/inc_cntpart/articlesummary/article/paginate/..** würde für alle Blöcke nach dem ersten Block verwendet. Das ist nur für ganz spezielle Fälle sinnvoll. ~~UP~~ ===== Einstellungen in den CPs: ===== {{:deutsch:phpwcms-system:artikel:vorlagen:cp_paginate_cp_be01_1.gif|}} Um die CPs zu animieren sich in Blöcke aufzuteilen muss in jedem CP die entsprechende Einstellung getroffen werden. Dazu dient das **Eingabefeld Abschnitt[_]**. Hier wird nun die entsprechende Nummer eingetragen. Alle CPs die **in einem Block** stehen sollen, bekommen eine **identische Nummer**. \\ Die Nummer des Abschnitts hat mit der Nummernausgabe der NAVI im Frontend nichts zu tun. Im Frontend werden die CP-Blöcke autom. ab 1 hochgezählt. Für die Reihenfolge ist die Position der CP-Blöcke im Backend verantwortlich. ~~UP~~ ===== NAVI-Arten: ===== Dazu kann auch ein **Abschnittstitel (Paginierung)** verwendet werden. In diesem Fall müssen alle CPs eines Blocks identische Abschnittstitel beinhalten. \\ Der Abschnittstitel wird im Frontend alternativ als Navigation ausgegeben. Man sollte sich allerdings für eine Art der Navigation entscheiden, * [CP_PAGINATE_PREV] - {CP_PAGINATE} - [CP_PAGINATE_NEXT] oder * [CP_PAGINATE_MENU] - {CP_PAGINATE_MENU} - [/CP_PAGINATE_MENU] Werden beide Navigationen gleichzeitig verwendet, sollte peinlichst darauf geachtet werden, dass in allen CPs auch ein Abschnittstitel eingetragen ist, der zum jeweiligen Block gehört. Ist dies nicht der Fall, gibt es Brüche in der Nummern-Navigation. Z.B. [1] [2] [4] [5] [8] ~~UP~~ ===== Template und CSS: ===== ==== Beispielvorlage: ==== **Datei:** template/inc_cntpart/articlesummary/article/default_temp.tmpl [TITLE]

{TITLE}

[/TITLE][SUB]

{SUB}

[/SUB][SUMMARY][IMAGE]{IMAGE}[CAPTION]
{CAPTION}[COPYRIGHT] {COPYRIGHT}[/COPYRIGHT][/CAPTION]
[/IMAGE]{SUMMARY}[/SUMMARY]
[CP_PAGINATE_PREV]« Previous[/CP_PAGINATE_PREV] [CP_PAGINATE]{CP_PAGINATE}[/CP_PAGINATE] [CP_PAGINATE_NEXT]Next »[/CP_PAGINATE_NEXT] [CP_PAGINATE_MENU] {CP_PAGINATE_MENU} [/CP_PAGINATE_MENU]
\\ ==== CSS: ==== div.cpPagination { margin: 10px 0 10px 0; text-align: right; } a.cpPaginate, a.cpPaginateActive, a.cpPaginationPrev, a.cpPaginationNext { padding: 0px 3px 1px 3px; background-color: #FFFFFF; color: #BBBBBB; text-decoration: none; font-weight: bold; border: 1px solid #CBCBCB; } a.cpPaginateActive { background-color: #CBCBCB; color: #FFFFFF; border: 1px inset #CBCBCB; } a.cpPaginationPrev:hover, a.cpPaginationNext:hover, a.cpPaginate:hover { background-color: #DDDDDD; color: #666666; border: 1px inset #CBCBCB; } ul.cpmenu { } .cpmenu a { line-height:18px; padding-left:2px; padding-right:2px; color: blue; background-color: #eee; border: 1px solid #ccc; } .cpmenu a.active { background-color: #BFF4FF; border: 1px solid #ccc; } .cpmenu a:hover { text-decoration: none; color: red; background-color: #FFF04F; border: 1px solid #ccc; } ~~UP~~ \\