View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004025 | OXID eShop (all versions) | 2.3. Extensions (modules, themes) | public | 2012-05-10 12:18 | 2014-01-09 15:33 |
Reporter | b.hasis | Assigned To | |||
Priority | high | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.6.0 revision 44406 | ||||
Target Version | 4.7.11 / 5.0.11 | Fixed in Version | 4.7.11 / 5.0.11 | ||
Summary | 0004025: no update of tbl:oxtplblocks by changing module/metadata.php 'blocks' => array() | ||||
Description | If you change block settings in module/metadata.php they are no update of allready exists entries, and new entries in your 'blocks' => array() doesnt insert in Database:oxtplblocks. So its not Possible to patch your Modules. | ||||
Steps To Reproduce | Create a Module with metadata.php Insert a block Activate that Module in adminarea add and update a block in metadata.php You will see no change in Database:oxtplblocks Deactivate/Activate that Module doesnt help. | ||||
Tags | No tags attached. | ||||
Theme | Both | ||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
has duplicate | 0004866 | resolved | Linas Kukulskis | Start page header element (including CSS) disappear after ruining installed PayPal module. |
related to | 0004129 | resolved | Linas Kukulskis | metadata.php changes are not committed right to aModules |
related to | 0005270 | resolved | mantas.vaitkunas | after deactivation still data in db |
child of | 0004942 | closed | SvenBrunk | Changing Module ID will move old module(id) to aDiabledModules and let them stay there until the module directory is deleted |
|
The module handling functionality will be improved for more detailed handling of module entries into DB. Currently it just checks if there are any entries for this module in i.e. oxtplblocks table and if there are - does not insert new entries on module activation. So for now as workaround - you need just delete entries with your module ID from oxtplblocks table and Activate module once again (then it will insert latest entries from metadata file). We will implement more detailed check for those entries in DB in one of soonest eShop versions. |
|
Yes, the only solution for fixing it is to remove entries manually from oxtplblocks and reactivate the modules |
|
Hi people, so, at the moment i get sick by executing "delete from oxtplblocks where OXMODULE = 'module_id'". So, if you only want to press deactivate / active to refresh the Blocks of the module, do this: go to oxmodule::activate() at make this: $this->_addTemplateBlocks( $this->getInfo("blocks") ); // checking if module has tpl blocks and they are installed /*if ( !$this->_hasInstalledTemplateBlocks($sModuleId) ) { // installing module blocks $this->_addTemplateBlocks( $this->getInfo("blocks") ); } else { //activate oxblocks $this->_changeBlockStatus( $sModuleId, "1" ); }*/ Than go to oxmodule::_addTemplateBlocks() and add this $oDb->execute("DELETE FROM oxtplblocks WHERE OXMODULE = '{$sModuleId}' and OXSHOPID = '{$sShopId}'"); after $oDb = oxDb::getDb(); But you will lose your oxpos for the blocks. |
|
there is a nice module available including the needed function to delete oxtplblocks: http://vanilla-thunder.github.io/vt-devutils/ |
|
on deactivation all block will be removed from db |