w3concepts.alist.mod4.v1 title auslesen

Gesperrt
motion7
Beiträge: 9
Registriert: Mi 30. Mai 2007, 16:08
Kontaktdaten:

w3concepts.alist.mod4.v1 title auslesen

Beitrag von motion7 »

hallo, hab die Artikelliste von w3.

Er ließt bei mir 2 unterschiedliche Daten aus.
Einmal die Headline des Artikels, und den Seitentitel, welchen man unter Eigenschaften/Seitentitel einstellt.

Würde das ganze gerne so modifizieren das er anstatt der Headline, den Titel der Seite ausließt. Er soll einfach den "Titel" und "Seitentitel" unter Artikeleigenschaften auslesen. Weiß einer von euch wie das funktioniert, oder hat zufällig sowas schonmal gemacht?

hier der output des w3 moduls:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     w3concepts.alist.mod4.v1
* Author      :     Andreas Kummer
* Copyright   :     mumprecht & kummer w3concepts
* Created     :     06-21-2004
* Modified    :     06-21-2004
************************************************/

    // manuelle konfiguration des moduls
    $uploadpfad = "/cms/upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende)
    $thumbnailpfad = "/cms/upload/bilder/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende)

    // 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]";

    $bildbreite = "CMS_VALUE[7]";

    $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 f.name, e.pagetitle, 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
		LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON f.idcat = d.idcat
                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
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT f.name, e.pagetitle, 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
		LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON f.idcat = d.idcat
                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
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT f.name, e.pagetitle, 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
		LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON f.idcat = d.idcat
                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 cellpadding="0" cellspacing="0" style="width:100%"><tr style="height:1px;"><td></td><td style="width:200px;"></td><td style="width:50px;"></td></tr>';

    while ($db->next_record()) {
        
        $sql = "
            SELECT a.value, a.typeid, b.type, c.filename, c.dirname FROM {$cfg['tab']['content']} AS a
            LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype
            LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl
            WHERE
            a.idartlang = ".$db->f("idartlang")."
            AND (
                b.type = 'CMS_HTMLHEAD'
            )
            ORDER BY b.type, a.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 colspan=\"2\" class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\">".urldecode($db2->f("value"))."</a></td>";
        echo "<td class=\"artlist_date\" nowrap=\"nowrap\" align=\"right\">".urldecode($db->f("pagetitle"))."</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")));
        }

        $bild_vorhanden = false;
        while ($db2->next_record()) {
            if ($db2->f("type") == 'CMS_IMG' && $db2->f("typeid") == 1) {
                $bilddateiname = "{$thumbnailpfad}{$bildbreite}_".$db2->f("value").".jpg";
                if (!file_exists($cfg['path']['frontend'].$bilddateiname)) {

                    $src_image_size = getimagesize($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));

                    $bildhoehe = round($src_image_size[1] * $bildbreite / $src_image_size[0]);
                    if ($bildhoehe > $bildbreite) {
                        $bildhoehe = $bildbreite;
                        $bildbreite = round($src_image_size[0] * $bildhoehe / $src_image_size[1]);
                    }

                    $dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);

                    if ($src_image_size[2] == 1) {
                        $src_im = imagecreatefromGIF($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } elseif ($src_image_size[2] == 2) {
                        $src_im = @ImageCreateFromJPEG($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } else {
                        $src_im = imagecreatefromgd($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    }
                    
                    imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
                    imagejpeg ($dst_im,$cfg['path']['frontend'].$bilddateiname,100);
                }
                $bild_vorhanden = true;
            }
        }

        if ($bild_vorhanden) {
            $width = "CMS_VALUE[7]";
            $width += 5;
            $src_image_size = getimagesize($cfg['path']['frontend'].$bilddateiname);
           
        } else {
           
        }

    }

    echo '</table>';

    if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
        echo '<table cellpadding="5" cellspacing="0" style="width:100%"><tr>';
        if ($limit > 0) {
            $displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
            echo "<td style=\"text-align:left\">&nbsp;&nbsp;<img src=\"images/pfeil_links.gif\" border=\"0\"/>&nbsp;&nbsp;<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>&nbsp;&nbsp;<img src=\"images/pfeil_rechts.gif\" border=\"0\"/></td>";
        } else {
            echo '<td>&nbsp;</td>';
        }
        echo '</tr></table></p>';
    }
?>
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

gemacht nein...

ich würde, dort wo

Code: Alles auswählen

e.pagetitle
zu finden ist, den code auf

Code: Alles auswählen

e.pagetitle, e.title
ändern...

dann kannst du dort, wo

Code: Alles auswählen

$db->f("pagetitle")
verwendet wird, auch auf

Code: Alles auswählen

$db->f("title")
zugreifen....

sieh dir doch mal das hier an
-> http://www.contenido.org/forum/viewtopic.php?t=10957
da gibts glaube ich schon so ziemlich jeden möglichen feature wunsch umgesetzt...
*** make your own tools (wishlist :: thx)
Gesperrt