2012-03-05 18 views
6

Cerco di riscrivere il file core da Magento. In qualche modo non sovrascrive il codice. Provo a sovrascrivere la funzione getProduct().Magento: il blocco riscrittura non funziona

Tipfix/blocchi/prodotto/view.php

<?php 

class WP_Tipfix_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View 
{ 

    public function getProduct() 
    { 

     if (!Mage::registry('product') && $this->getProductId()) { 
      $product = Mage::getModel('catalog/product')->load($this->getProductId()); 
      Mage::register('product', $product); 
     } 

     //return Mage::registry('product'); 
    } 
} 

Tipfix/etc/config.xml

<blocks> 
    <WP_Tipfix> 
     <class>WP_Tipfix_Block</class> 
    </WP_Tipfix> 
    <catalog> 
     <rewrite> 
      <product_view>WP_Tipfix_Block_Catalog_Product_View</product_view> 
     </rewrite> 
    </catalog> 
</blocks> 

devo sapere idea di cosa sto facendo male.

gr. Lex

+0

FYI il gruppo di classe '' non è necessario a meno che non si stiano creando classi di blocchi. – benmarks

risposta

9

La classe è WP_Tipfix_Block_Catalog_Product_View che significa che deve essere nella cartella WP/Tipfix/Block/Catalog/Product/View.php. È necessario spostare la directory del prodotto in una nuova directory denominata catalogo in quel luogo o rinominare la classe (sia la classe che nell'XML) su WP_Tipfix_Block_Product_View. Raccomando di spostare il file.

+0

Grazie per la vostra informazione! – Lexperts

3

Si prega di modificare il contenuto config.xml del modulo a questo, e sono sicuro che dovrebbe funzionare: -

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <modules> 
     <WP_Tipfix> 
      <version>1.0.0</version> 
     </WP_Tipfix> 
    </modules> 

    <global> 
     <blocks> 
      <wptipfix> 
       <class>WP_Tipfix_Block</class> 
      </wptipfix> 

      <catalog> 
       <rewrite> 
        <product_view>WP_Tipfix_Block_Catalog_Product_View</product_view> 
       </rewrite> 
      </catalog> 
     </blocks> 
    </global> 
</config> 

Speranza che aiuta.


UPDATE: - Dopo commento di Ben s', sento che avrei detto che l'OP deve anche utilizzare la soluzione come detto da Max nel suo answer. Quindi l'OP avrà bisogno di uno sforzo congiunto per risolvere il suo problema.

+1

Grazie a te che hai risolto il problema. Grande! – Lexperts

+0

Saluti e benvenuti! –

+0

Questa soluzione * non ha * potuto risolvere il problema in base al codice originale dell'OP. – benmarks

Problemi correlati