2012-02-19 16 views
8

estoy tratando de crear un módulo de ayuda personalizada en Magento pero yo estoy recibiendo el siguiente error cuando llamo desde una página:Llamar a una clase de ayuda en Magento

Warning: include(Mage/SEO/Helper/Data.php) [function.include]: failed to open stream: No such file or directory in /home/strailco/1stclassholidays.com/html/lib/Varien/Autoload.php on line 93 

De la plantilla que estoy usando lo siguiente para llamar al módulo de ayuda:

<?php echo Mage::helper('SEO')->getFullProductUrl($product); ?> 

el módulo de ayuda se establece en:

/app/code/local/SEO/Fullurl/Helper/Data.php 
/app/code/local/SEO/Fullurl/etc/config.xml 

Data.php llama º función de correo:

<?php 

class getFullProductUrl { 

public function getFullProductUrl($product) 
{ 
} 

tengo mi config.xml establecido así:

<?xml version="1.0"?> 
<config> 
    <global> 
     <helpers> 
     <SEO> 
     <class>getFullProductUrl</class> 
     </SEO> 
     </helpers> 
    </global> 
</config> 

Creo que el problema es la forma en que he configurar el config.xml pero estoy luchando para encontrar la manera correcta de hacer esto.

Estaría muy agradecido de cualquier ayuda que pudiera brindar. He estado trabajando en esto por un par de días pero no puedo hacerlo funcionar.

Muchas Gracias

Jason

+0

Tengo un error similar con otros módulos: ERR (3): Advertencia: incluir (Mage/Adjgiftreg/Helper/Data.php): no se pudo abrir la secuencia: No existe ese archivo o directorio en ... ¿dónde? llamar a echo Mage :: helper ('SEO') -> getFullProductUrl ($ product); ?? – Leoh

Respuesta

20

Su primer problema es el config.xml. Tienes que decirle a Magento qué clase estás usando.

...Other Stuff... 
<global> 
    ...Other Stuff... 
    <helpers> 
    <SEO> 
     <class>SEO_Fullurl_Helper</class> 
    </SEO> 
    </helpers> 
    ...Other Stuff... 
</global> 
...Other Stuff... 

Entonces usted necesita un ayudante en app/code/local/SEO/Fullurl/Helper/Data.php que tiene este aspecto:

class SEO_Fullurl_Helper_Data extends Mage_Core_Helper_Abstract 
{ 

    function getFullProductUrl($product) 
    { 
    } 
} 

entonces usted puede hacer echo Mage::helper('SEO')->getFullProductUrl($product);

+0

Gracias por la respuesta: en config.xml cuando dices "otras cosas ..." ¿a qué te refieres? ¿Me estoy perdiendo algo del archivo? –

+1

¡Te estás perdiendo un montón de cosas! Lea http://alanstorm.com/magento_config para obtener más información sobre los archivos de configuración. Si desea Bloques, Controladores o Modelos, deberá declararlos en config.xml también. Lea más en http://alanstorm.com/category/magento – Max

1

me había perdido la etapa de añadir el módulo a app/etc/modules /SEO_Fullurl.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <SEO_Fullurl> 
      <active>true</active> 
      <codePool>local</codePool> 
     </SEO_Fullurl> 
    </modules> 
</config> 

espero que esto ayude a alguien, he error fácil de hacer.

Cuestiones relacionadas