Antwort #23 am: 07. Juni 2016, 12:23:46
Das mit der Deinstalltionsroutine ist kein Problem, Beipsiel für das Wishlist Modul
1. in der Installmethode eine zusätzliche Auswahlfeld anlegen (Default = false)
xtc_db_query("INSERT INTO " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_WISHLIST_SYSTEM_UNINSTALL_DB', 'false', '6', '1', 'xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
2. in __construct() diese Zeile nach der Statuszeile einfügen:
$this->uninstall_new_db_fields = ((MODULE_WISHLIST_SYSTEM_UNINSTALL_DB == 'true') ? true : false);
3. und in der remove Methode:
if ($this->uninstall_new_db_fields) {
xtc_db_query("DROP TABLE `customers_wishlist`");
xtc_db_query("DROP TABLE `customers_wishlist_attributes`");
}
4. Sprachdateien ergänzen:
define('MODULE_WISHLIST_SYSTEM_UNINSTALL_DB_TITLE', 'Datenbanken beim Deinstallieren löschen?');define('MODULE_WISHLIST_SYSTEM_UNINSTALL_DB_DESC', 'Sollen die Merkzettel Datenbanken beim Deinstallieren diese Moduls gelöscht werden?'); Damit werden die wishlist DB Tabellen nur gelöscht wenn das vorher aktiviert wird.