Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Hallo zusammen,
ich bin gerade dabei, meine Plugins aber auch MODs für MyBB 1.8 anzupassen. Das funktioniert so weit ganz gut, auch wenn es gerade bzgl. Style ein wenig gewöhnungsbedürftig ist.
Nun bin aber auf ein Problem gestoßen, dass ich einfach nicht gelöst bekomme. In dem ein oder anderen Plugin habe ich Stylesheets integriert, die bislang mittels folgender Zeilen über das Plugin im Theme integriert wurden
PHP-Code: $css = array( "name" => "my_plugin.css", "tid" => 1, "attachedto" => "usercp.php|my_plugin.php", "stylesheet" => ".usercp_nav_my_plugin {.....}", "cachefile" => $db->escape_string(str_replace('/', '', 'my_plugin.css')), "lastmodified" => TIME_NOW );
require_once MYBB_ADMIN_DIR."inc/functions_themes.php";
$sid = $db->insert_query("themestylesheets", $css); $db->update_query("themestylesheets", array("cachefile" => "css.php?stylesheet=".$sid), "sid = '".$sid."'", 1);
$tids = $db->simple_select("themes", "tid"); while($theme = $db->fetch_array($tids)) { update_theme_stylesheet_list($theme['tid']); }
Da tut sich aber nun nichts mehr. Ich komme einfach nicht darauf, was sich bei 1.8 bzgl. Integration von Stylesheets geändert hat und würde mich über Tipps freuen.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Funktioniert die stylesheet() Funktion von PluginLibrary noch?
PHP-Code: $PL->stylesheet("my_plugin", ".usercp_nav_my_plugin {.....}", "usercp.php|my_plugin.php");
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Hallo frostschutz,
ja, mit Hilfe der stylesheet() Funktion aus der PluginLibrary würde es funktionieren.
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Die update_theme_stylesheet_list() funktioniert in 1.8 nicht mehr wie gewohnt, du musst zwei weitere Parameter 0,1 dranhängen. Ansonsten wird der Cache nicht richtig aktualisiert. Alternativ kann man auch im ACP auf "save stylesheet order" klicken, dann wirds auch aktualisiert...
Warum dieser Parameter default-aus ist und warums ohne nicht funktioniert und was da überhaupt passiert - muss ich mir noch näher anschauen.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
31.08.2014, 12:46
(Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2014, 22:07 von Jockl.)
Mittlerweile wurde es ein wenig dubioser....
Nachdem ich das mit dem PluginLibrary probiert und den Hinweis von Dir gelesen hatte, wollte ich das nun ohne PluginLibrary aber mit den zusätzlichen Parametern testen. Leider hat das nicht funktioniert, aber das Stylesheet hat sich mit dem von mir oben geschriebenen Code-Schnippsel nun doch erstaunlicherweise installieren lassen!? Dachte erst, dass es evtl. etwas mit dem Cache zu tun hatte, aber das kann ich fast ausschließen.
Komisch....
Es muss doch etwas mit Cache zu tun haben. Nach einer Neuinstallation klappte es wieder nicht. Nur mit der PluginLibrary aber nicht mit den zusätzlichen Parametern...
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
05.09.2014, 10:40
(Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2014, 17:18 von StefanT.)
Kannst du bitte einmal folgenden Code probieren:
PHP-Code: $css = array( "name" => "my_plugin.css", "tid" => 1, "attachedto" => "usercp.php|my_plugin.php", "stylesheet" => ".usercp_nav_my_plugin {.....}", "cachefile" => "my_plugin.css", "lastmodified" => TIME_NOW );
require_once MYBB_ADMIN_DIR."inc/functions_themes.php";
$sid = $db->insert_query("themestylesheets", $css);
$query = $db->simple_select("themes", "*", "tid=1"); $theme = $db->fetch_array($query); if(!cache_stylesheet($theme['tid'], $css['name'], $css['stylesheet'])) { $db->update_query("themestylesheets", array('cachefile' => "css.php?stylesheet={$sid}"), "sid='{$sid}'", 1); }
update_theme_stylesheet_list($theme['tid'], $theme, true);
Das basiert auf dem Code, den das MyBB zum Anlegen neuer Stylesheets verwendet.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Danke für den Tipp, Stefan.
Leider hat das aber keine Auswirkungen. Das Stylesheet wird nicht erzeugt. Stattdessen wirft es mir die Reihenfolge der MyBB Stylesheets kräftig durcheinander....
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Entschuldigung, ich habe noch einen Fehler im Code oben behoben.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Super, das funktioniert jetzt soweit.
Aber noch etwas:
Bei einer nachträglichen Bearbeitung eines Stylesheets im ACP wird dieses zwar als erfolgreich bearbeitet gemeldet, aber nach einem erneuten Klick auf .../admin/index.php?module=style-themes erscheint die Meldung "Sie haben ein ungültiges Theme ausgewählt. ". Aber man kann dann normal weiter arbeiten.....
|