2012-11-15 5 views
7

मैं एक विजेट आवृत्ति के माध्यम से एक सीएमएस स्थिर ब्लॉक डाल रहा हूं - और मैं अपने विजेट टेम्पलेट के भीतर से स्थिर ब्लॉक शीर्षक के साथ-साथ इसकी सामग्री को आउटपुट करना चाहता हूं। डिफ़ॉल्ट टेम्पलेट (ऐप्स/डिजाइन/दृश्यपटल/आधार/डिफ़ॉल्ट/टेम्पलेट/सेमी/विजेट/static_block/default.phtml) बस है:Magento - इसके ब्लॉक_आईडी से एक सीएमएस स्थिर ब्लॉक का शीर्षक प्राप्त करना?

<?php echo $this->getText(); ?> 

मैं बदल कि GetData() करने के बजाय यह क्या देखने के लिए हड़पने के लिए है, जो पीछा कर रहा है संभव था:

[type] => cms/widget_block 
[block_id] => 11 
[module_name] => Mage_Cms 
[text] => blahblahblah 

तो मेरा अनुमान है कि एक ही रास्ता block_id उपयोग करने के लिए शीर्षक प्राप्त करने के लिए है, लेकिन काफी कैसे को समझ नहीं सकता। मैं $ के साथ block_id को पकड़ सकता हूं-> getBlockId() - लेकिन फिर शीर्षक का उपयोग करने के लिए मैं इसका उपयोग कैसे करूं?

मैं निम्नलिखित काम हो सकता है सोचा था, लेकिन यह नहीं है:

$blockid = $this->getBlockId(); 
$blocktitle = Mage::getModel('cms/page')->load($blockid, 'block_id')->getTitle(); 

उत्तर

9

लगता है निम्न काम करता है:

$blockid = $this->getBlockId(); 
$block = Mage::getModel('cms/block')->load($blockid); 
echo $block->getTitle(); 

हमेशा यहाँ एक सवाल को लिखने के लिए मदद करता है, आधे समय यह लिखा देखकर मुझे जवाब खोजने में मदद करता है!

public function getContactWidgetHtml() 
{ 
    $result = ''; 

    $widget = Mage::getModel('widget/widget_instance')->load(14); 

    if ($widget && $widget->getId()) { 
     $widgetBlock = $this->getLayout() 
      ->createBlock(
       $widget->getType(), 
       $widget->getTitle(), 
       $widget->getWidgetParameters() 
      ); 

     if ($widgetBlock) { 
      $result = $widgetBlock->toHtml(); 
     } 
    } 

    return $result; 
} 

और फिर का उपयोग कर अपने टेम्पलेट में प्रदर्शित:

0

एक वैकल्पिक दृष्टिकोण अपने खंड पर इसके लिए एक समारोह बनाने के लिए है

echo $this->getContactWidgetHtml(); 
1

आप कई दुकानों है और आप के लिए चाहते हैं जिस स्टोर पर आप हैं, वह इस तरह है:

$title = Mage::getModel('cms/block') 
    ->setStoreId(Mage::app()->getStore()->getId()) 
    ->load($blockId) 
    ->getTitle(); 
संबंधित मुद्दे