vorheriger Artikel, nächster Artikel

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
christobal
Senior Member
Beiträge: 313
Registriert: Do 4. Nov 2010, 13:03
Wohnort: Reith bei Seefeld, Tirol - Österreich
Kontaktdaten:

vorheriger Artikel, nächster Artikel

Beitragvon christobal » Mi 13. Apr 2016, 10:10

Hallo und ich steh auf dem Schlauch!

Ich habe Newsobjekte auf einer Übersichtsseite. Per Klick auf dem "mehr dazu"-Button komm ich auf die Objekt-Detailseite. Hier möchte ich am Ende des Artikels links den vorigen Artikel und rechts den nächsten Artikel "bewerben".

Muss ich da die Objekt-ID ermitteln und per PHP rechnen?
Vielleicht hat das ja schon wer gemacht? Ich wäre um Hilfe sehr dankbar!
BIG Detail, Kaspar & Sigl OG
Riedgasse 8b
A-6020 Innsbruck
Tel. +43 512 346070-40
Fax +43 512 346070-20
Mobil: +43 676 3438011

christoph.kaspar@bigdetail.com
http://www.bigdetail.com

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: vorheriger Artikel, nächster Artikel

Beitragvon blickfang » Mi 13. Apr 2016, 10:20

Hi Christobal,

mit Bordmitteln geht das aktuell nicht, aber das Thema "Optimierung der Paginierung" haben wir auf dem Schirm.

Du könntest Dir (wenn Du immer über eine LIste kommst) dort in der Session die Reihenfolge merken) oder auf jeder Seite nochmals eine Listview machen und mit offset und rows dann den jeweiligen Eintrag selektieren.

Viele Grüße
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: vorheriger Artikel, nächster Artikel

Beitragvon WBTMagnum » Mi 13. Apr 2016, 10:55

Hallo,

Als Workaround kannst du die Detailseite mittels Listview umsetzen. Diese zeigt dann nur den ausgewählten Eintrag an. Mittels back/next kannst du dann zwischen den Einträgen navigieren.

HTH,
Sascha

AndreasWitt

Re: vorheriger Artikel, nächster Artikel

Beitragvon AndreasWitt » Mi 13. Apr 2016, 11:21

... ich hatte das mal so gelöst:

Code: Alles auswählen

<we:comment>Textlink zum chronologisch vorhergehenden bzw. nachfolgenden Beitrag. Angezeigt wird die jeweilige Seitenueberschrift.</we:comment>
<?php
$GLOBALS['paginationArrayPosition'] = array();
$GLOBALS['paginationArrayTitle'] = array();
?>
<we:DID doc="self" to="global" nameto="actDocID" />

<we:listview type="document" name="Pagination" doctype="Blog-Beitrag" order="Datum" desc="false">
	<we:repeat>
		<we:field type="text" name="WE_ID" to="global" nameto="listviewDcoID"/>
		<we:field type="text" name="SeitenUeberschrift" to="global" nameto="listviewDocHeadline"/>
		<we:position type="listview" reference="Pagination" format="1" to="global" nameto="listviewActPosition" />
		<?php
		$id = $GLOBALS['listviewDcoID'];
		$GLOBALS['paginationArrayPosition'][$GLOBALS['listviewActPosition']] = $id;
		$GLOBALS['paginationArrayTitle'][$id] = $GLOBALS['listviewDocHeadline'];
		?>
	</we:repeat>
</we:listview>

<?php
$backPageID = 0;
$GLOBALS['backPageTitle'] = '';
$nextPageID = 0;
$GLOBALS['nextPageTitle'] = '';
foreach($GLOBALS['paginationArrayPosition'] as $position => $id){
	if($id == $GLOBALS['actDocID']){
		$backPosition = ($position-1);
		$backPageID = $GLOBALS['paginationArrayPosition'][$backPosition];
		if($backPageID > 0){
			$GLOBALS['backPageTitle'] = $GLOBALS['paginationArrayTitle'][$backPageID];
		}

		$nextPosition = ($position+1);
		$nextPageID = $GLOBALS['paginationArrayPosition'][$nextPosition];
		if($nextPageID > 0){
			$GLOBALS['nextPageTitle'] = $GLOBALS['paginationArrayTitle'][$nextPageID];
		}
	}
}
?>

<div class="pagenavi">
	<we:ifVarNotEmpty match="backPageTitle" type="global"><we:a id="\$backPageID" class="back"><we:var type="global" name="backPageTitle"/></we:a></we:ifVarNotEmpty>
	<we:ifVarNotEmpty match="nextPageTitle" type="global"><we:a id="\$nextPageID" class="forth"><we:var type="global" name="nextPageTitle"/></we:a></we:ifVarNotEmpty>
</div>

Benutzeravatar
christobal
Senior Member
Beiträge: 313
Registriert: Do 4. Nov 2010, 13:03
Wohnort: Reith bei Seefeld, Tirol - Österreich
Kontaktdaten:

Re: vorheriger Artikel, nächster Artikel

Beitragvon christobal » Do 14. Apr 2016, 09:36

Vielen Dank für Euren Input!!!
BIG Detail, Kaspar & Sigl OG
Riedgasse 8b
A-6020 Innsbruck
Tel. +43 512 346070-40
Fax +43 512 346070-20
Mobil: +43 676 3438011

christoph.kaspar@bigdetail.com
http://www.bigdetail.com

Benutzeravatar
christobal
Senior Member
Beiträge: 313
Registriert: Do 4. Nov 2010, 13:03
Wohnort: Reith bei Seefeld, Tirol - Österreich
Kontaktdaten:

Re: vorheriger Artikel, nächster Artikel

Beitragvon christobal » Fr 15. Apr 2016, 12:51

Sodala, hab jetzt das PHP-Skript woanders gefunden und für meine Objekte umgebaut. Vielleicht kanns ja wer anderer auch gebrauchen...

Code: Alles auswählen

<we:object name="newsdetail" classid="2">
<h1><we:var name="Newsheadline" /></h1>
<h2><we:var name="Newsvorspann" /></h2>
<we:var name="Newstext" />
</we:object>

<?php $newsPaths = array(); ?>

<we:listview type="object" name="news_listview" rows="4" order="Newsdatum" classid="2" desc="true">
<we:repeat>
<we:field name="WE_PATH" to="global" nameto="thisNewsPath"/>
<?php array_push($newsPaths, $thisNewsPath); ?>
</we:repeat>
</we:listview>

<?php
$self = $_SERVER['REQUEST_URI'];
$newsIndex = "";
for($i=0; $i < count($newsPaths); $i++) {
if($newsPaths[$i] == $self) {
$newsIndex = $i;
}
}
?>

<?php if($newsPaths[$newsIndex - 1]) { echo 'href="'.$newsPaths[$newsIndex - 1].'">voriger Eintrag</a>'; } ?>
<a href="<we:url id="14"/>">Übersicht</a>
<?php if($newsPaths[$newsIndex + 1]) { echo '<a href="'.$newsPaths[$newsIndex + 1].'">nächster Eintrag</a>'; } ?>
BIG Detail, Kaspar & Sigl OG
Riedgasse 8b
A-6020 Innsbruck
Tel. +43 512 346070-40
Fax +43 512 346070-20
Mobil: +43 676 3438011

christoph.kaspar@bigdetail.com
http://www.bigdetail.com


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 57 Gäste