First Slice aller Unterkategorien (Startartikel)

Wie verwendet man Module oder Aktion und passt diese an.

First Slice aller Unterkategorien (Startartikel)

Beitragvon Tymo » 30. Okt 2008, 21:11

Guten Abend,

ich habe in einer Kategorie mehrere Unterkategorien mit jeweils einem Startartikel.

Ich suche ein Modul, das mir aus jedem Startartikel der Unterkategorie den "first Slice" ausliest, um sie in dem Startartikel der Kategorie auszugeben.

Mit einem Modul, jeden first Slice aus einem Artikel, außer dem Startartikel, auszulesen, habe ich es schon hinbekommen. Leider habe ich dann das Problem, dass ich die Unterartikel nicht in der Navigation ausgegeben bekomme.

Kann mir jemand helfen?
Tymo
 
Beiträge: 131
Registriert: 20. Nov 2006, 20:39

Beitragvon Tymo » 31. Okt 2008, 18:38

Kann mir jemand helfen?
Tymo
 
Beiträge: 131
Registriert: 20. Nov 2006, 20:39

Beitragvon ciss » 31. Okt 2008, 19:59

Mit einem Modul, jeden first Slice aus einem Artikel, außer dem Startartikel, auszulesen, habe ich es schon hinbekommen


Dann sollte das Gegenteil nicht schwer fallen. Am besten zeigst du was du bereits hast, so dass man darauf aufbauen kann.
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon Tymo » 31. Okt 2008, 20:48

Mein Modul im Moment:

Code: Alles auswählen
<?php
if (!function_exists('truncate'))
{
   function truncate($string, $length = 80, $etc = '...', $break_words = false)
   {
      if ($length == 0)
         return '';

      if (strlen($string) > $length)
      {
         $length -= strlen($etc);
         if (!$break_words)
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length +1));

         return substr($string, 0, $length).$etc;
      }
      else
         return $string;
   }
}

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getArticles(true);

  if (is_array($childs)) {
    foreach ($childs as $child) {
      $articleId = $child->getId();
      if ($articleId == REX_ARTICLE_ID) continue;
      $article = new article($id);
           
      $firstSlice = OOArticleSlice::getFirstSliceForArticle($articleId);
      $headline = $firstSlice->getValue(1);
      $text = $firstSlice->getValue(2);
      $image = $firstSlice->getFile(1);
      $price = $firstSlice->getValue(3);
     
      $content = truncate(strip_tags($text), 80); // Ersten 80 Zeichen
      
      print('<div class="teaser">');
     
        if ($image != null) {
         printf('<div class="img"><a href="'.rex_getUrl($articleId).'"><img src="'.$REX[HTDOCS_PATH].'index.php?rex_resize=150a__'.$image.'" alt="" /></a></div>');
        }
        printf('<div class="text">
        <h3><a href="'.rex_getUrl($articleId).'">'.$headline.'</a></h3>');
   
        printf('<p>%s</p>', $content);
        printf('<p>Preis inkl. Versand: '.$price.' &euro;</p>');
        printf('<p><a class="more" href="'.rex_getUrl($articleId).'">&raquo; weitere Info`s und Bilder</a></p>');
      print('</div></div>');
      print('<hr style="clear: both;" />');
    }
  }
?>
Tymo
 
Beiträge: 131
Registriert: 20. Nov 2006, 20:39

Beitragvon ciss » 31. Okt 2008, 21:18

Das sollte dir weiterhelfen:

Code: Alles auswählen
  $categories = OOCategory::getChildrenById(REX_CATEGORY_ID);
   foreach($categories as $category)
   {
      $article = $category->getStartArticle();
      $slice = OOArticleSlice::getFirstSliceForArticle($article->getId());
   }
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon Tymo » 1. Nov 2008, 16:08

ciss, fantastisch.

Das war es.
Funktioniert.

Vielen Dank!
Tymo
 
Beiträge: 131
Registriert: 20. Nov 2006, 20:39


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 3 Gäste