2011-02-08 28 views
6

Nie mogę zlokalizować statycznych bloków CMS w bazie danych. Gdzie oni są?Gdzie są przechowywane statyczne bloki CMS Magento?

Powodem, dla którego muszę to wiedzieć, jest to, że po przeniesieniu bazy danych i plików motywów z lokalnej instalacji do mojej instalacji dev-install, blok się nie aktualizuje i muszę je odtworzyć dla każdej instalacji .

Kolejne pytanie brzmi: jak je utworzyć programowo?

EDYCJA: Jeśli ktoś stwierdzi, że pytanie jest niejasne, wiem, jak utworzyć blok statyczny w zapleczu Magento. Pytanie tylko, gdzie są przechowywane w systemie plików/plików Magento db?

+0

Proszę odnieść się do tego linku http://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-and-edit-static-blocks –

Odpowiedz

19

Bloki są przechowywane w tabeli bazy danych cms_block. Ale nie musisz wiedzieć, że jeśli zamierzasz je programować.

$newBlock = Mage::getModel('cms/block') 
      ->setTitle('This is the title') 
      ->setContent('This is the content') 
      ->setIdentifier('an-identifier') 
      ->setIsActive(true) 
      ->setStores(array(1)) // see Sergy's comment 
      ->save(); 
+4

nowo utworzony blok nie będzie wyświetlany, jeśli blok jest nie przypisane do żadnego sklepu. Dodaj "-> setStores (array (1))" przed wywołaniem zapisu, gdzie 1 jest domyślnym id store_id. Tak więc blok pojawi się na frontend – Sergey

7

Są w tabeli db cms_block jak w zegarku maniakiem powiedział, ale należy pamiętać, że jeśli dodać je do db poprzez SQL (za pomocą modułu zainstalować skrypt na przykład) trzeba także dodać nowo utworzone blokuje id i identyfikator sklepu do tabeli cms_block_store lub blok nie pojawi się.