Closed madiko closed 6 years ago
Stimmt. Schau die in den Modulen den neuen Code an. Siehe der Commit oben. Nur die Änderungen in den Modulen sind für dich interessant. Das sollte das Problem lösen. Funktioniert es bei dir? Ich habe es noch nicht getestet.
Hallo Tobias,
Entschuldigung, ich kam erst heute dazu, die neue Version zu testen und einzubauen.
Mit etwas Denkarbeit habe ich es jetzt auch in mein Modul integrieren können.
Ich musste noch die Abfrage einbauen, ob IDs gewählt wurden (nicht leer):
// News-Typen (sofern das News-Types-Plugin aktiviert wurde)
$selected_news_types = [];
if(rex_plugin::get('d2u_news', 'news_types')->isAvailable()) {
// IDs der News-Typen auslesen
$selected_news_type_ids = rex_var::toArray("REX_VALUE[3]");
if ($selected_news_type_ids !='') {
// Alle gewählten News-Typen auslesen
foreach ($selected_news_type_ids as $selected_news_type_id) {
$selected_news_types[] = new \D2U_News\Type($selected_news_type_id, rex_clang::getCurrentId());
}
}
}
Es scheint mir, dass das bei Deinen Modulen auch sinnvoll ist.
Nochmals vielen Dank und beste Grüße, Franziska
Danke für den Code. Ich denke ich werde ihn (zumindest bis jetzt) nicht einbauen.
Hallo Tobias,
in der Ausgabe ist noch ein Denkfehler. Leider komme ich nicht drauf, wie das am geschicktesten zu lösen ist ¯_(ツ)_/¯
Bereits bei der ersten DB-Abfrage (Kategorien) schränkst Du die Zahl der News ein. Sobald aber die zweite Bedingung dazu kommt, kann es sein, dass in dieser eingeschränkten Auswahl nicht mehr ausreichend Treffer sind für Bedingung zwei - obwohl in der DB noch weitere Datensätze hinterlegt wären.
Meine Ideen zur Lösung:
Zudem glaube ich, dass es Sinn macht, die Reihenfolge umzudrehen: Erst die Abfrage nach den Typen (Arten) - dann nach den Kategorien.
Ich hänge unten mal meinen Code soweit wie ich kam an. Es funzt aber noch nicht. Wo ist mein Denkfehler?
Viele Grüße, Franziska
EINGABE
AUSGABE