Seite 1 von 1

Artikelliste mit Artikeltitel ausgeben?

Verfasst: Do 28. Jul 2005, 14:22
von burzum
Ich hab versucht das Standardmodul zu so ändern das mir der Artikeltitel ansgegeben wird in der Liste, es geht nur leider nicht - WIESO!?!?

Den von mir hinzugefügten Code habe ich durch ### hervorgehoben.

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* REFERENZ MODUL / ARTIKELLISTE 
* 
* Artikelliste mit Img 1, Head 1, Head 2 
* 
* Erstellt eine Liste mit allen Artikel bis 
* auf den Startartikel. 
* 
* Author      :     Jan Lengowski 
* Copyright   :     four for business AG 
************************************************/ 

// second db class instance 
$db2 = new DB_Contenido; 

// selected category 
$selcat = "CMS_VALUE[0]"; 

 if($selcat!="0" && $selcat!=""){ 

// select all articles in category widthout start article 
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ". 
          $cfg["tab"]["art_lang"]." AS ARTLANG ". 
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ". 
         "ARTLANG.online = '1' ORDER BY CATART.idart DESC"; 

// execute query 
$db->query($query); 

unset($articleID); 
unset($linkID); 

// get id's of sub articles 
while ($db->next_record()) { 
  if (!isStartArticle($db->f("idartlang"), $selcat, $lang)) 
  { 
      $articleID[] = $db->f("idartlang"); 
      $linkID[] = $db->f("idart"); 
  } 
} // end while 

// loop through subarticles 

echo ' 
<table width="165" border="0" cellspacing="0" cellpadding="0"> 
<tr><td height="30" colspan="2" ></td></tr> 
<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>

<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>

'; 

if (is_array($articleID)) { 

    foreach ($articleID as $key => $value) { 

          // select all CMS variables of the article 
          $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";

          $db->query($sql); 
          $db->next_record(); 
          $head = $db->f("value"); 

          if ( strlen($head) > "CMS_VALUE[3]") { 
            $head = substr($head, 0, "CMS_VALUE[3]"); 
            $head .= '..'; 
          } 
            ################################################################################
            $sql2 = "SELECT * FROM ".$cfg["tab"]["con_art_lang"]." WHERE idart = '$value'";
            $db2->query($sql2);    
            $art_title = $db2->f("title"); 
            ################################################################################
          // link 
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

          echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$art_title.'</a></td></tr>';

    } // end while 

          unset($headline); 
        unset($text); 
        
    } // end foreach 
    
} // end if (is_array) 

echo '</table><br>'; 
?> 

Verfasst: Do 28. Jul 2005, 14:40
von emergence
ähm ganz einfach

Code: Alles auswählen

$db2->query($sql2);    
$art_title = $db2->f("title"); 
ist zu wenig, da wird zwar das query ausgeführt aber kein datensatz angefordert...

hingegen

Code: Alles auswählen

$db2->query($sql2);    
$db2->next_record();
$art_title = $db2->f("title"); 
wird funktionieren...

Verfasst: Do 28. Jul 2005, 14:44
von burzum
Arr, ok, danke.

Wie kann ich das jetzt noch mit der gewählten spracheinstellung verbinden?
Hab zwar noch kein mehrsprachiges Projekt gehabt aber für den fall das...

-------------------

Gibts irgendwo eine Doku zu dem erstellen von Modulen und der Arbeit mit den Contenido-Klassen?

Z.b. würd mich interessieren wo ich was finde (in welchen Tabellen) und wie sich etwas zusammenpuzzelt.

Verfasst: Do 28. Jul 2005, 14:49
von HerrB
Ist zwar schon zu spät, aber für den Fall der Fälle: Es gäbe da noch die Überarbeitung der Standardartikelliste, die noch andere Features bereitstellt (siehe Signatur). Im Thread ist auch eine erweiterte Version enthalten, die die Verwendung des Artikeltitels oder des Kommentars ermöglicht.

Nein, es gibt keine Doku zu den Modulen des Beispielmandanten. Zu den Klassen findest Du hier im Forum einen eigenen Bereich (API), allerdings enthält der z.Z. nur wenige Beschreibungen.

Eine Datenbankstrukturabbildung mit Erläuterung findest Du in der http://www.contenido-faq.de.

Und ein Tipp: Du solltest zu zusätzlichen Fragen ein eigenes Thema aufmachen oder aber zumindest diese nicht unter ------------- schreiben. Das könnte man für eine Signatur halten und einfach überlesen...

Gruß
HerrB

Verfasst: Do 28. Jul 2005, 15:17
von emergence
burzum hat geschrieben:Wie kann ich das jetzt noch mit der gewählten spracheinstellung verbinden?
-> http://www.contenido.org/forum/viewtopic.php?t=8919
macht ziemlich genau das selbe...

eine anpassung für deine zwecke stellt hoffentlich kein problem dar...