[Modul] ArticleListReloaded(ALR) für 4.10.x

Alles rund um Module und Plugins in CONTENIDO 4.10.
homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von homtata » Fr 13. Mai 2022, 20:27

Hallo peanut,
es ist nicht ideal, aber ein Teil der Fehlermeldungen verschwindet wahrscheinlich, wenn du das Plugin "content allocation" aktivierst. Vielleicht ist das noch nicht korrekt verschachtelt um zu prüfen, ob content allocation überhaupt läuft oder nicht.
Das mehrfache Einsetzen der Liste in einem Artikel kann Probleme bereiten, weil dann mehrfach includes der gleichen Klassen und functions laufen. Ggf. musst du die includes in Moduloutput so anpassen, dass zunächst überprüft wird, ob es eine der Klassen oder Funktionen in der Datei schon gibt und das include dann unterbinden.
Der inkludierte p-Tag kommt ziemlich sicher aus einer Standardeinstellung des Editors, der alles mit einem p-Tag wrappt. Nun lässt sich ja aber für jeden eingebundenen CMS-Content in der ALR sagen, ob die Tags mitkommen sollen oder nicht bzw. welche ja, welche nein. Darüber solltest du das eigentlich steuern können....
LG
Viktor

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von lunsen_de » Di 30. Aug 2022, 18:52

Hallo Viktor,

ich suche aktuell dringend die Möglichkeit mit einer Variable im HTML Template die gewählten Tagging Begriffe eines Artikels in der Artikelliste auszugeben. Also einfach die Worte hintereinander.

Der Taggingbaum ist wie folgt angelegt:
1. Material
1.1 Kunststoff
1.2 Stein
1.3 Holz
2. Größe
2.1. Klein
2.2 Mittel
2.3 Groß

Z.B.
Der "Detailartikel 1" hat bei Tagging per checkbox gewählt: Stein Mittel
Der "Detailartiekl 2" hat bei Tagging per checkbox gewählt: Holz Klein

Ich brauche jetzte einfach als Textausgabe in der Liste bei dem jeweiligen Artikel, wie meist gehabt die Headline, ein Bild, ein Stück Text
UND die Taggingangaben (als Text).

Kann man das Modul ergänzen um eine Variable zu generieren die dann an entsprechender Stelle im Modul HTML Template diese Ausgabe generiert?

(Ich weiß, dass das Tagging zur Verwendung als alternative Kategorie verwendbar ist, was mir dabei aber nicht viel nützt. Vielleicht kann man das umstricken.)

Grüße Lars

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von homtata » Di 30. Aug 2022, 23:15

Heyho, prinzipiell müsste das zwar gehen, aber leider fehlt mir momentan die Zeit, mich um diesen Sonderfall zu kümmern. Ich habe aktuell in keinem Projekt Allocations/Tagging laufen und müsste das erstmal simulieren und und und.
Wenn du selbst versuchen willst, dann kannst du mal über die Class pApiContentAllocation gehen und versuchen, ob du mit der function loadAllocations( integer $idartlang ) irgendwie weiterkommst.
https://api.contenido.org/latest/class- ... ation.html

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: ArticleListReloaded(ALR) auch für PHP8?

Beitrag von Horst1234 » Do 19. Jan 2023, 10:06

Moin zusammen,
läuft dieses Modul auch unter PHP8?
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

peanut
Beiträge: 246
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von peanut » Mi 25. Jan 2023, 10:13

Mal eine einfache Frage :-)

Wegen den doppelten Links wieder einmal. Ich sitze gerade dran das alles so zu optimieren, das alles ohne index.html dafür mit weiterleitungen von Kategorie auf Kategorie/ läuft. So das es einheitlich und sauber von G lesbar ist. Scheint als ob das immer wichtiger wird einzigartige Links ( duplicate content ) zu vergeben.

Und zwar hänge ich hier im html Template:

Code: Alles auswählen

<a class="plus" href="{$listObj->overviewLink}">{$listObj->overviewText1}</a>
Wie und wo kann man hier auf die Kategorie anstelle der vordefinierten index.html Startseite linken ? Stimmt der generierte Code unten evtl ? Da will ich jetzt nicht einfach so blind drauf los.


ChatBot sagt dazu
###############

Um die Ausgabe von "kategorie/index.html" auf "kategorie/" zu ändern, müsstest du in der buildRedirect()-Funktion in der Methode 'PaginationType05' folgende Änderungen vornehmen:

statt:
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => 1);
$sPaginationType05[] = array( cUri::getInstance()->buildRedirect($aParams), mi18n("«") );

mache:
$aParams = array('lang' => $lang, 'idcat' => $idcat);
$sPaginationType05[] = array( cUri::getInstance()->buildRedirect($aParams), mi18n("«") );

und auch für die andere Seiten des Codes, statt:
$aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'page' => $i);
$sPaginationType05[] = array( cUri::getInstance()->buildRedirect($aParams), $i );

mache:
$aParams = array('lang' => $lang, 'idcat' => $idcat);
$sPaginationType05[] = array( cUri::getInstance()->buildRedirect($aParams), $i );

Dies sollte die Ausgabe von "kategorie/index.html" auf "kategorie/" ändern. Bitte beachte, dass dies nur eine grobe Anleitung ist und es möglicherweise weitere Änderungen geben kann, um den Code vollständig zum Laufen zu bringen. Es wäre ratsam, dass du einen Entwickler hinzuziehst, um die Änderungen durchzuführen und sicherzustellen, dass alles richtig funktioniert.

Ok und hier die Lösung
Voraussetzung: AMR ist ohne index.html eingestellt

Suche nach:

Code: Alles auswählen

$listObj->overviewLink = cUri::getInstance()->buildRedirect($aParams);
Füge "unter" der oberen Zeile diese hier ein

Code: Alles auswählen

$listObj->overviewLink = rtrim($listObj->overviewLink, 'index.html');

Das scheint bei mir zu gehen.

Vielen Dank im Voraus
Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

ALR ver. 16 und PHP8.1 funktioniert nicht

Beitrag von Horst1234 » Do 23. Feb 2023, 15:11

Hallo Homtata,
ich teste gerade den Democlient der Develop-Version von CONTENIDO 4.10 für PHP 8.

Installierte Versionen:
CONTENIDO Version 4.10.1
Webserver-Version Apache
Installierte PHP-Version 8.1.16
Datenbankserver-Version 10.5.18-MariaDB-0+deb11u1
PHP-Datenbankerweiterung mysqli

Ich habe den Democlient ohne weitere Änderungen installiert, er läuft plus AMR .
Dann hab ich das ALR in der letzten Version (16) installiert.
Im Modulbereich werden keine Fehler angezeigt ("Ampel" auf grün)
Dann habe ich das Mobul in eine neue Vorlage eingbunden,
Screenshot 1.jpg
Screenshot 1.jpg (57.57 KiB) 3060 mal betrachtet
in den Voreinstellungen verschwinden dann alle anderen Module und ich kann auch nichts einstellen.
Screenshot2.jpg
Screenshot2.jpg (28.33 KiB) 3060 mal betrachtet
Wenn ich die Vorlage einbinde in eine Seite, sehe ich in den Einstellungen dasselbe.

Wenn ich den Errorlog lösche und dann die Seite mit dem ALR aufrufe, kommt ein sehr langer Errorlog,
wobei das meiste wohl gar nicht relevant ist:
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: mysqli_real_connect(): Passing null to parameter #8 ($flags) of type int is deprecated in /usr/www/users/nbyter/contenido/classes/db/class.db.driver.mysqli.php on line 128
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined property: ModRewriteController::$_sPath in /usr/www/users/nbyter/contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php on line 532
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined property: ModRewriteController::$_sPath in /usr/www/users/nbyter/contenido/plugins/mod_rewrite/classes/class.modrewritecontroller.php on line 188
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined array key "idart" in /usr/www/users/nbyter/cms/cache/templates_c/8f640ac74648ca634437e0a1960dd65b6c4b70f7_0.file.get.tpl.php on line 36
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Attempt to read property "value" on null in /usr/www/users/nbyter/cms/cache/templates_c/8f640ac74648ca634437e0a1960dd65b6c4b70f7_0.file.get.tpl.php on line 36
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined array key "idlang" in /usr/www/users/nbyter/cms/cache/templates_c/8f640ac74648ca634437e0a1960dd65b6c4b70f7_0.file.get.tpl.php on line 38
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Attempt to read property "value" on null in /usr/www/users/nbyter/cms/cache/templates_c/8f640ac74648ca634437e0a1960dd65b6c4b70f7_0.file.get.tpl.php on line 38
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/www/users/nbyter/cms/cache/templates_c/5fda838e8923ecd6534f5fdcbbe1374222457c9a_0.file.get.tpl.php on line 27
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/www/users/nbyter/cms/cache/templates_c/5504e9432dafad8ae3742af7b64b6a8f8f4be225_0.file.get.tpl.php on line 27
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/www/users/nbyter/cms/cache/templates_c/7d8c093a87f513a5be6a88d16af9ebc844bdabe7_0.file.get.tpl.php on line 27
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/www/users/nbyter/cms/cache/templates_c/dbf733402c04e7d1fdefda0c735038c36f2c0928_0.file.get.tpl.php on line 27
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of DateTimeReplaceLang::format($format, $replace = 'de_DE', $type = 'short') should either be compatible with DateTime::format(string $format): string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/cms/data/modules/article-list-reloaded/php/class.datetimereplacelang.php on line 41
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined array key "page" in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Warning: Undefined variable $C160 in /usr/www/users/nbyter/contenido/includes/frontend/include.front_content.php(731) : eval()'d code on line 129
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::seek($position) should either be compatible with SeekableIterator::seek(int $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 341
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 361
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 377
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 370
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 386
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 352
[23-Feb-2023 15:29:48 Europe/Berlin] PHP Deprecated: Return type of cArticleCollector::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/nbyter/contenido/classes/class.article.collector.php on line 396
[23-Feb-2023 15:29:56 Europe/Berlin] PHP Deprecated: mysqli_real_connect(): Passing null to parameter #8 ($flags) of type int is deprecated in /usr/www/users/nbyter/contenido/classes/db/class.db.driver.mysqli.php on line 128
[23-Feb-2023 15:29:56 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:56 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:56 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
[23-Feb-2023 15:29:57 Europe/Berlin] PHP Deprecated: mysqli_real_connect(): Passing null to parameter #8 ($flags) of type int is deprecated in /usr/www/users/nbyter/contenido/classes/db/class.db.driver.mysqli.php on line 128
[23-Feb-2023 15:29:57 Europe/Berlin] PHP Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 288
[23-Feb-2023 15:29:57 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 291
[23-Feb-2023 15:29:57 Europe/Berlin] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/www/users/nbyter/contenido/classes/class.autoload.php on line 216
Hast du eine Idee, woran das liegt?
Gruß, Horst
Dateianhänge
Screenshot2.jpg
Screenshot2.jpg (28.33 KiB) 3061 mal betrachtet
Screenshot2.jpg
Screenshot2.jpg (28.33 KiB) 3062 mal betrachtet
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von xmurrix » Do 23. Feb 2023, 16:21

Hallo Horst,

die meisten Einträge bei dir in der errorlog.txt haben nicht etwas mit dem ALR zu tun.

Wenn ich mich nicht täusche, verwendest du den Entwicklungsstand vom 12.01.2023 und in diesem Stand wurden noch nicht die Warnungen angegangen, die auftauchen, wenn man CONTENIDO unter PHP 8 mit strikter Fehlerbehandlung laufen lässt.

Erst ab dem 13.01.2023 wurde das Thema mit den Warnungen angegangen, siehe ersten Commit dazu
https://github.com/CONTENIDO/CONTENIDO/ ... e29f2b92cd

Seither sind viele Änderungen wegen der Warnungsmeldungen gemacht wurden, siehe
https://github.com/CONTENIDO/CONTENIDO/ ... pe=commits

Du hast zwei Optionen:
  • Entweder die PHP Fehlerbehandlung so einstellen, dass Warnungen nicht protokolliert werden
  • Oder den aktuelleren Entwicklungsstand von CONTENIDO auf deinem Server einspielen, in der der größte Teil solcher Warnungsmeldungen behoben sind
Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von Horst1234 » Fr 24. Feb 2023, 10:15

Moin Murat,
ich hab jetzt die neuste DEV-Version installiert und die Unterdrückung der PHP Fehlermeldungen wie gepostet eingefügt.
Ich hab alle Module, die nicht im Democlient sind, wieder deaktiviert, mein Fehlerlog läuft aber noch immer zu.

Mein Hauptproblem, der Fehler im ALR, hat sich nicht geändert:
noch immer zerschießt das Modul die Einstellungen der Vorlage, in die es eingefügt wurde.
Gibt es da eine Lösung?


Gruß,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von xmurrix » Fr 24. Feb 2023, 12:22

Hallo Horst,

das habe ich soeben getestet und du hast recht, das ALR produziert unter PHP 8 mit strikter Einstellung für Fehlerbehandlung Fehler, und wenn man die Ausgabe von Fehlern/Warnungen in PHP aktiviert hat, sieht man das alles auch in der Ausgabe der Seite.

Du kannst dem Modulentwickler etwas Zeit geben, bis er das Modul auf PHP 8 mit strikter Fehlerbehandlung angepasst hat oder die Fehlerbehandlung für PHP 8 wie folgt anpassen:

1. Falls nicht vorhanden, erstelle eine Datei 'conig.local.php' im Verzeichnis 'data/config/{umgebungs_name}/'

2. Setze darin die PHP Einstellungen wie folgt:

Code: Alles auswählen

// a.) Für PHP 8.0 die Fehlerbehandlung ohne `E_STRICT`, `E_NOTICE` und `E_WARNING` setzen
$cfg['php_error_reporting'] = E_ALL & ~(E_STRICT | E_NOTICE | E_WARNING);

// b.) Für PHP 8.1 die Fehlerbehandlung ohne `E_STRICT`, `E_NOTICE`, `E_WARNING` und `E_DEPRECATED` setzen
$cfg['php_error_reporting'] = E_ALL & ~(E_STRICT | E_NOTICE | E_WARNING | E_DEPRECATED);

// Die Ausgabe der Fehler deaktivieren, geloggt werden sie trotzdem
$cfg['php_settings']['display_errors'] = '0';
Du brauchst die Fehlerbehandlung nicht zu ändern, wenn es dich nicht stört, dass die Meldungen alle in der Fehlerlog (errorlog.txt) landen. Wichtig ist das Deaktivieren der Anzeige der Fehler (display_errors = 0).

Mit diesen Einstellungen unter PHP 8.0 oder PHP 8.1 bekomme ich keine Meldungen angezeigt

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von Horst1234 » Fr 24. Feb 2023, 13:46

Hallo Murat,
das Errorlog stört mich erst mal nicht, aber das heißt, dass Modul ist erst mal nicht anwendbar unter PHP 8, richtig?
Gruß,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von xmurrix » Fr 24. Feb 2023, 16:22

...das Errorlog stört mich erst mal nicht, aber das heißt, dass Modul ist erst mal nicht anwendbar unter PHP 8, richtig?...
Das Modul habe ich bei mir unter PHP 8.0 und PHP 8.1 kurz angetestet, die Moduleingabe und -ausgabe funktioniert, allerdings habe ich nicht alle möglichen Fälle durchgespielt. Eine statische Codeanalyse liefert auch keine Auffälligkeiten, d. h. ich würde sagen, dass das ALR Modul PHP 8 lauffähig ist.

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von lunsen_de » Fr 24. Feb 2023, 20:44

Hallo, habe es auch gerade mal getestet. Eingabe, Konfiguration etc. geht alles.

In der Errorlog steht nach Aufruf des Frontends:

Code: Alles auswählen

24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined array key "page" in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined variable $iClientId in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Trying to access array offset on value of type null in /var/www/...../httpdocs/2024/contenido/classes/contenido/class.user.php on line 936
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Trying to access array offset on value of type null in /var/www/...../httpdocs/2024/contenido/classes/contenido/class.user.php on line 945
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Trying to access array offset on value of type null in /var/www/...../httpdocs/2024/contenido/classes/contenido/class.user.php on line 936
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Trying to access array offset on value of type null in /var/www/...../httpdocs/2024/contenido/classes/contenido/class.user.php on line 945
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined variable $db3 in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined variable $db4 in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined variable $db5 in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
[24-Feb-2023 19:38:18 UTC] PHP Warning:  Undefined property: stdClass::$nolistArticletext in /var/www/...../httpdocs/2024/contenido/includes/frontend/include.front_content.php(738) : eval()'d code on line 162
und nach speichern der Konfiguration im Backend:

Code: Alles auswählen

[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
[24-Feb-2023 19:42:30 UTC] PHP Warning:  Undefined variable $tplpath in /var/www/...../httpdocs/2024/contenido/includes/include.tplcfg_edit_form.php(349) : eval()'d code on line 311
Vielleicht lässt sich da was machen.
Grüße larslunsen

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von xmurrix » Sa 25. Feb 2023, 01:00

Danke fürs Testen.

mir sind auf die Schnelle folgende Sachen aufgefallen:

article-list-reloaded_input.php (Zeile 286)

Code: Alles auswählen

	$value = str_replace($tplpath, "", $value);
Die Variable `$tplpath` gibt es so nicht, auch nicht in CONTENIDO. Wahrscheinlich soll hier der vordere Teil einer vollständigen Pfadangabe zum Template abgeschnitten werden.


article-list-reloaded_output.php (Zeile 72)

Code: Alles auswählen

$aSettings['CurrentPage']                = ( !is_numeric($_REQUEST['page']) || !isset($_REQUEST['page']) ) ? 1 : $_REQUEST['page'];
Wenn kein Query-Parameter 'page' übergeben wurde, gibt es eine Warnung bei Zugriff auf `$_REQUEST['page']`, da sollte man die Reihenfolge umtauschen `!isset(...) || !is_numeric(...)`.


article-list-reloaded_output.php (Zeile 85)

Code: Alles auswählen

	$oPurge->clearClientCache($iClientId, 'cache/content/');
Die Variable $iClientId gibt es nicht, da sollte man `cRegistry::getClientId()` verwenden.

article-list-reloaded_output.php (Zeile 85)

Code: Alles auswählen

			if (!is_object($db3)) $db3 = cRegistry::getDb();
			if (!is_object($db4)) $db4 = cRegistry::getDb();
			if (!is_object($db5)) $db5 = cRegistry::getDb();
Wenn die Variablen zuvor nicht gesetzt wurden, und man mit `is_object()`, `is_numeric()` usw. prüft, gibt es Warnungen, da sollte man stattdessen `isset()` verwenden.


article-list-reloaded_output.php (Zeile 361 ff.)

Code: Alles auswählen

					$author = new cApiUser();
					$author->loadUserByUsername( $db2->f('author'));
Wenn im Artikel kein Autor (Benutzername) angegeben ist oder der Benutzer nachträglich gelöscht wurde, kann man nicht den Benutzerdatensatz aus der Datenbank laden. Alle Zugriffe darauf verursachen Warnungen. Man kann prüfen, ob der Datensatz erfolgreich geladen werden konnte und darauf reagieren, da geht z. B. mit `$author->isLoaded()`.

Grüße
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von Horst1234 » Sa 25. Feb 2023, 13:39

Hallo Murat,
Ich will ja nicht ausschließen, dass mein Provider irgentwelche PHP-Einstellungen machte, die ich nicht überblicke. Daher habe ich nun testweise dem Democlienten lokal auf XAMPP (PHP 8.2) installiert, die neuste DEV-Variante + ALR ver. 16

Auch hier das immer gleiche Bild, die Enbindung des Moduls zerschiesst die Vorlage wie in meinem vorherigen Post schon beschrieben:
Screenshot 2023-02-25 133702.jpg
(76.57 KiB) Noch nie heruntergeladen
Es lässt sich nichts in der Konfiguration einstellen, alle anderen Module sind dort verschwunden, wie auf dem Screenshot zu sehen.
Ich bin mit meinem Latein am Ende :roll:
Gruß,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: [Modul] ArticleListReloaded(ALR) für 4.10.x

Beitrag von xmurrix » Sa 25. Feb 2023, 14:37

Hallo Horst,

Ich habe das auf deinem Server gefixt.

Es lag nicht an der PHP Version oder an CONTENIDO, die Ursache war in der Moduleingabe von ALR. Da wird eine Abfrage auf die Content Allocation Tabelle "con_pica_alloc" gemacht. Wenn das Content Allocation Plugin nicht installiert ist, gibt es die Tabelle nicht und die in der Moduleingabe generierte SQL-Anweisung führt zu einem schwerwiegenden Fehler.

Die betroffene Stelle ist entschärft, du kannst die angepasste Moduleingabe von ALR auch in deine lokale CONTENIDO-Installation übernehmen.

Hier die Änderung in der article-list-reloaded_input.php zwischen Zeile 142 und 207:

Code: Alles auswählen

// *** Content Allocation / Tagging Category - replaces other choices!

if (!empty($cfg["tab"]["pica_alloc"])) {
    // check if tagging categories exist
    $db6 = cRegistry::getDb();
    $sql = "";
    $sql = "SELECT a.idpica_alloc as idpica_alloc FROM ".$cfg["tab"]["pica_alloc"]." AS a WHERE a.parentid = 0";
    $db6->query($sql);
    if ($db6->numRows() > 0) {
        
        /* unkomfortable Variante mit Texteingabe - aber mehrere unabhängige Kategorien möglich! 
        $fillrow = array();
        $tr = new cHTMLTableRow();
        $td = new cHTMLTableData();
        $td->setContent(mi18n("pica_startcategory"));
        $fillrow[] = $td;
        $td = new cHTMLTableData();
        $input = new cHTMLTextbox("CMS_VAR[610]", "CMS_VALUE[610]",'21','20','pica_startcategory',false,null,'');
        $td->setContent('<span title="Mehrere durch Komma trennen">Tagging-Kategorie:</span>'.$input);
        //$td->setClass("silverline");
        $fillrow[] = $td;
        $tr->setContent($fillrow);
        $filltable[] = $tr;
        */
        
        // *** Content Allocation / Tagging Category - replaces other choices!
        
        //first row with tagging categories
        $fillrow   = array();
        $tr = new cHTMLTableRow();
        $td = new cHTMLTableData();
        $td->setContent(mi18n("label_tagging_category_main"));
        $fillrow[] = $td;
        $td = new cHTMLTableData();
        $input = buildAllocationSelect("CMS_VAR[610]", "CMS_VALUE[610]", "0");
        $td->setContent($input);
        $fillrow[] = $td;
        $tr->setContent($fillrow);
        $filltable[] = $tr;
        
        if ( "CMS_VALUE[620]" == "none" ) $addtag_checked_none = "checked"; 
        if ( "CMS_VALUE[620]" == "below" ) $addtag_checked_below = "checked"; 
        
        //start next row with additional tagging category choices
        $fillrow = array();
        $tr = new cHTMLTableRow();
        $td = new cHTMLTableData();
        $td->setContent(mi18n("label_tagging_adddir"));
        $td->setClass("silverline");
        $fillrow[] = $td;
        $td = new cHTMLTableData();
        $input = new cHTMLRadiobutton("CMS_VAR[620]", 'none', '', $addtag_checked_none);
        $input->setLabelText(mi18n("value_none"));
        $td->setContent($input);
        $td->setClass("silverline");
        $input2 = new cHTMLRadiobutton("CMS_VAR[620]", 'below', '', $addtag_checked_below);
        $input2->setLabelText(mi18n("value_below"));
        $td->setContent($input."  ".$input2);
        $td->setClass("silverline");
        $fillrow[] = $td;
        $tr->setContent($fillrow);
        $filltable[] = $tr;
        
    } // end if num_rows > 0
    unset($db6);

}

 // Ende Tagging
Die Lösung ist war nicht perfekt, tut aber seinen Zweck...

Gruß
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten