Kategorien-Teaser in mehreren Sprachen

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Kategorien-Teaser in mehreren Sprachen

Beitragvon nitzer » 4. Jan 2008, 14:58

Hallo,

ich versuche gerade folgendes Modul für meine Zwecke anzupassen:
http://www.redaxo.de/165-Moduldetails.html?module_id=176

Meine Seite soll dreisprachig sein und ich möchte das Modul für eine Newsbox verwenden, die z.B. 3 Artikel aus der Kategorie "anteasert".

Ich hab schonmal im Forum gesucht aber für meine Zwecke noch keine Lösung gefunden. das Problem wurde hier ja auch schonmal behandelt, krieg es aber nicht hin, daß der Inhalt aus der jeweiligen Sprache ausgeworfen wird. Ich bekomme immer nur die Inhalte aus der Sprache 0 (deutsch) angezeigt.
Die "Weiter"-Links hab ich schonmal mit der cur_lang versehen und das geht ja auch easy.

Also, wo muß ich im Modul eintragen, daß sich Redaxo die Inhalte aus der aktuellen Sprache holt.

Code Modulausgabe:


Code: Alles auswählen
<?php
$cat = OOCategory::getCategoryById($this->getValue(category_id));
$cats = $cat->getChildren();

$itemsPerSide = "REX_VALUE[1]";
$wordsPerArticle = "REX_VALUE[2]";

if (is_array($cats)) {
   foreach ($cats as $cat) {
      $i += 1;
      if ($i <= $itemsPerSide)
      {
      if($cat->isOnline()){
         
         $catId = $cat->getId();
         $catName = $cat->getName();
         $article = $cat->getArticles();
         if (is_array($article)) {
            foreach ($article as $var) {
               $articleId = $var->getId();
               $articleName = $var->getName();
               $articleDescription = $var->getDescription();
               $art = new article();
               $art->setArticleId($articleId);
               $articleContent = $art->getArticle();
               $articleContent = trim($articleContent);
               $articleContent = str_replace("</p>", " </p>", $articleContent);
              $articleContent = str_replace("<br />", " <br />", $articleContent);
               $articlePPath = $REX["HTDOCS_PATH"]."files/".$var->getValue("file");
               $output = "";
               $words = explode(" ",$articleContent);
               $wordsCount = count($words);
   
                if ($wordsCount < $wordsPerArticle) $wEnd = $wordsCount;
                else  $wEnd = $wordsPerArticle;
            
                 for ($w=0;$w<$wEnd;$w++) {
                  $output .= $words[$w]." ";
                 }
      
                 $output = trim($output);
        
                 $isCloseParagraph = substr($output,-4);
                 $link = '<a href="'.rex_getUrl($articleId, $REX['CUR_CLANG']).'"> ...mehr</a>';
                 $newString = $link.'</p>';
   
   
                 if ($isCloseParagraph == '</p>') {
                   $output = substr_replace($output,$newString,-4);
                }
                  else {
                 $output .= $newString;
                  }
   
                 print '<dl>';
                 print '<dt><h2>'.$articleName.'</h2></dt>';
print '<dt><br /></dt>';
                 print '<dt><div class="teaser2">'.$output.'</div></dt>';
print '<hr style="color:#D4D4D4; height:2px">';
            print '</dl>';

            }
         }
      }
   }
   }
}
?>
nitzer
 
Beiträge: 180
Registriert: 16. Okt 2006, 21:53
Wohnort: Erkrath

:-( keine Idee?

Beitragvon nitzer » 7. Jan 2008, 16:25

hat keiner eine Idee wie ich das umsetzen kann?
nitzer
 
Beiträge: 180
Registriert: 16. Okt 2006, 21:53
Wohnort: Erkrath

Beitragvon Jan.Kristinus » 7. Jan 2008, 17:59

hallo,

ersetze mal

Code: Alles auswählen
$cat = OOCategory::getCategoryById($this->getValue(category_id));


Code: Alles auswählen
$cat = OOCategory::getCategoryById($this->getValue(category_id),$REX["CUR_CLANG"]);


ich denke dann sollte das shcon gut aussehen..

lg
jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Benutzeravatar
Jan.Kristinus
Admin
 
Beiträge: 1923
Registriert: 24. Aug 2004, 21:11
Wohnort: Frankfurt

nöö

Beitragvon nitzer » 7. Jan 2008, 21:32

leider nicht, so hatte ich das auch schon getestet, tut's aber leider nicht.
es wird immer die sprache 0 (in dem fall deutsch) ausgeworfen.
nitzer
 
Beiträge: 180
Registriert: 16. Okt 2006, 21:53
Wohnort: Erkrath

Beitragvon Thomas.Blum » 8. Jan 2008, 07:53

Hej,

schreibe einmal anstatt:

Code: Alles auswählen
$art = new article();
$art->setArticleId($articleId);
$articleContent = $art->getArticle();


das:
Code: Alles auswählen
$art = new article();
$art->setArticleId($articleId);
$art->setClang($REX['CUR_CLANG']);
$articleContent = $art->getArticle();


vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4643
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Danke

Beitragvon nitzer » 8. Jan 2008, 11:54

Das hatte ich dann auch noch rausgefunden - Danke :-)

Klappt jetzt so wie's soll!
nitzer
 
Beiträge: 180
Registriert: 16. Okt 2006, 21:53
Wohnort: Erkrath


Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

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