Blocks Namensänderung

Hallo :slight_smile:

wenn ich bei einem Block in der metadata.php eine Namensänderung durchführe und das Modul 1x im Admin aktiviert war - wird die Namensänderung nicht mit übernommen…


...

/**
 * Deactivates or activates oxblocks of a module
 *
 * @param string  $sModule Module name
 * @param integer $iStatus 0 or 1 to (de)activate blocks
 *
 * @return null
 */
protected function _changeBlockStatus( $sModule, $iStatus = 0 )
{
  $oDb = oxDb::getDb();
  $sShopId   = $this->getConfig()->getShopId();
  $oDb->execute( "UPDATE oxtplblocks SET oxactive = '".(int) $iStatus."' WHERE oxmodule =". $oDb->quote( $sModule )."AND oxshopid = '$sShopId'" );
}

...

[I]Ausschnitt entnommen aus /core/oxmodule.php OXID CE 4.8.1[/I]

Da das Modul bereits 1x aktiviert war wurden bereits die Block Einträge in der Tabelle “oxtplblocks” angelegt. Dies bedeutet beim erneuten aktivieren wird nur das Feld “oxactive” der bestehenden Block Einträge geupdated.

Probleme:

  1. Wenn man einen Block in der metadata.php umbenennt - finde diese Änderung keine Berücksichtigung.
  2. Wenn man einen weiteren Block in der metadata.php aufnimmt - finde diese Änderung ebenfalls keine Berücksichtigung.

Lösung:
Block Einträge beim deaktivieren aus der “oxtplblocks” Tabelle löschen.

Viele Grüße
indianer3c

Blocks Einträge werden doch schon automatisch gelöscht: https://bugs.oxid-esales.com/view.php?id=4025

Hey Frank :slight_smile:

wenn ich mir die Quellcode Dokumentation anschaue wurde es ab Version 4.8.2 geändert. Genau eine Version weiter :wink:

Viele Grüße
indianer3c