WBCE CMS – Way Better Content Editing.
You are not logged in.
Hallo Gemeinde,
endlich habe ich eine umfangreiche Schulhomepage von 1.4 auf 1.5.4 geupdatet. Wurde auch Zeit wegen notwendigem Wechsel auf eine aktuellere PHP-Version. Es ist dank des prima Updater jetzt tatsächlich ein Kinderspiel.
Nach dem Update konnte ich gleich bestimmte Seite nicht mehr sehen und fand heraus, dass nur die Seiten mit Code-Abschnitten von NIA nicht mehr funzten. Ich hab daraufhin das Uraltmodul Code gegen das aktuelle Code2 getauscht und das Modul NIA auf die neueste Version aktualisiert. Nun wurden meine Seiten auch wieder geladen, aber:
Wenn ich den NIA-Abschnitt so einsetze, dass er...
[== PHP ==]
$config = array(
'group_id_type' => 'page_id',
'group_id' => 488,
...usw....
);
echo getImageNewsItems($config);
die News über die Page_ID ausgibt, zeigt er überhaupt keine News mehr an. Ich hab mir dann mal auf einer versteckten Seite alle IDs ausgeben lassen und musste feststellen, dass NIA überall (!) keine Page_ID mehr findet. Hier z.B. ein einzelner Auszug:
[623] => Array
(
[title] => ...da steht der Text der Meldung....
[post_id] => 664
[section_id] => 2021
[page_id] =>
[group_id] => 0
)
Bei [page_id] => sollte ja die zugehörige Page_ID ausgegeben werden, aber nix da. Da frag ich mich, ob das jetzt beim Update verkackt wurde, denn vorher ging das ja. Gut, stellste halt auf Section_ID um, dachte ich. Aber dann mischt er die News-Ausgabe tatsächlich aus zwei verschiedenen Sections, was natürlich auch doof ist. Gibts da eine Begrenzung, weil die Section_ID ist schon vierstellig.
Wer kann mir da nen Tipp geben, wo ich nachschauen muss? Datensicherungen hab ich brav gemacht :-)
Last edited by florian (19.01.2023 07:18:18)
Offline
Der Errorlog-Viewer gibt dazu das aus, wenn die Ausgabe nach Page_ID erfolgen sollte:
2023-01-17T18:15:08+00:00 [Visitor Request] https://meinedomain.de/pages/start/willkommen.php
2023-01-17T18:15:08+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[79] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
2023-01-17T18:15:08+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[80] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
[17-Jan-2023 18:15:08 UTC] Unknown column 't1.page_id' in 'where clause'
[17-Jan-2023 18:15:08 UTC] SELECT t1.*
FROM `wbce_mod_news_img_posts` as t1
WHERE t1.`active` = '1'
AND t1.`page_id` = '488'
AND 1
AND (t1.`published_when` = '0' or t1.`published_when` <= '1673979308')
AND (t1.`published_until` = '0' OR t1.`published_until` >= '1673979308')
AND 1
GROUP BY t1.`post_id`
ORDER BY t1.`published_when` DESC
LIMIT 0, 5
2023-01-17T18:15:08+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[79] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
2023-01-17T18:15:08+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[80] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
Wenn die Ausgabe über section_id erfolgen soll, steht im Errorlog-Viewer:
2023-01-17T18:09:06+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[79] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
2023-01-17T18:09:06+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[80] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
2023-01-17T18:09:06+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[79] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
2023-01-17T18:09:06+00:00 [Deprecated] /modules/news_img_anywhere/code/nia_functions.php:[117] from /modules/news_img_anywhere/include.php:[80] sanitizeUserInputs "strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated"
Last edited by pfreud01 (17.01.2023 19:19:12)
Offline
Die Spalte "page_id" ist vor einiger Zeit mal, ich weiß nicht mehr wann und ich glaube in Vorbereitung auf Features, die dann leider doch (noch) nicht umgesetzt worden sind, entfallen.
Ich habe einen Fallback eingebaut, bei dem dann anhand der page_id die section_id aus der Tabelle sections gezogen wird, sodass die NWI-Ausgabe zumindest nicht leer bleibt, sondern sich so verhält, als sei group_id => section_id und section_id angegeben worden.
https://addons.wbce.org/pages/addons.ph … m&item=115
Bitte mit dem _update-Package aktualisieren, weil sonst ggf. Deine angepassten Ausgabetemplates überschrieben werden.
Über den Parameter sort_by und ggfs. sort_order (siehe Readme => https://github.com/WBCE/news_img_anywhere) die Reihenfolge anpassen.
Wobei es mich jetzt wundert, dass Du schreibst, es würden bei section_id Beiträge aus verschiedenen Sections vermischt, das soll natürlich nicht so sein.
Kannst Du bitte mal in der /modules/news_img_anywhere/include.php nach
/**
* Build SQL query for Anynews
*/
$news_table = TABLE_PREFIX . 'mod_news_img_posts';
$sql = "SELECT t1.*
FROM `$news_table` as t1
WHERE t1.`active` = '1'
AND $sql_group_id
AND $sql_lang_filter
AND (t1.`published_when` = '0' or t1.`published_when` <= '$server_time')
AND (t1.`published_until` = '0' OR t1.`published_until` >= '$server_time')
AND $sql_not_older_than
$sql_filter_posts
GROUP BY t1.`post_id`
ORDER BY $sql_order_by $sql_sort_order
";
ungefähr in Zeile 267 einfügen:
debug_dump($sql);
und die Seite im Frontend aufrufen, dann erscheint da so ein gelber Kasten, in dem die konkrete Datenbankabfrage steht. Interessant ist da dann die Zeile - da müsste sowas wie
AND t1.`section_id` = '1234'
stehen, und das sollte doch eigentlich so interpretiert werden, dass wirklich nur Beiträge gezogen werden, bei denen section_id=1234 und nicht auch section_id=12 oder section_id=234, oder...?
Last edited by florian (18.01.2023 09:47:39)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Danke, Florian, für deine Bemühungen.
Ich hab zunächst das verlinkte Update draufgeladen und damit klappt die Abfrage über die Page_ID wie erwartet bzw. wie früher schon immer. Damit lässt sich die HP auch wieder wie gewohnt nutzen und es erscheint zur nia_functions.php auch keine Fehlermeldung im Errorlog-Viewer. Komischerweise werden in der Ausgabe aller Gruppen immer noch keine Page_IDs ausgegeben. Aber funzt und ist erst mal eine Lösung, danke.
Jetzt zur Ausgabe der News über Section_ID. Ich hab deinen Minicode debug_dump($sql); ergänzt und die Seiten im Frontend angesehen. Im gelben Kasten erscheint dann diese Zeilen:
SELECT t1.*
FROM `wbce_mod_news_img_posts` as t1
WHERE t1.`active` = '1'
AND 1
AND 1
AND (t1.`published_when` = '0' or t1.`published_when` <= '1674037530')
AND (t1.`published_until` = '0' OR t1.`published_until` >= '1674037530')
AND 1
GROUP BY t1.`post_id`
ORDER BY t1.`published_when` DESC
Da ist gar nichts von einer section_ID zu finden und deswegen tauchen da Inhalte einer anderen section_ID auf, vermute ich. Hilft dir das weiter? Im Errorlog-Viewer gibt es dazu auch keinen Eintrag.
Offline
Hm, kann es sein, dass Dein Aufruf ungefähr so aussieht
$config = array(
'group_id_type' => 'section_id',
'section_id' => 1234,
'display_mode' => 1,
'sort_by' => 2,
);
echo getImageNewsItems($config);
Dann wäre das die Erklärung - der 2. Parameter muss immer group_id heißen, also
$config = array(
'group_id_type' => 'section_id',
'group_id' => 1234,
'display_mode' => 1,
'sort_by' => 2,
);
echo getImageNewsItems($config);
Komischerweise werden in der Ausgabe aller Gruppen immer noch keine Page_IDs ausgegeben.
Wie gesagt, die Newsbeiträge haben keine Spalte page_id mehr. Mein Workaround behandelt nur den Aufruf des Scripts, nicht die Ausgabe der einzelnen Beiträge.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Grade nochmals nachgesehen. Der Aufruf ist schon richtig:
$config = array(
'group_id_type' => 'page_id',
'group_id' => 488,
...usw....
);
echo getImageNewsItems($config);
Aber egal, momentan funktioniert ja alles. Kann von meiner Seite aus als gelöst markiert werden.
Danke nochmal!
Offline
Das hatte mit Features nichts zu tun, die page_id ist einfach überflüssig, weil ich über die section_id immer auch eine eindeutige page_id finden kann.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline