Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Hallo,
gibt es einen Weg, wie man die Zurücksetzung von Templates zum Originaleintrag per Plugin steuern kann?
Ich habe den entsprechenden Code in "admin/modules/style/templates.php" gefunden, aber leider keine Funktion entdeckt, die man via Plugin aufrufen könnte.
Vielleicht hat ja jemand schon Erfahrungen damit gemacht und könnte mir/uns einen Tipp geben.
Danke & Gruß
Sven
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Beim Zurücksetzen wird das Template im entsprechenden Template-Set einfach nur gelöscht (einfaches delete query). Man sollte nur aufpassen, dass man kein Template aus dem Master Template-Set löscht (die sid also größer 0 ist).
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
21.01.2015, 12:38
(Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2015, 12:43 von SvePu.)
OK, also müsste man das technisch so lösen, dass man die entsprechende SID des Templates abfragt und das geänderte Template dann per $db->delete_query() entfernt.
Dadurch wird dann das Master Template wieder aufgerufen, oder?
____________
EDIT:
Oder geht das Gnze auch per Direktangabe des Templatenamens?
PHP-Code:
$templatearray = array(
"postbit",
"postbit_classic"
);
$deltemplates = implode("','", $templatearray);
$db->delete_query("templates", "title in ('{$deltemplates}')");
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Genau.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
21.01.2015, 13:22
(Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2015, 13:28 von SvePu.)
Dann sollte es doch auf diese Weise klappen:
PHP-Code:
$templatearray = array(
"postbit",
"postbit_classic"
);
$deltemplates = implode("','", $templatearray);
$query = $db->query("SELECT tid FROM ".TABLE_PREFIX."templates WHERE title IN ({$deltemplates}) AND sid > 0");
$template = $db->fetch_array($query);
if($template)
{
$db->delete_query("templates", "tid='{$template['tid']}'");
}
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
21.01.2015, 13:23
(Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2015, 13:27 von frostschutz.)
Wozu braucht man das?
Und du kannst das delete query mit den Bedingungen direkt machen... dann löschst du alle und nicht so wie in deinem Fall, irgendeines.
Und dein escape von deltemplates ist falsch, das wird nicht klappen weil du dann nach einem Template suchst das "postbit','postbit_classic" heißt inkl. der ' und , im Namen,
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Ja, den Fehler mit den "deltemplates" hab ich auch gerade entdeckt und geändert.
Es geht mir rein um die Möglichkeit, komplette Original (nicht Custom) - Templates via Plugin wiederherzustellen, wenn man z.B. den gesamten Inhalt eines Templates per Plugin ausgetauscht hat.