2012-06-14 2 views
2

У меня есть статический блок, который я бы хотел обновить скриптом, который запускается через cron.Magento - программно сохранить содержимое статического блока

Я узнал, как создавать или извлекать блок программно, но не как редактировать существующий.

Это работает для извлечения блока:

// Retrieve the layout object 
$layout = Mage::getSingleton('core/layout'); 

// Generate a CMS block object 
$block = $layout->createBlock('cms/block'); 

// Set the block ID of the static block 
$block->setBlockId('my_block_id'); 

// Write the static block content to screen 
echo $block->toHtml(); 

Я думаю, что я что-то просто не хватает здесь, но делать setContent(), а затем сохранить() на этот блок просто приводит «Invalid метод Mage_Cms_Block_Block :: сохранить»

ответ

7

блока ID:

Mage::getModel('cms/block')->load($id) 
    ->setData('content', 'Example content') 
    ->save(); 

идентификатор:

Mage::getModel('cms/block') 
    ->getCollection() 
    ->addFieldToFilter('identifier', 'my_block_id') 
    ->load() 
    ->setData('content', 'Example content') 
    ->save(); 
+0

Спасибо, это отлично работает. – jsims281

6
$identifier = 'footer_links'; 
Mage::getModel('cms/block') 
    ->load($identifier, 'identifier') 
    ->setData('content', 'Your new block content') 
    ->save() 
; 

Или, если вы знаете, блок ID:

$id = 1; 
Mage::getModel('cms/block') 
    ->load($id) 
    ->setData('content', 'Your new block content') 
    ->save() 
; 
+0

Спасибо, это отлично работает, диНорд просто избил тебя до ответа, хотя я дам ему согласие! – jsims281

0

Update и добавьте статический блок, используя Magento скрипты

function createBlock($blockData) { 

$block = Mage::getModel('cms/block')->load($blockData['identifier']); 
$block->setTitle($blockData['title']); 
$block->setIdentifier($blockData['identifier']); 
$block->setStores(array($blockData['storeId'])); 
$block->setIsActive($blockData['active']); 
$block->setContent($blockData['content']); 
$block->save(); 

}

смотрите мой блог на шаг за шагом описание

http://www.pearlbells.co.uk/how-to-create-and-update-the-static-blocks-using-magento-script/

Смежные вопросы