Closed tbaddade closed 1 year ago
Hab das auch über mein Add-on "neues". /cc @iriswerner
Ich wundere mich darüber, dass scheinbar der EP in Usability vor dem EP im URL Addon eingebaut wurde. Übersehe ich hier etwas?
Ich wundere mich darüber, dass scheinbar der EP in Usability vor dem EP im URL Addon eingebaut wurde. Übersehe ich hier etwas?
Kreativ hat einen eigenen URL-Fork. Ich vermute, dass ich irgendwann diese Änderung nachgezogen hatte und es jetzt deshalb zu diesem Konflikt kommt.
Wir sind gerade dabei unseren Fork des URL-Addon wieder rückzubauen.
Zu diesem Thema: Wenn ich das richtig gesehen habe, hängt sich yform_usability hier in die URL-Addon Logik rein, sodass es von einem Profil nur URLs generiert, wo status = 1 ist.
Finde diese Logik etwas fragwürdig? Was ist wenn die Tabelle kein Feld "status" hat? Zudem hat diese ja eig. gar nichts mit yform zu tun und wäre in diesem Addon somit Inhaltlich auch nicht richtig verordnet?
Ich denke, man sollte sich hier nicht mehr in diesen EP reinhängen. Somit in der Extension-Klasse die Zeile 20 rausnehmen, sowie auch die komplette ext__urlQuery Methode.
Ist dann natürlich bzgl. backward compatibility nicht so schön, falls sich hier jemand auf diese Logik verlassen hat und im URL-Profil nicht zusätzlich manuell abprüft. Kann dann bei Updates dazuführen, dass ungewollt URLs erzeugt werden ...
@palber Was genau wolltet ihr an der Stelle bezwecken? Vielleicht ist das ja durchaus sinnvoll und man müsste es nur umbauen.
@tbaddade Unser Intention war es hier, per Default dem URL-Profil mitzugeben, dass nur für Datensätze mit status = 1 URLs generiert werden sollen. Dies deshalb, da immer mal wieder vergessen wurde im URL-Profil die entsprechende Restriction zu hinterlegen.
Dies aber über yform_usability "hardcoded" zu lösen finde ich den falschen Ansatz. Wenn die Logik gewünscht ist, kann man sicher Projekt-Spezifisch ja über den EP reinhängen, aber aus yform_usability würde ich dies rausnehmen!
Bleibt nur die Problematik bzgl. Backward compatibility. Außer das man im Changelog aktiv drauf hinweist, dass dies ein "breaking change" ist, wüsste ich auf die schnelle keinen anderen Ansatz.
Danke für die Erklärung
Bleibt nur die Problematik bzgl. Backward compatibility. Außer das man im Changelog aktiv drauf hinweist, dass dies ein "breaking change" ist, wüsste ich auf die schnelle keinen anderen Ansatz.
Version anheben im Changelog darauf hinweisen und ab in den Installer.
Hier bei mir auch.
Error: Call to undefined method event_category::addQueryDefaultFilters() File: src\addons\yform_usability\lib\Extensions.php Line: 449
@palber
Unser Intention war es hier, per Default dem URL-Profil mitzugeben, dass nur für Datensätze mit status = 1 URLs generiert werden sollen. Dies deshalb, da immer mal wieder vergessen wurde im URL-Profil die entsprechende Restriction zu hinterlegen.
Ich möchte generell auch URLs generieren können, wenn sie den status = 0
haben oder status = 2
.
Bleibt nur die Problematik bzgl. Backward compatibility. Außer das man im Changelog aktiv drauf hinweist, dass dies ein "breaking change" ist, wüsste ich auf die schnelle keinen anderen Ansatz.
Es war ein Breaking Change, das einzubauen, denn offenbar gehen ja davon Websites beim Updaten kaputt.
Ich habe jetzt Zeile 449 in meinem Projekt jetzt mal auskommentiert. Meine URLs werden mit der Einschraenkung status = 1 erstellt. Sonst sollte das keine Nebenwirkungen haben.
Description / Beschreibung
Der Fehler passiert im Frontend und Backend. Die Klasse Model\News liegt im project AddOn. Weshalb sich jetzt yform_usabiliy da einklinkt, bleibt mir ein Rätsel.
Affected versions / Verwendete Versionen
REDAXO: 5.14.2 PHP: 7.4.29 AddOns:
Did it whoops? / Whoops erhalten?
Error: Call to undefined method Model\News::addQueryDefaultFilters() File: src/addons/yform_usability/lib/Extensions.php Line: 449
Stacktrace
| Function | File | Line | | -------------------------------------------- | ----------------------------------------------------------------- | -------- | | yform\usability\Extensions::ext__urlQuery | src/core/lib/extension.php | 52 | | rex_extension::{closure} | src/core/lib/util/timer.php | 57 | | rex_timer::measure | src/core/lib/extension.php | 63 | | rex_extension::registerPoint | src/addons/url/lib/Url/Profile.php | 680 | | Url\Profile->buildQuery | src/addons/url/lib/Url/Profile.php | 597 | | Url\Profile->getDataset | src/addons/url/lib/Url/Profile.php | 282 | | Url\Profile->buildUrlsByDatasetId | src/addons/url/lib/Url/UrlManager.php | 365 | | Url\UrlManager::getRewriteUrl | src/addons/url/boot.php | 79 | | rex_package->{closure} | src/core/lib/extension.php | 52 | | rex_extension::{closure} | src/core/lib/util/timer.php | 57 | | rex_timer::measure | src/core/lib/extension.php | 63 | | rex_extension::registerPoint | src/addons/structure/functions/function_rex_url.php | 39 | | rex_getUrl | src/addons/project/lib/Model/News.php | 212 | | Model\News->getUrl | src/addons/project/lib/View/News.php | 47 | | View\News::getTeaser | src/addons/project/lib/View/News.php | 74 | | View\News::getLastList | rex:///module/7/output | 46 | | require | var/cache/addons/structure/1.1.content | 472 | | require | src/addons/structure/plugins/content/lib/article_content.php | 123 | | rex_article_content->getArticle | src/addons/project/lib/Page.php | 69 | | Project\Page->getContent | src/addons/project/lib/Page.php | 62 | | Project\Page::get | rex:///template/1 | 10 | | require | src/addons/structure/plugins/content/lib/article_content_base.php | 460 | | rex_article_content_base->{closure} | src/core/lib/util/timer.php | 57 | | rex_timer::measure | src/addons/structure/plugins/content/lib/article_content_base.php | 461 | | rex_article_content_base->getArticleTemplate | src/addons/structure/plugins/content/boot.php | 60 | | rex_package::{closure} | src/core/lib/extension.php | 52 | | rex_extension::{closure} | src/core/lib/util/timer.php | 57 | | rex_timer::measure | src/core/lib/extension.php | 63 | | rex_extension::registerPoint | src/core/frontend.php | 26 | | require | src/core/boot.php | 143 | | require | public/index.php | 12 |