Seite 1 von 1

Modul Artikelliste kann nur Buchstaben

Verfasst: Fr 21. Nov 2003, 11:54
von wulf
Das Modul Artikelliste kann bei mir keine Leerzeichen Ausrufezeichen anzeigen. In der Box mit den links wird beispielsweise dies

Neue+Homepage+++++Toll%21

und nicht dies

Neue Homepage Toll!

angezeigt.

Woran kann das liegen?

Verfasst: Fr 21. Nov 2003, 12:00
von timo
Suche mal nach "urldecode" im Forum.

Verfasst: Fr 21. Nov 2003, 18:20
von TomIRL
Gleiches Problem und trotz urldecode nicht gelöst:
sieht jemand den Fehler?

Code: Alles auswählen

<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Erweiterte Artikel liste
*
* Liste von Artikeln mit mehreren Daten basierend 
* auf 4fb referenz modul
*
* Author      :     Evert Smit
* Created     :     13-07-2003
* Note        :     Dieses Modul wurde zum grossen Teil von 4fB geschrieben.
************************************************/

// 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()) {
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
} // end while

// loop through subarticles

echo '
<table width="70%" border="0" cellspacing="0" cellpadding="0">
<tr><td class=titel>CMS_VALUE[2]</td></tr><TR><TD><UL>
';

if (is_array($articleID)) {

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

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

          $db->query($sql);
          $db->next_record();

          $head = $db->f("value");
          $summary= $db->f("summary");

          if ( strlen($head) > CMS_VALUE[3]) {
            
$head = strip_tags(urldecode(substr($head, 0, "CMS_VALUE[3]")));
            $head .= '..';
          }

          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");
          //echo '<tr><td><A HREF="'.$link.'">'.strip_tags(urldecode($db->f("value"))).'</a></td></tr>';
          echo '<LI><A HREF="'.$link.'">'.$head.'</a><BR>'.$summary;

    } // end while
echo '</TD></TR>';


          unset($head);
        unset($summary);
        
    } // end foreach
    
} // end if (is_array)

echo '</table><br>';


?>

Verfasst: Fr 21. Nov 2003, 20:04
von timo
hmm nur ne vermutung:

ein htmldecode vor dem urldecode eventuell?

Verfasst: Fr 21. Nov 2003, 20:36
von TomIRL
Nö hab den Fehler gefunden.
Das urldecode war nicht korrekt angeben:
Hier der Code für alle verzweifelten Bastler:
Achtung es ist die erweiterte Artikelliste entsprechend modifiziert:

Code: Alles auswählen

<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Erweiterte Artikel liste
*
* Liste von Artikeln mit mehreren Daten basierend 
* auf 4fb referenz modul
*
* Author      :     Evert Smit
* Created     :     13-07-2003
* Note        :     Dieses Modul wurde zum grossen Teil von 4fB geschrieben.
************************************************/

// 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()) {
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
} // end while

// loop through subarticles

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td class=titel>CMS_VALUE[2]</td></tr><TR><TD>
';

if (is_array($articleID)) {

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

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

          $db->query($sql);
          $db->next_record();

          $head = strip_tags(urldecode($db->f("value"))); 
          $summary= $db->f("summary");

          if ( strlen($head) > CMS_VALUE[3]) {
            
            $head = strip_tags(urldecode(substr($head, 0, "CMS_VALUE[3]")));
            $head .= '..';
          }

          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");
          //echo '<tr><td><A HREF="'.$link.'">'.$db->f("value").'</a></td></tr>';
          echo '<A HREF="'.$link.'">'.$head.'</a><BR>'.$summary;
         echo '<hr>';



    } // end while
echo '</TD></TR>';


          unset($head);
        unset($summary);
        
    } // end foreach
    
} // end if (is_array)

echo '</table><br>';


?>