WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Auf einer Webseite (WBCE 1.3.1, php 7.0) verwende ich das Template "Simple Responsive".
Da läuft auch das Modul 404 von Chio.
Beim aufrufen jeder Seite zeigt mir das Modul, dass die /modules/wysiwyg/frontend.css nicht gefunden wurde.
Woran kann es liegen?
P.S. Ich betreue mehrere Webseiten mit WBCE, die Datei /modules/wysiwyg/frontend.css gibt es nirgendwo. Diese Fehlermeldung gibt es nur bei dieser Webseite.
Beitrag geändert von florian (29.12.2018 08:51:35)
Offline
Woran kann es liegen?
An der nicht vorhandenen Datei, die es gar nicht gibt.
It's a Feature not a Bug!
Die Meldung sagt nur aus dass jemand diese Datei im Browser aufrufen möchte.
Edit: siehe https://wbce.at/de/topics/mod404plus.php
Beitrag geändert von colinax (19.11.2018 13:06:41)
Offline
Diese Meldung erscheint jedes Mal, wenn ich selbst jede beliebige Seite bei dieser Webseite aufrufe.
Es scheint so, dass der Verweis auf diese nicht vorhandene Datei irgendwo im Template generiert wird.
Die Frage ist: wo?
Beitrag geändert von kleo (19.11.2018 13:39:10)
Offline
Hast du einem Link zur Seite?
Denn wenn das so sein sollte, muss es im Quellcode ersichtlich sein.
Offline
s. PM
Offline
Hi, ja der Fehler ist im head des Templates ca. Zeile 53 <link href="http://www.domain.de/modules/wysiwyg/frontend.css" rel="stylesheet" type="text/css" media="screen" />
Offline
Im Quelltext sehe ich diesen Verweis, aber im Template selbst finde ich keinen direkten Verweis auf frontend.css.
In keiner Datei der Template gibt so was!
Hm...
Beitrag geändert von kleo (19.11.2018 14:23:13)
Offline
Kannst du mir einen BE-Zugang schicken, dann schaue ich es mir direkt an.
Offline
Im Quelltext sehe ich diesen Verweis, aber im Template selbst finde ich keinen direkten Verweis auf frontend.css.
In keiner Datei der Template gibt so was!
Hm...
Das kommt daher, weil diese Datei über die Funktion register_frontend_modfiles('css') in das HTML der Seite eingespeist wird.
Diese Funktion schaut nach frontend.css Dateien in auf der Seite verwendeten Modulen und wenn sie vohanden sind, werde sie in's HTML geschrieben.
Sie sollten aber nicht eingebunden werden, wenn sie im Modulverzeichnis nicht vorhanden sind.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
register_frontend_modfiles('css') kann es aber nicht sein, da diese Files mit relativem Pfad angeben werden.
Die wysiwyg/frontend.css wird aber wie in #6 mit absolutem Pfad dargestellt und laut Netzwerkanalyse wird auch mehrfach versucht diese File zu laden.
Offline
Ich habe heute noch mal überprüft, diese Meldung wird auch bei einem anderen Template (Hortal) gezeigt. Es liegt hochwahrscheinlich nicht an dem Template selbst.
Aber wo denn?...
P.S. Ich habe auch das ganze Verzeichnis mit dem installierten WBCE nach dem Ausdruck "wysiwyg/frontend.css" durchgesucht: in dieser Form gibt es niergendwo...
Beitrag geändert von kleo (20.11.2018 21:06:39)
Offline
Benutzt Du da evtl. das Sectionpicker-Droplet oder das Sectionpicker-Modul, um WYSIWYG-Sections von anderen Abschnitten zu laden?
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ja, in der Fußzeile. Ich probiere jetzt dies zu deaktivieren.
Offline
Es scheint, dass es an dem Sectionspicker leigt.
Ich habe es aus der Fusszeile bei Einstellungen entfernt, und es gibt jetzt keine von diesen Meldungen.
Hm...
Soll ich versuchen den Sectionspicker in das Template zu integrieren?
Oder gleich im Template den Inhalt der Fusszeile "fest" eingeben?
Ich habe den Inhalt der Fusszeile gleich im Template eingegeben.
Jetzt gibt es keine Meldungen von der fehlenden Datei frontend.css-
Danke Florian!!!
P.S. Vielleicht sollte man den Sectionspicker unter die Lupe nehmen und schauen, was für dieses Erreignis verantwortlich ist.
Beitrag geändert von kleo (20.11.2018 22:57:28)
Offline
Vielleicht sollte man den Sectionspicker unter die Lupe nehmen und schauen, was für dieses Erreignis verantwortlich ist.
Welchen Sectionspicker & Version hast du genommen, es gibt mehrere davon?
Offline
Entschuldigung!!
Hier ist die Code von dem verwendeten SectionsPicker Droplett:
[== PHP ==]
global $database, $wb, $TEXT, $DGTEXT;
$content = '';
$_sFrontendCss = '';
$sid = isset( $sid) ? intval( $sid) : 0;
if ( intval( $sid) > 0) {
$now = time();
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'sections` `s`'
. 'WHERE `section_id` = '.( int)$sid.' '
. 'AND ('
. '('.$now.'>=`publ_start` OR `publ_start`=0) AND '
. '('.$now.'<=`publ_end` OR `publ_end`=0) '
. ')'
. '';
$sql = 'SELECT `s`.*'
. ', `p`.`viewing_groups`'
. ', `p`.`visibility`'
. ', `p`.`menu_title`'
. ', `p`.`link` '
. 'FROM `'.TABLE_PREFIX.'sections` `s`'
. 'INNER JOIN `'.TABLE_PREFIX.'pages` `p` '
. 'ON `p`.`page_id`=`s`.`page_id` '
. 'WHERE `s`.`section_id` = '.( int)$sid.' '
. 'AND ('
. '('.$now.'>=`s`.`publ_start` OR `s`.`publ_start`=0) AND '
. '('.$now.'<=`s`.`publ_end` OR `s`.`publ_end`=0) '
. ')'
. 'AND `p`.`visibility` NOT IN (\'none\',\'hidden\',\'deleted\') '
. ' ';
if ( $oSection = $database->query( $sql)) {
while ( $aSection = $oSection->fetchRow( MYSQLI_ASSOC)) {
$section_id = $aSection['section_id'];
$module = $aSection['module'];
ob_start();
require ( WB_PATH.'/modules/'.$module.'/view.php');
$content = ob_get_clean();
$_sFrontendCss = '/modules/'.$module.'/frontend.css';
$_sFrontendCssrUrl = WB_URL.$_sFrontendCss;
$_sSearch = preg_quote( WB_URL.'/modules/'.$module.'/frontend.css', '/');
if ( preg_match( '/<link[^>]*?href\s*=\s*\"'.$_sSearch.'\".*?\/>/si', $content)) {
$_sFrontendCss = '';
} else {
$_sFrontendCss = '<link href="'.WB_URL.$_sFrontendCss.'" rel="stylesheet" type="text/css" media="screen" />';
}
}
}
}
return $_sFrontendCss.$content;
Beitrag geändert von kleo (21.11.2018 16:16:36)
Offline
das ist das searchbox -Droplet
Beitrag geändert von florian (21.11.2018 16:22:14)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Entschuldigung!
Oben ist jetzt die korrekte Code!
Es kommt wahrscheinlich von einer dieser Zeilen:
$_sFrontendCss = '/modules/'.$module.'/frontend.css';
$_sSearch = preg_quote( WB_URL.'/modules/'.$module.'/frontend.css', '/');
Beitrag geändert von kleo (21.11.2018 16:21:12)
Offline
Das Standard-Sectionpicker-Droplet sieht so aus:
global $database, $wb, $TEXT, $DGTEXT,$section_id,$page_id;
$content = '';
$sid = isset($sid) ? intval($sid) : 0;
if( $sid ) {
$oldSid = $section_id; // save old sectionID
$sql = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
$sql .= 'WHERE `section_id`='.$sid;
if (($module = $database->get_one($sql))) {
if (is_readable(WB_PATH.'/modules/'.$module.'/view.php')) {
$_sFrontendCss = '/modules/'.$module.'/frontend.css';
if(is_readable(WB_PATH.$_sFrontendCss)) {
$_sSearch = preg_quote(WB_URL.'/modules/'.$module.'/frontend.css', '/');
if(preg_match('/<link[^>]*?href\s*=\s*\"'.$_sSearch.'\".*?\/>/si', $wb_page_data)) {
$_sFrontendCss = '';
}else {
$_sFrontendCss = '<link href="'.WB_URL.$_sFrontendCss.'" rel="stylesheet" type="text/css" media="screen" />';
}
} else { $_sFrontendCss = ''; }
$section_id = $sid;
ob_start();
require(WB_PATH.'/modules/'.$module.'/view.php');
$content = $_sFrontendCss.ob_get_clean();
$section_id = $oldSid; // restore old sectionID
}
}
}
return $content;
D.h. in Deinem müsste noch eine is_readable-Abfrage ergänzt werden
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ich habe die Droplets-Version V2.2.4 und ich habe da nichts geändert.
Und der Updatechecker zeigt mir, dass die Droplets aktuell sind!
Beitrag geändert von kleo (21.11.2018 16:57:54)
Offline
Ich habe diese Webseite von der vorherigen WBCE-Version (ich glaube es was 1.2.0) auf 1.3.1 aktualisiert.
Das Modul Droplets wurde wahrscheinlich automatisch aktualisiert, die einzelne Droplets (examples) aber nicht.
Offline
Verwendest du zufällig Filezilla als FTP Programm?
Beitrag geändert von colinax (21.11.2018 17:40:59)
Offline
@colinax: Das hat damit nichts zu tun, glaube ich
@kleo: it's a feature, not a bug. Wenn beim Aktualisieren des Droplet-Moduls alle angelegten droplets überschrieben würden, würden ja auch eventuelle Anpassungen verloren gehen.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
colinax
@kleo: it's a feature, not a bug. Wenn beim Aktualisieren des Droplet-Moduls alle angelegten droplets überschrieben würden, würden ja auch eventuelle Anpassungen verloren gehen.
Hab gerade getestet, nur bei der Droplets Installation werden die Files aus dem Examples Ordner gelesen, alles andere passiert innerhalb der DB.
Offline
O.K.
Es ist eigentlich eine philosophische Frage der Aktualisierung: alte Presets so lassen wie sie sind, oder die Presets aktualisieren?
Offline