Modify ↓
#840 closed Erweiterung (fixed)
Autoinclude - Shopversion als Config-Konstante
| Reported by: | Volker Strähle | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.2.0 |
| Component: | Shop | Version: | 2.0.0.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Ich sehe, dass immer wieder mal neue Möglichkeiten für Autoinclude hinzugefügt werden.
Ein Modul für Version modified 2 muss dann nicht unbedingt wie erwartet laufen, wenn ein Verzeichnis fehlt oder verschoben wurde bzw. von der vorliegenden Shopversion gar nicht ausgelesen wird.
Hier sollte man die Rev. des Shops auslesen können und in den Moduldateien vergleichen. Etwa so:
defined('_VALID_XTC') or die('Direct Access to this location is not allowed.');
if(defined('SHOP_VERSION_REV') && SHOP_VERSION_REV > 9677){
// start module-code here
}else{
trigger_error('Shopversion vor Module to small');
}
SHOP_VERSION_REV wird mit jedem Update des Shops in der Tabelle configuration aktualisiert.
Attachments (0)
Change History (10)
comment:2 by , 9 years ago
| Milestone: | modified-shop-2.0.1.0 → modified-shop-2.0.1.1 |
|---|
comment:3 by , 9 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Shopversion ist bereits per Funktion check_version_update() abrufbar, die folgendes Array zurück gibt:
return array(
'update' => $update_recomended,
'version' => $check_version,
'version_installed' => $version,
);
Note:
See TracTickets
for help on using tickets.

Shopversion 2.0.0.0 - Neues für Module
Nicht nur die Shopversion ist wichtig, sondern auch die Versionen der installierten Module.
Evtl. könnte man die Tabelle database_version hierfür nutzen und erweitern:
CREATE TABLE `database_version` ( `module_key` varchar(100) COLLATE latin1_german1_ci NOT NULL, `version` varchar(32) COLLATE latin1_german1_ci NOT NULL, `revision` int(11) NOT NULL ); -- -- Daten für Tabelle `database_version` -- INSERT INTO `database_version` (`module_key`, `version`, `revision`) VALUES('database', 'MOD_2.0.0.0', 9678);Für jedes Modul kann dann ein Key angelegt und überprüft werden.