neues artikellistenmodul :: mit anzeige der unterkategorien

dthuesen
Beiträge: 3
Registriert: Di 5. Apr 2005, 11:16
Kontaktdaten:

Leerzeile zwischen den Artikeln (w3concepts.alist.v1)

Beitrag von dthuesen » Di 5. Apr 2005, 11:24

w3concepts.alist.v1

Wie bekomme ich es eingestellt, dass zwischen den Artikelauflistungen eine Leerzeile eingefügt wird? Aktuell wird die Headline des folgenden Artikels direkt unter der Subheadline des vorangegangenen Artikels weitergeführt. Dadurch gibt es keine vernünftige Trennung zwischen den Artikeln. Kann mir jemand weiterhelfen?

Vielen Dank im Voraus.

bachi
Beiträge: 161
Registriert: Di 20. Apr 2004, 12:22
Wohnort: Würzburg
Kontaktdaten:

Beitrag von bachi » Di 5. Apr 2005, 12:01

Hallo dthuesen .

Such dir mal diese Zeile:

Code: Alles auswählen

   $newsubheadline = strip_tags(urldecode($db2->f("value"))); 
und passe dir die nachfolgende in etwa so an:

Code: Alles auswählen

echo "<tr><td class=\"artlist_subheadline\"colspan=\"2\"><br>$newsubheadline<br>&nbsp;<hr><br>&nbsp;</td></tr>";
Ich hab dazwischen noch eine Linie gemacht gehabt.
Wenn es dir zuviele <br>´s sind, schmeiß einfach welche raus. Ich hoffe das hilft dir.
Grüße Bachi
C 4.5.2 - 4.6
www.myworkstyle.de
www.hsgweb.de
--
::: It´s not a bug - it´s a feature!!! :::

dthuesen
Beiträge: 3
Registriert: Di 5. Apr 2005, 11:16
Kontaktdaten:

wahnsinnig schnelle antwort

Beitrag von dthuesen » Di 5. Apr 2005, 12:12

hallo bachi,

bin begeistert wie schnell deine antwort kam. hab es ausprobiert und keinen unterschied feststellen können. es wird weder die <hr> noch irgendein <br> berücksichtigt. tut sich etwas bei dir?

dthuesen
Beiträge: 3
Registriert: Di 5. Apr 2005, 11:16
Kontaktdaten:

Re: wahnsinnig schnelle antwort

Beitrag von dthuesen » Di 5. Apr 2005, 12:17

dthuesen hat geschrieben:hallo bachi,

bin begeistert wie schnell deine antwort kam. hab es ausprobiert und keinen unterschied feststellen können. es wird weder die <hr> noch irgendein <br> berücksichtigt. tut sich etwas bei dir?

WER LESEN KANN, IST KLAR IM VORTEIL!

hab die falsche Zeile ersetzt. jetzt klappt's. VIELEN DANK!!!!

bachi
Beiträge: 161
Registriert: Di 20. Apr 2004, 12:22
Wohnort: Würzburg
Kontaktdaten:

Beitrag von bachi » Di 5. Apr 2005, 12:20

Juhu ich konnte auch mal helfen. Sonst bin ich der der nicht lesen kann und rum sucht! :lol:
C 4.5.2 - 4.6
www.myworkstyle.de
www.hsgweb.de
--
::: It´s not a bug - it´s a feature!!! :::

qwert0
Beiträge: 19
Registriert: Mo 7. Feb 2005, 15:03
Kontaktdaten:

Beitrag von qwert0 » Sa 16. Apr 2005, 13:05

Hallo Andreas,
Ursprünglich wurde die Artikelliste so wie sie bei mir implemenitert ist nach dem letzten Veränderungsdatum sortiert:
ORDER BY e.lastmodified DESC

Da wir relative oft die Zeitsteuerung verwenden und Artikel z.B. schon einen Monat im Voraus erstellen hatte diese Sortierung den Nachteil, dass die Artikel mit Zeitsteuerung nie Vorne zu sehen waren.
Um dieses Problem zu vermeiden habe ich den Sortierschlüssel verändert auf 1. das Beginndatum der Zeitsteuerung und 2. auf das Veränderungsdatum:
ORDER BY e.datestart, e.lastmodified DESC

Dies hat nur den Nachteil, dass Artikel ohne Zeitsteuerung nach ihrer Erstellung/Veränderung nicht oben einsortiert werden.
Gibt es eine Möglichkeit die SQL Abfrage so zu verändern, dass das Veränderungsdatum mit dem Beginndatum kombiniert wird? Also es soll immer das größere Datum von den beiden als Sortierschlüssel herangezogen werden.

Grüße
Baghat

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

Beitrag von kummer » Sa 16. Apr 2005, 13:57

also, du musst folgendes machen:

(1) füge nach dem select folgendes statement ein:

Code: Alles auswählen

IF(e.datestart > e.lastmodified, e.datestart, e.lastmodified) as sortdate
(2) dann sortierst du ausschliesslich noch nach sortdate:

Code: Alles auswählen

ORDER BY sortdate
so sollte es gehen.

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

qwert0
Beiträge: 19
Registriert: Mo 7. Feb 2005, 15:03
Kontaktdaten:

Beitrag von qwert0 » Sa 16. Apr 2005, 15:37

Hallo Andreas,
vielen Dank für die Hilfe bei dem Sortierungsproblem.

Damit die neuesten Artikel oben stehen muss nur absteigend Sortiert werden:

ORDER BY sortdate DESC

Gruß
Baghat

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

Beitrag von kummer » Sa 16. Apr 2005, 15:40

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

Chephren
Beiträge: 1
Registriert: Di 12. Apr 2005, 09:46
Kontaktdaten:

Beitrag von Chephren » So 24. Apr 2005, 16:40

Hallo!

Bin gerade dabei mich in Contenido einzuarbeiten und muss sagen, dass die Moduke von Kummer wirklich sehr toll sind... Derzeit stehe ich vor einem Problem, dass ich alist.mod2 verwende, um eigentlich in mehreren Kategorien jeweils die darin befindlichen Artikel aufzulisten. Dies funktioniert bei zwei Kategorien auch hervorragend, bei der 3. und 4. allerdings nicht. Dort wird immer der Startartikel mit angezeigt, obwohl ich kein Häkchen bei den Einstellungen für den Startartikel gemacht habe.

Alle vier Kategorien sind eigentlich identisch Konfiguriert und aufgebaut, so dass ich mir den Fehler nicht erklären kann. Kann man das Modul eventuell nicht öfter als 2 Mal einsetzen?

Für Tipps wäre ich sehr dankbar.

Danke und Gruß
Chephren

P.S. Unter http://www.maxschroeder.com/cms/ kann man sich die Seite mal anschauen. Unter "Galerie" werden die Kategorien "Natur" und "Menschen" korrekt angezeigt, bei "Architektur" sollte es eigentlich nur einer sein, bei "Gegenstände" keiner, da nur der Startartikel da ist. Die Links sind noch etwas blass und schwer zu erkennen.

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

URLs nicht valide

Beitrag von #ayshe » Fr 24. Jun 2005, 10:08

Hallo,

ich benutze Kummers Artikelliste schon ne Weile und finde sie sehr gut.
Ich habe jetzt aber ein Problem damit.
Die vom Modul ausgegebenen URLs sind nicht HTML- und auch nicht XHTML-valide. Das kommt daher:
URL sieht z.b. so aus:

Code: Alles auswählen

<a href="front_content.php?client=6&lang=6&idcat=200&idart=334" class="aktiv">Zum Kurs</a>
Das ist lt. HTML-Validator des W3.org nicht valide (http://validator.w3.org/check?uri=http% ... kademie.de,
denn
Ampersands (&'s) in URLs

Another common error occurs when including a URL which contains an ampersand ("&"):

<!-- This is invalid! --> <a href="foo.cgi?chapter=1&section=2">...</a>

This example generates an error for "unknown entity section" because the "&" is assumed to begin an entity. In many cases, browsers will recover safely from the error, but the example used here will cause the link to fail in Netscape 3.x (but not other versions of Netscape) since it will assume that the author intended to write &sect;ion, which is equivalent to §ion.

To avoid problems with both validators and browsers, always use & in place of & when writing URLs in HTML:

<a href="foo.cgi?chapter=1&section=2">...</a>

Note that replacing & with & is only done when writing the URL in HTML, where "&" is a special character (along with "<" and ">"). When writing the same URL in a plain text email message or in the location bar of your browser, you would use "&" and not "&". With HTML, the browser translates "&" to "&" so the Web server would only see "&" and not "&" in the query string of the request.

(Quelle: http://www.htmlhelp.com/tools/validator ... s.html#amp

Meine Frage: Wie kann ich das Modul so umbauen, dass die URLs valide ausgegeben werden?

Die Ausgabeschleife im Modul sieht momentan so aus (hab die Funktionen vorher weggelassen, damit es hier nicht so ein langes Listing wird):

Code: Alles auswählen

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"));

        if ($idart == $db->f("idart")) {
        echo "<p><a href=\"$link\" class=\"aktiv\">".urldecode($db2->f("value"))."</a></p>";
        } 
        else {
        echo "<p><a href=\"$link\">".urldecode($db2->f("value"))."</a></p>";
        }

        $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")));
        }



    }

 //weitere und vorherige Einträge falls Anzahl der gelisteten Artikel begrenzt ist

    if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
        
        if ($limit > 0) {
            $displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
            echo "<p><a style=\"padding-bottom:10px;\" href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['previous']}</a></p>";
        } else {
            echo '';
        }
        if ($anzahl_artikel > $limit + $angezeigte_anzahl) {
            $displaylimit = $limit + $angezeigte_anzahl;
            echo "<p><a style=\"padding-bottom:10px;\" href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['next']}</a></p>";
        } else {
            echo '';
        }
    
Viele Grüße,
Ayshe

Gesperrt