2012-05-22 15 views
5

En magento puede crear nuevos atributos (que luego se agregan a grupos de atributos que los productos heredan) con ciertos tipos."Tipo de entrada de catálogo personalizado para el propietario de tienda" para atributos de productos magento

Las opciones predeterminadas (textfield/area, data, boolean) son bastante limitadas y me gustaría agregar las mías, completas con el renderizador de campo back-end y su propia validación. Esto para crear un campo de Youtube que acepte un rango de URLs que se transforman solo en la ID de youtube.

Pero realmente me gustaría una buena explicación sobre cómo agregar tu propio "Tipo de entrada de catálogo para el propietario de la tienda". He visto otros complementos hacerlo, pero cavar en el código es tedioso y esto es definitivamente algo que también interesa a otras personas (la pregunta se hace mucho en la web).

He estado buscando por un tiempo, pero fue en vano, voy a seguir buscando la respuesta hasta que lo encuentre sin embargo.

tl; dr

Así que mi pregunta es: ¿Cómo añadir un "catálogo de tipos de entrada para el propietario de la tienda", tal vez con una referencia de cómo agregar una validación personalizada a este tipo de campo. Esto en el estilo MVC adecuado, por lo que no es posible editar los archivos centrales si es posible.

puntos de bonificación para ser elaborados, explicaciones genéricas & ejemplos de código, que otorgará una recompensa basado en la calidad de la respuesta, si vale la pena (ya que esto se ser aplicable a una audiencia más grande).

Respuesta

2

Disculpe, no tengo tiempo para escribir una respuesta larga. Los siguientes 4 observadores del módulo Wee le darán las instrucciones necesarias:

<config> 
    <global> 
     <events> 
      <catalog_entity_attribute_save_before> 
       <observers> 
        <weee> 
         <type>model</type> 
         <class>weee/observer</class> 
         <method>assignBackendModelToAttribute</method> 
        </weee> 
       </observers> 
      </catalog_entity_attribute_save_before> 
     </events> 
    </global> 
... 

    <adminhtml> 
     <events> 
      <adminhtml_catalog_product_edit_prepare_form> 
       <observers> 
        <weee> 
         <class>weee/observer</class> 
         <method>setWeeeRendererInForm</method> 
        </weee> 
       </observers> 
      </adminhtml_catalog_product_edit_prepare_form> 
      <adminhtml_product_attribute_types> 
       <observers> 
        <weee> 
         <type>model</type> 
         <class>weee/observer</class> 
         <method>addWeeeTaxAttributeType</method> 
        </weee> 
       </observers> 
      </adminhtml_product_attribute_types> 
      <adminhtml_catalog_product_edit_element_types> 
       <observers> 
        <weee> 
         <class>weee/observer</class> 
         <method>updateElementTypes</method> 
        </weee> 
       </observers> 
      </adminhtml_catalog_product_edit_element_types> 
     </events> 
    </adminhtml> 
</config> 
Cuestiones relacionadas