Kann ich irgendwo definieren, dass bestimmte Kategorien nicht in der Blog-Hauptansicht aufgelistet werden?
Ich würde auf diese Weise u.a. gerne einen Wunschzettel realisieren, den man zwar als Kategorie aufrufen kann, will aber keinen damit auf der Hauptseite belästigen.
Ich könnte zwar die entsprechenden Kategorien in der entries.tpl einfach nicht anzeigen lassen, dann hätte ich aber weniger Artikel pro Seite als in der Konfiguration angegeben.
Kann man irgendwo die entsprechende MySQL-Abfrage ändern?
Kategorien aus Hauptseite ausschließen?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Kategorien aus Hauptseite ausschließen?
Hi!
Ja, Plugin serendipity_event_startcat, "Kategorie als Startseite".
Grüße,
Garvin
Ja, Plugin serendipity_event_startcat, "Kategorie als Startseite".
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Vielen Dank für die wie immer schnelle Antwort, Garvin.
Leider funktioniert das Plugin nicht wie gewünscht. Die meisten meiner Artikel haben keine Kategorie (ich will nicht auf Biegen und Brechen für alles Kategorien anlegen). Sobald ich mit dem Plugin eine Kategorie aus der Anzeige entfernen will, werden zwar alle anderen Kategorien angezeigt, die ohne Kategorie jedoch nicht. Leider bleiben so von über 500 Beiträgen nur ca. 40 über.
Ist das ein Bug oder ein Feature…?
Michael
Leider funktioniert das Plugin nicht wie gewünscht. Die meisten meiner Artikel haben keine Kategorie (ich will nicht auf Biegen und Brechen für alles Kategorien anlegen). Sobald ich mit dem Plugin eine Kategorie aus der Anzeige entfernen will, werden zwar alle anderen Kategorien angezeigt, die ohne Kategorie jedoch nicht. Leider bleiben so von über 500 Beiträgen nur ca. 40 über.
Ist das ein Bug oder ein Feature…?
Michael
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Wie hast Du das plugin denn konkret konfiguriert? Welche s9y version benutzt Du?
Bisher war es noch nie gefordert, dass das plugin zum einsatz kommt wenn nicht immer alle kategorisierungen dann vorhanden sind. Es kann sein, dass die SQL-Syntax das nicht so hergibt, dass man eine kategorie ausschließen kann ohne generell mindestens eine Kategorisierung zu erfordern.
Bei einer Datenbankabfrage muss man nämlich immer angeben, ob Kategorien "frei" oder "fest" querverbunden werden. Sobald man eine feste Querverbindung einsetzt, muss ein EIntrag immer mindestens eine Kategorie aufweisen.
Evtl. müsstest Du das dann eher so lösen, dass Du über das plugin 'Erweiterte Eigenschaften von Artikeln' alle Artikeln einzelnd von der Übersichtsseite entfernst, die nicht erscheinen sollen. Dann musst Du zwar jedes Mal nen Haken setzen für diese Einträge, aber das klappt dann zumindest.
Grüße,
Garvin
Wie hast Du das plugin denn konkret konfiguriert? Welche s9y version benutzt Du?
Bisher war es noch nie gefordert, dass das plugin zum einsatz kommt wenn nicht immer alle kategorisierungen dann vorhanden sind. Es kann sein, dass die SQL-Syntax das nicht so hergibt, dass man eine kategorie ausschließen kann ohne generell mindestens eine Kategorisierung zu erfordern.
Bei einer Datenbankabfrage muss man nämlich immer angeben, ob Kategorien "frei" oder "fest" querverbunden werden. Sobald man eine feste Querverbindung einsetzt, muss ein EIntrag immer mindestens eine Kategorie aufweisen.
Evtl. müsstest Du das dann eher so lösen, dass Du über das plugin 'Erweiterte Eigenschaften von Artikeln' alle Artikeln einzelnd von der Übersichtsseite entfernst, die nicht erscheinen sollen. Dann musst Du zwar jedes Mal nen Haken setzen für diese Einträge, aber das klappt dann zumindest.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Ich habe beim Plugin nur unter „Versteckte Kategorien“ eine ausgewählt.
s9y-Version 1.1.2
Wenn ich für alle Artikel Kategorien vergeben sollte, hätte ich einfach viel zu viele davon und oft nur einen Artikel pro Kategorie. Ich will damit nur Beiträge zusammenfassen, die auch zusammenpassen.
Geht nicht sowas wie
SELECT * FROM articles WHERE category<>YYY ?
PS: Gibt es eigentlich (bis endlich Dein Buch rauskommt, bestellt ist es schon…) eine Beschreibung der hooks, propbags, probelangs etc. und wie serendipity_event aufgebaut ist? Das alles hält mich noch vom Schreiben eigener Plugins ab.
s9y-Version 1.1.2
Wenn ich für alle Artikel Kategorien vergeben sollte, hätte ich einfach viel zu viele davon und oft nur einen Artikel pro Kategorie. Ich will damit nur Beiträge zusammenfassen, die auch zusammenpassen.
Geht nicht sowas wie
SELECT * FROM articles WHERE category<>YYY ?
PS: Gibt es eigentlich (bis endlich Dein Buch rauskommt, bestellt ist es schon…) eine Beschreibung der hooks, propbags, probelangs etc. und wie serendipity_event aufgebaut ist? Das alles hält mich noch vom Schreiben eigener Plugins ab.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
In der technischen doku unter www.s9y.org steht bereits einiges beschrieben, hast Du da mal geschaut?
Mir fehlt jetzt die Zeit die SQL Sache genau nachzuschauen. Wenn Du daran interesse hast, öffne mal die include/functions_entries.inc.php.
Dort die Funktion "serendipity_getMultiCategoriesSQL" ist, was den Code erzeugt.
In der selben Datei kannst Du auch im Code
Mal die Kommentarzeile entfernen, dann kannst Du das SQL Konstrukt sehen, welches deine artikelübersicht erzeugt und damit evtl. herausfinden, was man ändern müsste?
Grüße,
Garvin
In der technischen doku unter www.s9y.org steht bereits einiges beschrieben, hast Du da mal geschaut?
Mir fehlt jetzt die Zeit die SQL Sache genau nachzuschauen. Wenn Du daran interesse hast, öffne mal die include/functions_entries.inc.php.
Dort die Funktion "serendipity_getMultiCategoriesSQL" ist, was den Code erzeugt.
In der selben Datei kannst Du auch im Code
Code: Select all
// DEBUG:
// die($query);
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Mir ist in serendipity_getMultiCategoriesSQL folgender Block aufgefallen:
Ich verstehe nicht ganz, warum nach den Kategorien mit BETWEEN in serendipity_category gesucht wird. Da es dort keine Kategorie 0 (ohne Kategorie) gibt, fällt natürlich alles heraus, was keine Kategorie hat.
Wäre es nicht sinnvoller, direkt in serendipity_entrycat zu suchen?
Dann funktioniert eigentlich alles so, wie man es vom Plugin erwartet würde. Es lassen sich alle Kategorie-IDs verwenden, inkl. Kategorie 0.
Code: Select all
if ($categoryid != 0) {
$cat_sql_array[] = " (c.category_left " . ($invert ? " NOT " : "") . " BETWEEN " . implode(' AND ', serendipity_fetchCategoryRange($categoryid)) . ')';
}
Wäre es nicht sinnvoller, direkt in serendipity_entrycat zu suchen?
Code: Select all
$cat_sql_array[] = " (ec.categoryid" . ($invert ? " != " : " = ") . $categoryid . ')';
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Das 'BETWEEN' ist wichtig, damit SErendipity auch Einträge finden kann, die in Unterkategorien von enthalten Kategorien sind. Da wir eine NEsted-Set Struktur verwenden, kann man mit 'BETWEEN' leicht sagen "in Oberkategorie oder allen darunter".
Mir fehlt diese Woche die Zeit das genauer anzugucken. Vielleicht kann man einen Sonderfall einbauen, der auch 0er Category-IDs für deinen fall zulässt, hast Du da zufällig eine Idee? Scheinst Dich ja jetzt schon etwas eingearbeitet zu haben
Grüße,
Garvin
Das 'BETWEEN' ist wichtig, damit SErendipity auch Einträge finden kann, die in Unterkategorien von enthalten Kategorien sind. Da wir eine NEsted-Set Struktur verwenden, kann man mit 'BETWEEN' leicht sagen "in Oberkategorie oder allen darunter".
Mir fehlt diese Woche die Zeit das genauer anzugucken. Vielleicht kann man einen Sonderfall einbauen, der auch 0er Category-IDs für deinen fall zulässt, hast Du da zufällig eine Idee? Scheinst Dich ja jetzt schon etwas eingearbeitet zu haben
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/