[Erledigt] wie schließt man startartikel bei abfrage aus?

Wie verwendet man Module oder Aktion und passt diese an.

[Erledigt] wie schließt man startartikel bei abfrage aus?

Beitragvon Include » 11. Mai 2011, 20:38

Hallo,
ich habe ein kleines Modul mit dem ich alle Artikel in einer Kategorie abfrage und diese dann in einer Linkliste ausgebe.

Nun frage ich mich wie man hier den Startartikel in der Linkliste ausschließen kann.
Ich möchte ja nur alle ausser den Startartikel ausgeben.
Code: Alles auswählen
<?php
  $cat = OOCategory::getCategoryById($this->getValue("category_id"));
  $articles = $cat->getArticles(true);

  if (is_array($articles)) {
    echo " <div class=\"pnav\" id=\"pnavi\"><ul>";
    for ($i = 0; $i < count($articles); $i++) {
      $iactive = $i+1;
      if ($articles[$i]->getId() != $this->getValue("article_id")) {
        echo "<li><a href=\"" . $articles[$i]->getUrl() . "\">" .$iactive . "</a></li>";
      }
    }

if ("REX_LINK[1]") {
   print '<li><a href="'."REX_LINK[1]".'" title="'."REX_VALUE[1]".'">'."REX_VALUE[1]".'</a></li>';
}
    echo "</ul></div>";
  }
?>


Kann jemand helfen?
Zuletzt geändert von Include am 13. Mai 2011, 11:09, insgesamt 1-mal geändert.
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Oliver.Kreischer » 11. Mai 2011, 21:34

http://kreischer.de - "It's very simple - you read the protocol and write the code." - Bill Joy
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1821
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Ingo » 11. Mai 2011, 21:38

Code: Alles auswählen
$cat = OOCategory::getCategoryById($this->getValue("category_id"));
$articles = $cat->getArticles(true);
if (count($articles) > 1) { // es gibt artikel ausser dem startartikel
    // ul aufmachen
}
foreach ($articles as $article) {
    if ($article->isStartArticle()) { // startartikel überspringen
        continue;
    }
    // li ausgeben
}
if (count($articles) > 1) { // es gibt artikel ausser dem startartikel
    // ul zumachen
}
Ingo
 
Beiträge: 288
Registriert: 23. Jun 2010, 23:34

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Include » 13. Mai 2011, 08:15

Oliver.Kreischer hat geschrieben:Hi,

hast Du das gesehen?

http://www.redaxo.org/de/download/module/?modul_id=20

LG
Oliver

Stimmt, das ist eigentlich was ich brauche, Danke!
Nur das in dem was ausgegeben nicht der "$article->getName()" stehen soll sondern lediglich
eine Zahl die bei jedem Eintrag um eins erhöht wird.
Deswegen habe ich das in meinem Beispiel mit einem einfachen Zähler gelöst der immer um 1 erhöht.
Komme ich denn in der foreach Funktion auch an die Werte innerhalb des Array damit ich die Zahlen ausgeben könnte?
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Include » 13. Mai 2011, 08:19

Danke Ingo!
Habe ich auch versucht. Aber ich bekomme es einfach nicht hin das statt der url eine aufseteigende Zahl ausgegeben wird wie ich bei dem Modul das mir Oliver gezeigt hatte auch schon geantwortet hatte.
Hmmmm...
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Oliver.Kreischer » 13. Mai 2011, 08:38

So?

Code: Alles auswählen
<?php

$zaehler = '';

     $cat = OOCategory::getCategoryById($this->getValue("category_id"));
   $articles = $cat->getArticles( true);

if ( is_array( $articles) && count( $articles) > 0) {
  echo '<ul class="article-list">';
  foreach ( $articles as $article) {
    // Den aktuellen Artikel nicht verlinken

    // Startartikel ausblenden
    if ( $article->isStartPage()) continue;

   $zaehler ++;
    echo '<li><a href="'.$article->getUrl().'">'.$zaehler.'</a></li>';

  }
  echo '</ul>';
}
?>


Grüße
Oliver
http://kreischer.de - "It's very simple - you read the protocol and write the code." - Bill Joy
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1821
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Include » 13. Mai 2011, 08:55

Also im Prinzip habe ich es jetzt so: Alles super!
Code: Alles auswählen
$cat = OOCategory::getCategoryById($this->getValue("category_id"));
$articles = $cat->getArticles(true);
if (count($articles) > 1) { // es gibt artikel ausser dem startartikel
    echo " <div class=\"pnav\" id=\"pnavi\"><ul>"; // ul aufmachen
}
foreach ($articles as $article) {
    if ($article->isStartArticle()) { // startartikel überspringen
        continue;
    }
    echo "<li><a href=\"" . $article->getUrl() . "\">" ."hi". "</a></li>"; // li ausgeben
}

Nur das eben "hi" aufsteigend durch Ziffern ersetzt werden soll.
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Include » 13. Mai 2011, 09:38

Oliver.Kreischer hat geschrieben:So?
Grüße
Oliver


Oh Nein, wie unangenehm! :oops:
Ich hatte es schon richtig gemacht.
Es wurde nur deswegen nichts ausgegeben, weil wegen falsch gesetzten css klassen weisser Text auf weissem background augegeben wurde. Deswegen hab ich es nicht gesehen.
Jetzt alle mal bitte lachen. Oder weinen geht auch!

Danke an alle!!!
Include
 
Beiträge: 100
Registriert: 30. Mär 2007, 20:22

Re: wie schließt man startartikel bei abfrage aus?

Beitragvon Oliver.Kreischer » 13. Mai 2011, 10:55

:-) Kein Problem
http://kreischer.de - "It's very simple - you read the protocol and write the code." - Bill Joy
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1821
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing


Zurück zu Module/Aktionen [R4]

Wer ist online?

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