2013-04-04 165 views
1

我在互聯網上搜索,沒有找到解決方案。Magento將自定義選項卡添加到產品視圖

我想要做的是做一個表格信息系統,類似於magento modern中存在的產品描述和其他附加信息。我設法用javascript做了功能性標籤。但問題是,在我添加了我在下面描述的標籤之後,整個頁面崩潰了,所以我不知道我做錯了什麼。

守則Tabs.phtml內:

<ul class="product-tabs"> 
    <?php foreach ($this->getTabs() as $_index => $_tab): ?> 
     <?php //if($this->getChildHtml($_tab['alias'])): ?> 
      <li id="product_tabs_<?php echo $_tab['alias'] ?>" class="<?php echo !$_index?' active first':(($_index==count($this->getTabs())-1)?' last':'')?>"><a href="#" onclick="return false;"><?php echo $_tab['title']?></a></li> 
     <?php //endif; ?> 
    <?php endforeach; ?> 
</ul> 
<?php foreach ($this->getTabs() as $_index => $_tab): ?> 
    <?php //if($this->getChildHtml($_tab['alias'])): ?> 
     <div class="product-tabs-content" id="product_tabs_<?php echo $_tab['alias'] ?>_contents"><?php echo $this->getChildHtml($_tab['alias']) ?></div> 
    <?php //endif; ?> 
<?php endforeach; ?> 

所以我想在產品視圖選項卡中添加一些標籤。 這裏是我的XML文件中的代碼:

<block type="catalog/product_view_tabs" name="product.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml"> 
       <action method="addTab" translate="title" module="catalog"> 
        <alias>description</alias> 
        <title>Definition</title> 
        <block>catalog/product_view_description</block> 
        <template>catalog/product/view/description.phtml</template> 
       </action> 

       <action method="addTab" translate="title" module="catalog"> 
        <alias>technical</alias> 
        <title>Technical Specification</title> 
        <block>catalog/product_view_technical</block> 
        <template>catalog/product/view/technical.phtml</template> 
       </action> 

       <action method="addTab" translate="title" module="catalog"> 
        <alias>shipping</alias> 
        <title>Shipping</title> 
        <block>catalog/product_view_shipping</block> 
        <template>catalog/product/view/shipping.phtml</template> 
       </action> 

      </block> 

,這裏是錯誤,我得到:

Stack trace: 
#0 /home/mihaip/work/magentotest/app/code/core/Mage/Core/Model/Layout.php(495): Mage::throwException('Invalid block t...') 
#1 /home/mihaip/work/magentotest/app/code/core/Mage/Core/Model/Layout.php(437): Mage_Core_Model_Layout->_getBlockInstance('catalog/product...', Array) 
#2 /home/mihaip/work/magentotest/app/code/core/Mage/Catalog/Block/Product/View/Tabs.php(59): Mage_Core_Model_Layout->createBlock('catalog/product...', 'shipping') 
#3 [internal function]: Mage_Catalog_Block_Product_View_Tabs->addTab('shipping', 'Shipping', 'catalog/product...', 'catalog/product...') 
#4 /home/mihaip/work/magentotest/app/code/core/Mage/Core/Model/Layout.php(348): call_user_func_array(Array, Array) 
#5 /home/mihaip/work/magentotest/app/code/core/Mage/Core/Model/Layout.php(214): Mage_Core_Model_Layout->_generateAction(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element)) 

當我取出技術航運操作一切正常。 .. 我在這裏做錯了什麼?

感謝

+0

嗨,你有沒有文件到位?我的意思是正確的路徑,phtml和php塊文件? – 2013-04-04 12:29:21

+0

你好,我在正確的道路上創建了phtml文件。在目錄/產品/視圖中。 我不確定關於來自「管理屬性集」的php塊文件 – 2013-04-04 12:31:33

+0

,有一個選項用於添加選項卡。嘗試一下 – Dolly 2013-04-04 13:46:08

回答

3

這些模塊,模塊和它們的類不存在的Magento應用/代碼/核心/法師/

<block>catalog/product_view_technical</block> 
<block>catalog/product_view_shipping</block> 

如果您尚未創建自定義模塊與這些路徑和類,而不是這些錯誤的根源。您創建了模板視圖,但尚未在塊標籤之間指定的路徑中創建控制器。

你有兩個選擇:

  1. 創建一個模塊,將處理您的自定義請求
  2. 重用現有的控制器來爲您的數據和塊部指定
指定它們的路徑

從Alan Storm瞭解更多關於這個概念的信息
http://alanstorm.com/magento_controller_hello_world

相關問題