News Anzeige - aktuellsten 3 - nur Headline

Gesperrt
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

News Anzeige - aktuellsten 3 - nur Headline

Beitrag von Tim24 » Mo 11. Okt 2004, 14:22

Hallo,

ich suche eine Moeglichkeit auf meiner Startseite nur die 3 aktuellsten News auszugeben ! Es sollte immer nur die Headline angezeigt werden! Vor die News wollte ich gerne ein GIF anzeigen lassen. Diese wuerde fuer alle gleich sein ! Ich denke das sollte machbar sein aber ich habe keine Ahnung wie und habe auch leider nichts im FOrum gefunden !!

Thanx

best regards

Tim

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Mo 11. Okt 2004, 14:32

am besten du verwendest eine artikelliste und passt diese entsprechend an. dürfte nicht allzuschwierig sein. im übrigen bieten diese meistens bereits die einschränkung auf eine bestimmte anzahl anzeigen je seite an. und blättern zu können auf ggf. vorhandene ältere news dürfte ja kein schaden sein, oder?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 » Di 12. Okt 2004, 09:54

Super !

Ich habe nun deine Artikelliste eingesetzt ! (w3concepts.alist.v1) :D

Funktioniert auch soweit ich bekomme nur leider eine Sache nicht hin !

Ich moechte gerne vor jede Headline ein kleines Gif einsetzen aber das klappt nicht ! Nachdem das Script nach meinen Versuchen Zeitweise nicht mehr Funktionstuechtig war habe ich es soweit wieder geschafft das es laueft aber leider das Gif nicht angezeigt !

Orginal Code

Code: Alles auswählen

     $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));

        echo "<tr><td class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\">".urldecode($db2->f("value"))."</a></td>";
        echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>";

und das ist meiner

Code: Alles auswählen

    $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));

        echo "<tr> <td img src=\"http://www.zdalny.histo.pl/contenido-4.4.4/cms/upload/website/quadrat.gif\" class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\">".urldecode($db2->f("value"))."</a></td>";
//        echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>";
Habe keine Ahnung wie genau der Code aussehen muss !! Sorry fuer mein Unvermoegen !!

Noch eine kleine Frage ! Wie mache ich das, das die News direkt unter der darueber stehenden Ueberschrift angezeigt werden ! Ich habe immer eine Zeile dazwischen aber ich finde nicht den Code der dies veranlasst !!

Best Regards

Thanx

Tim

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Di 12. Okt 2004, 10:47

nun, zuerst einmal die gifs. die darft du natürlich nicht direkt in das zell-tag reinpappen. das muss so aussehen:

Code: Alles auswählen

echo "<tr><td class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\"><img src=\"http://www.zdalny.histo.pl/contenido-4.4.4/cms/upload/website/quadrat.gif\"/>".urldecode($db2->f("value"))."</a></td>"; 
echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>"; 
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 » Di 12. Okt 2004, 11:13

Super vielen Dank !!!!

Jetzt fehlt mir nur noch diese kleine Sache mit der Zeile die zwischen der Ueberschrift und dem Container frei bleibt !!!

Das ist mein Aufruf vom COntainer !

Code: Alles auswählen

<td width="310" align="left" valign="top" bgcolor="#FFFFFF"><strong>News</strong>CMS_CONTAINER[5]</td>
http://www.zdalny.histo.pl/contenido-4. ... ontent.php am unteren Bildrand - news -

Ist da irgendwo in deinem Script ein Enter(<p>) versteckt !!!

Habe das Script nur soweit veraendert, das die Headline angezeigt wird !
Subheadline = 0 letter !


Eine Idee - was da schief geht ???

Thanx

Tim

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Di 12. Okt 2004, 11:31

kannst du mal den modul-output-code hier publizieren? und zwar so, wie du ihn jetzt verwendest. dann werfe ich mal einen blick darauf.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 » Di 12. Okt 2004, 11:56

Im Endeffekt dein Standard Modul:


Nur die Aenderungen bei denen du mir geholfen hast und ausklammern des Datums !!

Sowie die Output Tabelle auf align="top" gesetzt (hat aber leider nichts geholfen) !

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     w3concepts_alist_v1
* Author      :     Andreas Kummer
* Copyright   :     mumprecht & kummer w3concepts
* Created     :     06-05-2004
* Modified    :     06-05-2004
************************************************/

    // konfiguration

    $categorie = "CMS_VALUE[0]";

    $angezeigte_anzahl = "CMS_VALUE[1]";
    if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10;

    $startartikel = "CMS_VALUE[2]";
    if ($startartikel == '') $startartikel = false;

    $subheadline = "CMS_VALUE[3]";
    if ($subheadline == '') $subheadline = 200;

    $navigationslink['previous'] = "CMS_VALUE[4]";
    if ($navigationslink['previous'] == '') $navigationslink['previous'] = '[:: rückwärts ]';

    $navigationslink['next'] = "CMS_VALUE[5]";
    if ($navigationslink['next'] == '') $navigationslink['next'] = '[ vorwärts ::]';

    $ebene = "CMS_VALUE[6]";

    $limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0);

    $db = new DB_Contenido;
    $db2 = new DB_Contenido;

    // wenn startartikel true ist, werden die startartikel dargestellt, sonst nicht
    $nurstartartikel = ($startartikel)?(''):('AND d.is_start = 0');

    // liest die anzahl betroffener artikel aus der datenbank
    switch ($ebene) {
        case -2:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                ";
            break;
        case -1:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                    ";
            break;
        case 0:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                    ";
            break;
    }

    $db->query($sql_1);
    $db->next_record();
    $anzahl_artikel = $db->f("anzahl");

    $db->query($sql_2);

    echo '<p><table  style="width:100%" align="top">';

    while ($db->next_record()) {
        
        $sql = "
            SELECT value FROM {$cfg['tab']['content']}
            WHERE
            idartlang = ".$db->f("idartlang")."
            AND idtype = 1
            ORDER BY typeid ASC
            ";

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

        $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));

echo "<tr><td class=\"home\"><a href=\"$link\" class=\"home\"><img src=\"http://www.zdalny.histo.pl/contenido-4.4.4/cms/upload/website/quadrat.gif\" border=\"0\"/>".urldecode($db2->f("value"))."</a></td>"; 
  //  echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>"; 

        $db2->next_record();

        // die subheadline auf die gewünschte länge reduzieren (trennung nur
        // nach bzw. vor einem ganzen wort
        if (strlen($db2->f("value")) > $subheadline) {
            $newsubheadline = '';
            $worte = explode (" ",strip_tags(urldecode($db2->f("value"))));
            $zulang = false;
            foreach ($worte as $wort) {
                if (strlen($newsubheadline." ".$wort) >= $subheadline) $zulang = true;
                $newsubheadline = (!$zulang)?($newsubheadline." ".$wort):($newsubheadline);
            }
            $newsubheadline .= "";
        } else {
            $newsubheadline = strip_tags(urldecode($db2->f("value")));
        }

        echo "<tr><td class=\"artlist_subheadline\" colspan=\"2\">$newsubheadline</td></tr>";

    }

    echo '</table>';

    if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
        echo '<table cellpadding="0" cellspacing="0" style="width:100%"><tr>';
        if ($limit > 0) {
            $displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
            echo "<td style=\"text-align:left\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['previous']}</a></td>";
        } else {
            echo '<td>&nbsp;</td>';
        }
        if ($anzahl_artikel > $limit + $angezeigte_anzahl) {
            $displaylimit = $limit + $angezeigte_anzahl;
            echo "<td style=\"text-align:right\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['next']}</a></td>";
        } else {
            echo '<td>&nbsp;</td>';
        }
        echo '</tr></table></p>';
    }
?>

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Di 12. Okt 2004, 12:47

hallo tim24

nun, die ganze tabelle ist in ein p-tag eingeschlossen. ich würde das mal rausnehmen.

also statt:

Code: Alles auswählen

echo '<p><table  style="width:100%" align="top">';
folgendes einfügen...

Code: Alles auswählen

echo '<table  style="width:100%" align="top">';
und am ende statt:

Code: Alles auswählen

echo '</tr></table></p>';
folgendes einfügen...

Code: Alles auswählen

echo '</tr></table>';
hope this helps!

gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 » Di 12. Okt 2004, 16:38

Super !

Genau das war's !!

Vielen Dank

Tim

Gesperrt