Hallo, lieber Forumbenutzer. 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 Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) 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: http://redaxo.org/slack/
Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

artikelliste/ linkliste

28. Jul 2005, 13:02

hallo,

gibt es ein modul welches mir die ersten 3 artikel eine kategorie zeigt (bis hierhin hab ich das schon) und dann aber ein paging erlaubt...

d.h. das unten ein "weiter" und "zurück" steht und auf den folgeseiten wieder 3 artikel (von mir aus auch nur die teaser) gezeigt werden.

das "weiter" und "zurück" darf natürlich nur auftauchen wenn es noch artikel gibt...

________

desweiteren suche ich noch eine art bookmarkliste die ich in einem artikel einbauen kann...

_______

wär toll wen ihr was habt.
gruß
oliver

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

28. Jul 2005, 13:46

Hej,

Du hattest doch schon einmal so etwas in der Art gefragt

http://forum.redaxo.de/viewtopic.php?t= ... light=blog

würde das als Ansatz nehmen

Thomas

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 13:50

ich weiß,
entschuldige mich auch dafür.
aber ich komme an dieser stelle wirklich nicht weiter...

habs jetzt hinbekommen das meine subnavi immer (richtig) gehighlitet wird auch wenn einzelen artikel der kategorie angezeigt werden...

aber das paging verstehe ich einfach nicht...

gruß
oliver

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

28. Jul 2005, 14:02

Hi,

Code: Alles auswählen

$start = !empty$_GET['start']) ? (int) $start : 0; // Startitem
$offset = 3; // 3 Items pro Seite

$cat = OOCategory::getCategoryById( $deineArtikelId);
$articles = $cat->getArticles( true);

$article_list = array_slice( $articles, $start, $offset);
$list_length = count( $article_list);

foreach ( $article_list as $ooarticle) {
  // hier mach mit deinem ooarticle was du willst :)
}

$prevStart = $start - $offset;
if ( $prevStart < 0) 
{
   $prevStart = 0;
}

$nextStart = $start + $offset;
if ( $nextStart > $list_length) 
{
   $nextStart = '';
}

$link_format = '<a href="index.php?article_id=%s&start=%s">%s</a>';

// Vorherige Seite Link
echo sprintf( $link_format, $this->getValue( 'article_id'), $prevStart, 'vorherige Seite');

// Nächste Seite
if ( $nextStart != '') {
echo sprintf( $link_format, $this->getValue( 'article_id'), $nextStart, 'n&auml;chste Seite');
}
ungetestet!

Es ist sehr zu empfehlen, die Seite zu Cachen...

Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 14:38

vielen dank für die antwort....
verstehe das dann doch nicht.

ich höre dann hier mal auf...
muß ich mir halt etwas anderes überlegen
(dachte nicht das es so eine ungewöhnliches anforderung ist)

gruß und danke
oliver

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

28. Jul 2005, 14:47

olien hat geschrieben:vielen dank für die antwort....
verstehe das dann doch nicht.
Hi,

wie ist dein Ansatz, den du vor meinem Post hattest?

Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 14:50

danke der nachfrage:

http://forum.redaxo.de/viewtopic.php?t= ... light=blog

so ware der (von goldfisch)

gruß
oliver

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

28. Jul 2005, 14:52

Hi,

kann man das auch online ansehen?

Wie du schreibst hast du einen Teil deiner Anforderungen schon selbst umgesetzt...?

Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 14:58

http://www.kreischer.de/index.php?article_id=197

hier funktioniert das leider gar nicht und hier

http://www.kreischer.de/index.php?article_id=177

etwas (allerdings lasse ich heir auch alle artikel anzeigen...)

kills:cut

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

28. Jul 2005, 15:05

Hi,

schick mir bitte per PM nen Zugang zum Redaxo.

Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 15:16

vielen dank für die hilfsbereitschaft!

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

28. Jul 2005, 15:54

Hi,

nach ein bisschen hin und her, war dies die Lösung:

Code: Alles auswählen

<?php
$start = !empty($_GET['start']) ? (int) $_GET['start'] : 0; // Startitem
$offset = 3; // 3 Items pro Seite

$cat = OOCategory::getCategoryById( REX_CATEGORY_ID);
$articles = $cat->getArticles( true);
$articles_length = count( $articles);

$article_list = array_slice( $articles, $start, $offset);

foreach ( $article_list as $ooarticle) {
  $artId = $ooarticle->getId();

  // Damit keine Endlosschleife passiert, den Artikel der die Pagination setzt überspringen
  if ( $artId == REX_ARTICLE_ID) {
     break;
  }
  $article = new article();
  $article->setArticleId( $artId);
  echo $article->getArticle();
}

$prevStart = $start - $offset;
if ( $prevStart < 0)
{
   $prevStart = '';
}

$nextStart = $start + $offset;
if ( $nextStart >= $articles_length)
{
   $nextStart = '';
}

$link_format = '<a href="index.php?article_id=REX_ARTICLE_ID&start=%s">%s</a>';

// Vorherige Seite Link
if ( $prevStart !== '') {
  echo sprintf( $link_format, $prevStart, 'vorherige Seite');
}

// Nächste Seite
if ( $nextStart !== '') {
  echo sprintf( $link_format, $nextStart, 'n&auml;chste Seite');
} 
?>
Dieses Modul sollte im Startartikel einer Kategorie eingebunden werden.

Es entsteht dadurch eine Vorwärts/Rückwärts Navigation um durch alle Artikel der Kategorie (Ausser der indem das Modul selbst ist) zu Blättern.


Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

28. Jul 2005, 18:29

ich bedanke mich hier nochmal herzlichst für die hilfe!

oliver

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

1. Aug 2005, 18:43

Halli Hallo,

ich hab grad mit olien noch ein wenig geplaudert und ergebniss war nun folgende Modifikation des obigen Moduls:

Code: Alles auswählen

<?php

if (!$REX[GG])
{
// Im Backend nichts machen
return;
}


$start = !empty($_GET['start']) ? (int) $_GET['start'] : 0; // Startitem
$offset = 3; // 3 Items pro Seite
$cats = array( 3, 1); // alle Kategorien die Du "indizieren" willst

$articles = array();

foreach ( $cats as $catId) {
  $cat = OOCategory::getCategoryById( $catId);
  
  // CatIds die nicht funktionieren aussortieren
  if( $cat === null) {
     continue;
  }
  $cat_articles = $cat->getArticles( true);

  foreach ( $cat_articles as $ooarticle) {
     // keine Startartikel anzeigen
    if ( $ooarticle->isStartPage()) {
       continue;
     }

     // Damit keine Endlosschleife passiert, den Artikel der die Pagination setzt überspringen
     if ( $ooarticle->getId() == REX_ARTICLE_ID) {
        continue;
     }
     $articles[] = $ooarticle;
  }
} 

$articles_length = count( $articles);

// Sortieren nach Erstellungsdatum
if ( $articles_length > 0) {

   usort( $articles, "sortArticlesByCreateDate");
}

$article_list = array_slice( $articles, $start, $offset);

foreach ( $article_list as $ooarticle) {
  $artId = $ooarticle->getId();

  $article = new article();
  $article->setArticleId( $artId);
  echo $article->getArticle();
}

$prevStart = $start - $offset;
if ( $prevStart < 0)
{
   $prevStart = '';
}

$nextStart = $start + $offset;
if ( $nextStart >= $articles_length)
{
   $nextStart = '';
}

$link_format = '<a href="index.php?article_id=REX_ARTICLE_ID&start=%s">%s</a>';

// Vorherige Seite Link
if ( $prevStart !== '') {
  echo sprintf( $link_format, $prevStart, 'vorherige Seite');
}

// Nächste Seite
if ( $nextStart !== '') {
  echo sprintf( $link_format, $nextStart, 'n&auml;chste Seite');
} 

// Sortierfunktion
function sortArticlesByCreateDate( $artA, $artB) {
   $yearA    = (int) substr( $artA->_erstelldatum, 0, 4);
   $monthA = (int) substr( $artA->_erstelldatum, 4, 2);
   $dayA     = (int) substr( $artA->_erstelldatum, 6, 2);

   $yearB    = (int) substr( $artB->_erstelldatum, 0, 4);
   $monthB = (int) substr( $artB->_erstelldatum, 4, 2);
   $dayB     = (int) substr( $artB->_erstelldatum, 6, 2);
   
   $createA = mktime( 0, 0, 0, $monthA, $dayA, $yearA);
   $createB = mktime( 0, 0, 0, $monthB, $dayB, $yearB);

   if ( $createA == $createB) {
      return 0;
   }

   return $createA > $createB ? -1 : 1;
}
?>
- Alle Artikel werden nach erstellungsdatum sortiert ausgegeben (neuste immer oben)
- Es werden keine Startartikel ausgegeben
- per "$cats = array( 3, 1); // alle Kategorien die Du "indizieren" willst" kann man konfigurieren welche Kategorien alle einbezogen werden sollen

Das ganze im Einsatz seht Ihr auf
http://kreischer.de/

Gruß,
Markus

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

!

1. Aug 2005, 23:09

und wieder danke!

oliver

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

22. Mär 2006, 11:03

Hallo,

was mache ich falsch, wenn nicht die Links zu den einzelnen Artikeln angezeigt werden, sondern die gesamten Artikel untereinander und auch ohne "Zurück" und "Weiter"?

http://www.schuhbecks-check-inn.de/Reda ... icle_id=85

Gruß,
Niki

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

22. Mär 2006, 22:03

hi niki,

ich hab die frage jetzt 4 mal gelesen und verstehe sie leider nicht.
könntest du das evtl. mal anders formulieren?

gruß
oliver

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

23. Mär 2006, 08:50

Hallo Oliver,

also, das Modul "blätterbare Articlelist" habe ich so verstanden, dass die einzelnen Article einer Kategorie als Links angezeigt werden, wenn man auf diese Links geht, wird ein Article angezeigt und man kann mit den Links "vor" und "zurück", wie in der JAOS-Galerie, blättern.

Bei mir werden die INhalte der einzelnen Article aber untereinander gereiht.

Weisst du jetzt, was ich meine? :?
Wenn nicht, erkläre ich es noch mal anders.

LG,
Niki

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

23. Mär 2006, 09:56

Hej Niki,

ich verwende das Modul nicht und kann daher nur eine Vermutung geben.

Die blätterbare Artikelliste gibt die kompletten Artikel zurück. Es erscheinen nur eine bestimmte Anzahl von Artikel (im Modul ist 3 angegeben). Wenn nun aber mehr als 3 Artikel vorhanden sind, dann kommt die Navigation zum vorschein, so dass du zu den nächsten 3 Artikel kommst.

vg Thomas

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

23. Mär 2006, 10:02

Hallo Thomas,

du bist mein Held! ;-)

Ich habe die Anzahl der Article auf 1 gesetzt und nun klappt es.
Es sind doch meistens die kleinen Denkfehler, die es ausmachen. :-)

LG,
Niki

Benutzeravatar
Oliver.Kreischer
Beiträge: 2509
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

23. Mär 2006, 11:19

hi niki,

bin leider zu spät mit der antwort.
aber thomas antwort war ja die richtige..

gruß
oliver

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

28. Mär 2006, 15:31

Tag,

jetzt ist noch die Frage, wie ich das Ganze nicht nach dem Erstellungsdatum sondern nach dem Änderungsdatum sortiere.
Oder meinetwegen auch alphabetisch.

Ich würde das Modul gern zum Durchblättern eines Kalenders verwenden, bis der angekündigte Eventkalender als Modul online gestellt wird. ;-)


Gruß,
Niki

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

28. Mär 2006, 15:54

Hej,
Niki hat geschrieben:jetzt ist noch die Frage, wie ich das Ganze nicht nach dem Erstellungsdatum sondern nach dem Änderungsdatum sortiere.
Schreibe anstatt _erstelldatum -> _updatedate

vg Thomas

PS: Wo darf man sich das Online ansehen?

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

28. Mär 2006, 16:07

Hallo Thomas,

das Ganze kannst du hier sehen:

http://www.schuhbecks-check-inn.de/Reda ... 85&start=0

Vielleicht kannst du mir auch noch dabei helfen, wie man z.b. die Links "nächste Seite" und "vorherige Seite" an den Artikelanfang bekommt und es trotzdem noch funktioniert

und was ich im Texteingabemodul eintregen muss, wenn keine Einträge vorhanden sind, damit die Linien nicht so blöd nach oben rutschen.

Das wäre prima!
Danke auch für den Sortiertip.

Gruß,
Niki

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

28. Mär 2006, 16:30

Hej,
Niki hat geschrieben:Vielleicht kannst du mir auch noch dabei helfen, wie man z.b. die Links nächste Seite" und "vorherige Seite" an den Artikelanfang bekommt und es trotzdem noch funktioniert
schreibe anstatt

Code: Alles auswählen

echo $article->getArticle();

$out = $article->getArticle();
und dann

Code: Alles auswählen

print $out;
wo es ausgegeben werden soll.
Niki hat geschrieben:und was ich im Texteingabemodul eintregen muss, wenn keine Einträge vorhanden sind, damit die Linien nicht so blöd nach oben rutschen.
Das liegt an deiner Klasse eigenes_rechts. Musst du halt anpassen.

vg Thomas

Zurück zu „Allgemeines [R2]“