WBCE CMS – Way Better Content Editing.
You are not logged in.
noch was, was mir zu Topics aufgefallen ist:
wenn man es über SectionPicker aufruft, wirft es einen Fehler "There was an unknown exception: Call to a member function get_user_id() on null in line (67) of (/modules/topics/view.php)"
Grund dafür ist offenbar, dass die Variable $admin NULL ist. Im SectionPicker Droplet (bei den Droplets im example-Ordner)
ob_start();
$oldSid = NULL; if (isset($section_id)) $oldSid = $section_id; // save old sectionID
$section_id = $sid;
require(WB_PATH.'/modules/'.$module.'/view.php');
$content = $_sFrontendCss.ob_get_clean();
$section_id = $oldSid; // restore old sectionIDmüsste wie folgt ergänzt werden:
ob_start();
global $wb;
$admin = $wb;
$oldSid = NULL; if (isset($section_id)) $oldSid = $section_id; // save old sectionID
$section_id = $sid;
require(WB_PATH.'/modules/'.$module.'/view.php');
$content = $_sFrontendCss.ob_get_clean();
$section_id = $oldSid; // restore old sectionIDhat das sonst schon jemand beobachtet? Gibt es einen besseren Fix? Vielleicht sind noch mer globale Variablen aus dem Kontext des SectionPickers heraus nicht gesetzt...
Edit: Ich hatte vergessen die Fehlermeldung mit reinzukopieren
Last edited by mrbaseman (28.01.2019 21:40:31)
Offline
Das hängt mit der Frontend-Edit-Funktion von Topics zusammen. Ich denke, aus demselben Grund dürften sich auch andere Module mit Frontenedit (RFG, Wunderblock) dann eher nicht per Sectionpicker inkludieren lassen. Die Frage ist aber, ob das sinnvoll/zielführend ist, gerade ein komplexes Modul wie Topics auf Seite A anzulegen und auf Seite B reinzuziehen.
Wenn es nur an den ungewollten Topics-Beispieleinträgen liegt, dass nicht die Topics-Master-Funktionalität genutzt wird, ist es mMn einfacher, die Topics-Beispieleinträge von Hand zu löschen, zumal, wie im dortigen Thread geschrieben, mir nicht klar ist, wodurch dieses Problem verursacht wird.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Wenn andere Module das Problem auch haben, dann würde es doch Sinn machen, den SectionPicker entsprechend zu korrigieren.
Es sind zwei Zeilen, die bei der regulären Frontend-Ausgabe die admin-Klasse bereitstellen, damit z.B. geprüft werden kann, welche Rechte der angemeldete Benutzer hat. Und wenn ich diese zwei Zeilen im Droplet ergänze, dann kann ich damit zumindest eine Topics Section "Picken" ;-)
Warum ich das tun will: Ich hätte gerne auf der Startseite bestimmte Inhalte, aber nicht jeder meiner Redakteure soll die Startseite editieren können (also z.B. wysiwyg Sections die sich dort befinden, obwohl sie das auf anderen Seiten tun können sollen). Trotzdem sollen sie z.B. Topics-Einträge auf der Startseite veröffentlichen können.
Mag sein, dass sowas mit einem Topics-Master auch geht. Kann der allerdings von einer bestimmten Section Einträge importieren - oder zieht ein Topics-Master generell alle Topics von allen existierenden Topics-Sections rein? Ist letzteres der Fall (und so verstehe ich das momentan), dann wäre die Möglichkeit selektiv eine bestimmte Topics-Section (z.B. von einer versteckten Seite) spiegeln zu könnnen ein Argument für den Ansatz mit SectionPicker. In anderen Anwendungsfällen möchte man vielleicht so eine zusammenfassende Topics-Section, die Beiträge aus der ganzen Webpräsenz an sich zieht und gemeinsam darstellt.
Offline
Es sind zwei Zeilen, die bei der regulären Frontend-Ausgabe die admin-Klasse bereitstellen
Ich bin mir nicht sicher, ob das nicht zu unerwünschten Seiteneffekten führt oder führen kann, sobald man nicht als Superadmin angemeldet ist (siehe https://forum.wbce.org/viewtopic.php?pid=16906#p16906).
Mag sein, dass sowas mit einem Topics-Master auch geht.
Ja. Sonst würde der Master ja wenig Sinn machen.
Erste Möglichkeit: Die im Master erscheinenden Topics verwenden immer ein anderes Bilderverzeichnis (-> Einstellungen der Topics-Seite) als diejenigen, die nicht im Master aufgelistet werden sollen. Das ist die Standardvorgabe "same picture dir".
Zweite Möglichkeit: Es werden beim Master explizit eine oder mehrere Topics-Section-IDs angegeben, aus denen der Master gespeist werden soll, z.B. 23,42
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Ich bin mir nicht sicher, ob das nicht zu unerwünschten Seiteneffekten führt oder führen kann, sobald man nicht als Superadmin angemeldet ist (siehe https://forum.wbce.org/viewtopic.php?pid=16906#p16906).
Der Fix für dieses Problem ist ja mit 5288fcb schon im Branch 1.3.x drin. Wenn
global $wbbereits ein Objekt enthält, wird dieses nicht mehr überschrieben, wenn irgendwo ein neues Objekt der admin-Klasse instanziiert wird, so zum Beispiel in der ResponsiveFG mit der Zeile
$admin = new admin(...)(siehe der von dir zitierte Thread)
Mit den aktuell vorgeschlagenen Zeilen
global $wb;
$admin = $wb;hole ich lediglich dieses Objekt in die Umgebung in der der SectionPicker die view.php der jeweiligen Section auswertet. Übrigens reicht davon die zweite Zeile, weil ganz zu Beginn des Droplets im global-Statement $wb schon drin ist.
Erste Möglichkeit: Die im Master erscheinenden Topics verwenden immer ein anderes Bilderverzeichnis (-> Einstellungen der Topics-Seite) als diejenigen, die nicht im Master aufgelistet werden sollen. Das ist die Standardvorgabe "same picture dir".
Zweite Möglichkeit: Es werden beim Master explizit eine oder mehrere Topics-Section-IDs angegeben, aus denen der Master gespeist werden soll, z.B. 23,42
danke.
Offline
vielleicht auch wichtig zu erwähnen: auf der Seite an der ich gerade arbeite bin ich in der admin-Gruppe, nutze aber normalerweise nicht den Superadmin-Account (es sei denn es geht um ein System-Update o.ä. wo explizit der Superadmin-Account gebraucht wird).
Offline