Seite 1 von 1

Artikeltitel für Navigation

Verfasst: Do 16. Okt 2008, 14:38
von stefkey
Hallo,

ich habe hier ein Modul und möchte es dahingehend modifizieren dass es nicht den HTML_HEAD sondern den Artikeltitel anzeigt.

Ich habe es schon mit folgender abfrage probiert aber leider komme ich mit meinen php-Kenntissen nicht weit.

$db = new DB_Contenido;
$artikeltitel = "SELECT title FROM con_art_lang WHERE idart=".$idart;
$db->query($artikeltitel);
$db->next_record();
echo $db->f("title");


Vielleicht kann mir jemand helfen. Hier der Output des Moduls:

Code: Alles auswählen

<?php
$selCat = "CMS_VALUE[0]"; // selected category
$maxChar = "CMS_VALUE[3]"; // Max. shown topic length

$first = mi18n("|<");
$last = mi18n(">|");
$next = mi18n(">");
$back = mi18n("<");

if (!is_numeric($maxChar) || $maxChar < 1) {
   $maxChar = "50";
}

// SQL für Pulldown-Menue und Variablen für Blaetterelement
if(is_numeric($selCat) && $selCat != "0") {
   // select all articles in category without start article
   $query  = "SELECT CONTENT.value AS headline, ARTLANG.idart AS id, " ;
   $query .= "CATLANG.startidartlang, ARTLANG.idartlang FROM ";
   $query .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
   $query .= $cfg["tab"]["content"]." AS CONTENT ";
   
   $query .= "WHERE CATART.idcat = '$selCat' AND ARTLANG.idlang = '$lang' ";          
   $query .= "AND CONTENT.idartlang = ARTLANG.idartlang ";
   $query .= "AND CATLANG.idlang = ARTLANG.idlang ";
   $query .= "AND CATLANG.idcat = CATART.idcat ";
   $query .= "AND ARTLANG.idart = CATART.idart ";
   $query .= "AND ARTLANG.online = '1' ";

   if ("CMS_VALUE[6]" != "enabled") {
      $query .= "AND CATLANG.startidartlang != ARTLANG.idartlang ";
   }

   // Content-Type-Number
   if (!is_numeric("CMS_VALUE[8]")) {
      $query .= "AND CONTENT.typeid = '1' ";
   } else {
      $query .= "AND CONTENT.typeid = 'CMS_VALUE[8]' ";
   }

   // Content-Type
   if (!is_numeric("CMS_VALUE[9]")) {
      $query .= "AND CONTENT.idtype = '1' ";
   } else {
      $query .= "AND CONTENT.idtype = 'CMS_VALUE[9]' ";
   }

   $query  .= "ORDER BY ";

   // Sort by
   if ("CMS_VALUE[4]" == "") {
      $query .= "CATART.idart ";
      $sortiert = "CATART.idart";
   } else {
      $query .= "CMS_VALUE[4] ";
      $sortiert = "CMS_VALUE[4]";
   }

   // ASC/DESC
   if ("CMS_VALUE[5]" == "") {
      $query .= "DESC ";
      $steigung = "DESC";
   } else {
      $query .= "CMS_VALUE[5] ";
      $steigung = "CMS_VALUE[5]";
   }

   // LIMIT
   if (is_numeric("CMS_VALUE[10]") && "CMS_VALUE[10]" > 0) {
      $query .= "LIMIT 0, CMS_VALUE[10]";
   }
}

// Blaetterelement
$sql = "SELECT
        ARTLANG.idart,
        ARTLANG.title,
        CATART.idcat,
        ARTLANG.created
    FROM 
        ".$cfg["tab"]["cat_art"]." AS CATART,
        ".$cfg["tab"]["art_lang"]." AS ARTLANG, 
        ".$cfg["tab"]["cat"]." AS CAT
    WHERE
        CAT.idcat='$idcat'
        AND ARTLANG.idart = CATART.idart
        AND CATART.idcat = CAT.idcat
        AND ARTLANG.idtplcfg = 0 
        AND ARTLANG.idlang = '$lang'
        AND ARTLANG.online = '1'
    ORDER BY
        ".$sortiert." ".$steigung;

$db->query($sql);
if ($db->num_rows() != 0) {
    $artikel = array(array());
    $j=0;
    $db->next_record();
    $idart_last=$db->f("idart");
    for ($i=0; $i<$db->num_rows(); $i++) {
        $artikel[$j][0] = $db->f("idart");
        $artikel[$j][1] = $db->f("idcat");
        $artikel[$j][2] = $db->f("title");
        
        $type = $db->f("idtype");
        $typeid = $db->f("typeid");
        
        while ( $idart_last==$db->f("idart") ) {
            $idart_last=$db->f("idart");
            $db->next_record();
            $i++;
        }
        
        $idart_last=$db->f("idart");
        $j++;
        $i--;
    }
    
    // Zurueckblaettern
    for ($i=0; $i < $j; $i++) {
        if ($idart==$artikel[$i][0] && $i!=0) {
            $x = $i-1;
            $zurueck_link = "front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
            $prev_link = '<a href="'.$sess->url("$zurueck_link").'" title="'.htmlentities($artikel[$x][2]).'">'.$back.'</a>';
        }
    }
    
    // Zahlen und Platzhalter
    for ($i=0; $i < $j; $i++) {
        $k = $i+1;
        if ($idart==$artikel[$i][0]) {
            $aktart = $k;
        }
    }
    
    // Weiterblaettern
    for ($i=0; $i < $j; $i++) {
        if ($idart==$artikel[$i][0] && $i != $j-1) {
            $y = $i+1;
            $weiter_link = "front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
            $next_link = '<a href="'.$sess->url("$weiter_link").'" title="'.htmlentities($artikel[$y][2]).'">'.$next.'</a>';
        }
    }
}


// Pulldown Menue generieren
$form = "";
if (isset($query)) {
   // execute query
   $db->query($query);
   
   if ($db->num_rows() > 0) {
      $z = 0;
      $y = 0;
      while ($db->next_record()) {
         $headline = strip_tags(urldecode($db->f("headline")));
         if (strlen($headline) > $maxChar) {
            $headline = substr($headline, 0, $maxChar);
            $headline .= '...';
         }
         $title = htmlentities($headline);
         
         $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id"));
         
         $y++;
         if ($y == $aktart) {
             $selected = ' selected="selected"';
         } else {
             $selected = '';
         }
         
         $form .= '<option value="'.$link.'"'.$selected.'>'.$headline.'</option>';
         
         if ($z == 0) {
             $first_link = '<a href="'.$link.'" title="'.$title.'">'.$first.'</a>';
         }
         $z++;
         if ($z == $db->nf()) {
             $last_link = '<a href="'.$link.'" title="'.$title.'">'.$last.'</a>';
         }
      }
      unset($headline);
   } // end while
} // end if


//  HTML ausgeben
echo '<script language="JavaScript">
    function Go() {
        location.href = document.jump.N.value;
    }
    </script>
    <div class="artikelnav"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="artikelnav"><tr>';

echo '<td class="first">'.$first_link.'</td>';

if ($prev_link == "") { $prev_link = "&nbsp;"; }
echo '<td class="prev">'.$prev_link.'</td>';

echo '<td class="form"><form name="jump"><select size="1" onchange="Go()" name="N" class="button">';
/*if ($selected == "") { // Es fehlt noch der Link zur Uebersichtsseite
    echo '<option value="" selected="selected">'.mi18n("Artikel ausw&auml;hen").'</option>';
} else {
    echo '<option value="">'.mi18n("Artikel ausw&auml;hen").'</option>';
}*/
echo $form;
echo '</select></form></td>';

if ($next_link == "") { $next_link = "&nbsp;"; }
echo '<td class="next">'.$next_link.'</td>';

echo '<td class="last">'.$last_link.'</td>';

echo '</tr></table></div>';
?>
[/code]

Verfasst: Do 13. Nov 2008, 09:38
von emergence
ich versteh das posting nicht wirklich...

dein kurzes code fragment müsste eigentlich funktionieren...

man könnte auch so den titel eines artikels bekommen :
-> http://forum.contenido.org/viewtopic.php?p=90487#90487