Verschiedene Styles für Headline und Artikelliste

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Do 26. Mai 2005, 11:44

ich krich nen fön.

das gibt es doch gar nicht... lacht.

der macht das immer noch...
hier der code:

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
* Created     :     15-08-2002
* Modified    :     16-08-2002
************************************************/

// 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 border="0" cellspacing="0" cellpadding="0" width="100%">
<tr><td style="padding-left:10px">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 = strip_tags ($head);
            /*$head = str_replace ('<STRONG>' , '', $head);
            $head = str_replace ('</STRONG>' , '', $head);
            $head = str_replace ('<strong>' , '', $head);
            $head = str_replace ('</strong>' , '', $head);
            $head = str_replace ('<B>' , '', $head);
            $head = str_replace ('</B>' , '', $head);
            $head = str_replace ('<b>' , '', $head);
            $head = str_replace ('</b>' , '', $head);       
            $head = str_replace ('<H2>' , '', $head);
            $head = str_replace ('</H2>' , '', $head);
            $head = str_replace ('<h2>' , '', $head);
            $head = str_replace ('</h2>' , '', $head);  
            $head = str_replace ('<H1>' , '', $head);
            $head = str_replace ('</H1>' , '', $head);
            $head = str_replace ('<h1>' , '', $head);
            $head = str_replace ('</h1>' , '', $head); */ 
           $head .= '..';
            }
          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

          echo '<tr><td height="22" style="padding:0; margin: 0;padding-left:10px;height: 22px;"><a href="'.$link.'" style="color: black;">'.urldecode($db->f("value")).'</a></td></tr>'; 

    } // end while

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

echo '</table><br>';


?>

lacht. warum muß den sowas immer mir passieren...? :o

lg
nicole
die jetzt erst einmal weg ist.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 26. Mai 2005, 13:16

Ah, die Stelle ist falsch. So wird die Funktion nur aktiv, wenn die Überschrift länger als Dein Limit ist.

Setze

Code: Alles auswählen

$head = strip_tags ($head);
hinter

Code: Alles auswählen

$head = $db->f("value");
Ansonsten kannst Du darunter ein

Code: Alles auswählen

echo "Test: -" . $head."-",chr(10);
setzen, um zu sehen, was nach strip_tags noch übrig ist.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Do 26. Mai 2005, 16:01

danke!
ich habe es umgesetzt und das ist dabei rausgekommen

Test: -%3CH2%3EFeuilleton%3A+Wie+lange+ist+Geschichte+schmerzhaft%3F%3C%2FH2%3E- Feuilleton: Wie lange ist Geschichte schmerzhaft?
Test: -%3CH2%3EArchiv%3C%2FH2%3E- Archiv
Test: -%3Ch2%3EFeuilleton+Startartikel%3C%2Fh2%3E+- Feuilleton Startartikel
Test: -%3CH2%3EFeuilleton%3C%2FH2%3E-

das ist wirklich interessant, denn wenn ich im html editor schaue ist bei der headline nur ein sauberes h2

lg
nicole

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 26. Mai 2005, 16:32

Ersetze

Code: Alles auswählen

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

Code: Alles auswählen

$head = urldecode($db->f("value"));
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Do 26. Mai 2005, 16:51

dank dir nochmals.

ach, ich finde es grausig. verstehe ja syntax etc. von php aber mir fehlen noch eine menge funktionen. sollte wohl doch mal das dicke buch unter mein kissen legen ;-)

aber sag mal, die links der artikel sind immer noch überschriften, also aus irgendeinem grund entfernt er wohl die formatierung nicht :(
ich hatte die nase endgültig voll und habe im ausgabebereich des moduls die h2 - css formatierung überschrieben.
und siehe da, endlich, es paßt, das design...
interessant oder?
wo wir doch alle tags entfernt haben...

hm, nix mehr versteh.
der startartikel sollte doch ausgelassen werden oder?
der steht da nämlich auch mit drin.
durch das überschreiben der h2 css formatierungen im modul mußte ich auf der artikellistenseite im editor die styleangaben direkt in den h2-tag schreiben, die hat er dann auch prombt in die liste übernommen, die formatierungen.
sprich, die überschrift der artikelliste ist richtig formatiert, die links der anderen artikel auch und der fehlerhaft angezeigte link des startartikels, also der liste hat die formatierung der überschrift... :?

lg
nicole

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Do 26. Mai 2005, 17:44

hm,

HerrB

sag mal, ich habe, da ich die nase voll hatte, jetzt doch wieder deine Liste genommen.
Witzigerweise wird für den ersten Artikel die richtige Formatierung vorgenommen, für den zweiten und zur zeit letzten ist die Formatierung aber falsch (Zeilenhöhe stimmt nicht)

weißt du auf die schnelle woran das liegt?
ich werde mal schnell noch einen artikel generieren um zu schauen ob nur der erste richtig oder nur der letzte falsch angezeigt wird.

so, probiert, es ist wirklich nur der letzte artikel, bei dem die zellen/zeilenhöhe falsch eingestellt ist.

hier der code, da leicht modifiziert

gruß
nicole

Code: Alles auswählen

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

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

if(is_numeric($selCat) && $selCat != "0") {
   // select all articles in category without start article
   $query =  "SELECT CONTENT.value AS headline, ARTLANG.idart AS id FROM ";
   $query .= $cfg["tab"]["cat_art"]." AS CATART, ";
   $query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
   $query .= $cfg["tab"]["content"]." AS CONTENT ";
   $query .= "WHERE CATART.idcat = '$selCat' ";
   if ("CMS_VALUE[6]" != "enabled") {
      $query .= "AND CATART.is_start = '0' ";
   }
   $query .= "AND CONTENT.idartlang = 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 .= "AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' ";
   $query .= "AND ARTLANG.online = '1' ORDER BY ";
   if ("CMS_VALUE[6]" == "enabled" && "CMS_VALUE[7]" == "enabled") { // Startartikel an erster Stelle
      $query .= "CATART.is_start DESC, ";
   }

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

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

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

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

   if ($db->num_rows() > 0) {
      // Table header
      echo '
<style type="text/css">
<!--
h2{
	padding: 0 ;margin:0;
	color: #4A4135;
	font: normal normal bold 1.0em Arial, Helvetica, sans-serif;}
-->
</style>
<table width="500" border="1" cellspacing="0" cellpadding="0">';
      //echo '<td style="padding-left:10px;height:22px;">CMS_VALUE[2]</td></tr>';

      while ($db->next_record()) {
         $headline = urldecode($db->f("headline"));
         if (strlen($headline) > $maxChar) {
            $headline = substr($headline, 0, $maxChar);
            $headline .= '..';
         }

         $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id")."&m=$m&s=$s");
         
         echo '<tr><td style="padding-left:10px;height:22px;"><a href="'.$link.'">'.$headline.'</a></td></tr>';
      }
      unset($headline);
      echo '</table><br>';
   } // end while
} // end if
?>

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 26. Mai 2005, 18:25

Ich nehme an, dass das ein Browser-Problem ist. Ergänze mal hinter den echos ein ,chr(10);, e.g.

Code: Alles auswählen

echo '<tr><td style="padding-left:10px;height:22px;"><a href="'.$link.'">'.$headline.'</a></td></tr>',chr(10); 
      } 
      unset($headline); 
      echo '</table><br>',chr(10);
Außerdem könntest Du natürlich testweise das <br> am Ende entfernen.

Ansonsten poste doch mal den finalen HTML-Code der raus kommt.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Do 26. Mai 2005, 19:15

hallo HerrB,

interessant, ich habe ,chr(10) integriert und da mit dem heutigen onlinestellen des zweiten artikels erst die artikelliste eröffnet werden sollte, testweise mal online gestellt - um dir den html code posten zu können.

im editor wird es falsch angezeigt, aber online dann doch richtig.

jetzt bin ich extra wegen der probs mit dem neuen firefox für arbeiten mit contenido auf den ie ausgewichen und dann sowas.

also vielen dank!
und schönen feierabend.

gruß
nicole

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 26. Mai 2005, 22:55

Ja und dann fehlte natürlich hinter

Code: Alles auswählen

$headline = urldecode($db->f("headline")); 
noch ein

Code: Alles auswählen

$headline = strip_tags($headline);
Das urldecode sorgt nur dafür, dass aus dem %05 wieder normale Zeichen weder, das strip_tags für das entfernen des HTML - jetzt müsste es eigentlich sogar ohne die Style-Angabe gehen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt