[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Artikel sliden (blättern) - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
le phil
Beiträge: 22
Registriert: 29. Dez 2006, 19:44

Artikel sliden (blättern)

17. Jan 2009, 14:53

Hallo zusammen,

ich habe eine kurze Frage, die ich mir selber durch die Suchfunktion im Forum leider nicht beantworten konnte. Habe eine Webseite die in einer Kategorie sehr sehr viele Artikel hat.

Nun habe ich mir vorgestellt, dieses mit einer eleganten Blätterfunktion lösen zu wollen. Ähnlich wie das "Artikelliste in einem JQuery Newsslider" Modul von "Ici".
Nur sollen die ganzen Artikel angezeigt werden und nicht nur die Titel und Beschreibungen. Gibt es da was? Oder könnte man es einfach erweitern?

Für Antworten bedanke ich mich im vorraus.

Gruß

le phil
Beiträge: 22
Registriert: 29. Dez 2006, 19:44

23. Jan 2009, 19:55

hab mich ein wenig damit auseinander gesetzt.

Im Modul steht folgendes:

Code: Alles auswählen


if (is_array($article)) {
	foreach ($article as $var) {

	$articleId		= 	$var->getId();
	$articleName		= $var->getName();
	$articleDescription	= $var->getDescription();

ich habe versucht "$var->getDecription();" durch "$var->getContent();" oder "$var->getArticle();" das funktioniert aber nicht. Ich bekomme Fehlermeldungen. Hat einer vielleicht eine Idee?

Würde mich über Hilfe sehr freuen.

Benutzeravatar
alex2911
Beiträge: 567
Registriert: 20. Jul 2005, 04:13
Wohnort: Österreich
Kontaktdaten: Website

23. Jan 2009, 20:31

Code: Alles auswählen

$article = new article(HIER_DIE_ID);
$articlecontent = $article->getArticle();

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

23. Jan 2009, 20:33

Hi,

eine Methode getArticle() gibts nicht bei OOArticle und getDescription müsste getValue('art_description') heßen.

Viele Grüße,
Markus

Benutzeravatar
alex2911
Beiträge: 567
Registriert: 20. Jul 2005, 04:13
Wohnort: Österreich
Kontaktdaten: Website

23. Jan 2009, 20:56

Markus.Staab hat geschrieben:Hi,

eine Methode getArticle() gibts nicht bei OOArticle und getDescription müsste getValue('art_description') heßen.

Viele Grüße,
Markus

ich werd jetzt das gefühl nicht los daß sich deine aussage auf mein posting bezieht. dabei funktioniert meine lösung schon seit jahren :oops:

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

24. Jan 2009, 03:00

@le phil

Wie willst du denn das mit dem Blättern hinbekommen, wenn du mit einer Schleife arbeitest. Dann läuft die Schleife und knallt Dir einen Artikel hinter den anderen.
Ich habe Deine Frage so interpretiert, dass Du in einer Kategorie mehrere Artikel hast, die Du über Schaltflächen oder Ähnlichem einen nach dem anderen anzeigen lassen willst.

Ist es das was Du suchst?

Gunter
read the manual first

Benutzeravatar
alex2911
Beiträge: 567
Registriert: 20. Jul 2005, 04:13
Wohnort: Österreich
Kontaktdaten: Website

24. Jan 2009, 04:46

man könnte das sicher hinbekommen.
zeigt mir nen js-blätterer und ich mach den rest :lol:

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

24. Jan 2009, 13:53

Fürs Blättern in Artikeln einer Kategorie eignet sich folgendes Modul:

Moduleingabe

Code: Alles auswählen

Keine Eingabe nötig
Modulausgabe

Code: Alles auswählen

<?php
$alist = OOArticle::getArticlesOfCategory(REX_CATEGORY_ID,true);

$aarray = array();
foreach($alist as $article) {
  $aarray[] = $article->getId();
}

$cpos = array_search($this->getValue("article_id"),$aarray);
$length = count($aarray);

if ($length > 1) {
  $last = $length-1;
  switch ($cpos) {
  case 0:
    $prev_id = $aarray[$last];
    $next_id = $aarray[1];
    break;
  case $last:
    $prev_id = $aarray[$last-1];
    $next_id = $aarray[0];
    break;
  default:
    $prev_id = $aarray[$cpos-1];
    $next_id = $aarray[$cpos+1];
  }
  $buttons = "<span id='button1'><a href='".$prev_id."-0-Produkte.HTML'>Zurück</a></span>";
  $buttons .= " &nbsp; ";
  $buttons .= "<span id='button2'><a href='".$next_id."-0-Produkte.HTML'>Weiter</a></span>";
}
print $buttons;
?>
Dieses Modul muss in alle Artikel der Kategorie eingefügt werden. Für den ersten Test empfehle ich das Modul ganz oben (1. Slice) in die Artikel einzufügen. Mit CSS sollte das Erscheinungsbild der Links verschönert werden.

Viel Spaß damit
Gunter
read the manual first

le phil
Beiträge: 22
Registriert: 29. Dez 2006, 19:44

24. Jan 2009, 22:23

@ all

thanx für eure Lösungen, werde mich morgen mal dran setzen.

@gupi

genau das habe ich vor, er soll mir die einzelnen Artikel einer Kategorie in einer Slider Funktion auswerfen.

Habe das Modul schon mal ohne Modifikation benutzt. Es listet alle Artikel untereinander auf, dann greift aber das JQuery Script und baut den Slider. So dass man immer nur 2 Artikel gleichzeitig sieht und den Rest sliden kann. Aber eben nur die Discription. Ich brauche den Content.


Gruß

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

25. Jan 2009, 16:33

Dieses Modul im Startartikel einer Kategorie gibt den Inhalt aller weiteren Artikel mit Online-Status aus.

Eingabe:

Code: Alles auswählen

keine Eingabe erforderlich
Ausgabe:

Code: Alles auswählen

<?php
$alist = OOArticle::getArticlesOfCategory(REX_CATEGORY_ID,true);
$astart = OOArticle::getCategoryStartArticle(REX_CATEGORY_ID);
$start_id = $astart->getId();

$aarray = array();
$art_content .= "";
foreach($alist as $article) {
  $aarray[] = $article->getId();
}

for ($i=0;$i<count($aarray);$i++) {
  if ($aarray[$i] != $start_id){
    $art = new article($aarray[$i]);
    echo $art->getArticle();
  }
}
?>
Für die bessere Lesbarkeit habe ich hier mit zwei Schleifen gearbeitet.
In der ersten Schleife ermittele ich alle Artikel ID's der Kategorie.

In der 2. Schleife gebe ich den Inhalt der Artikel aus. Der Startartikel (mit dem Modul) darf hier nicht mit ausgegeben werden, da sonst das Modul sich rekursiv immer wieder selber aufruft - bis der Speicher überläuft.

Das echo Statement kann sicher sehr leicht durch Code für die Ausgabensteuerung ersetzt werden.

Code: Alles auswählen

    echo $art->getArticle();
Viel Spass damit
Gunter
read the manual first

le phil
Beiträge: 22
Registriert: 29. Dez 2006, 19:44

26. Jan 2009, 20:03

hey gupi,

ich hab mal angefangen deinen Hilfe einzubauen. bin noch nicht ganz fertig, aber es scheint auf jedenfall mit dem JQuery script zu funktionieren.

Vielen vielen vielen Dank!!!

Gruß

Zurück zu „Allgemeines [R4]“