Pregunta

¿Cómo puedo permitir SKU ser más largo de 34 caracteres (para productos simples) para todos los productos?

Cuando agrego nuevo producto (simple) y entro en más de 34 caracteres, Magento lo corta a 34 después de guardar.

En la base de datos de los atributos 'SKU' (para el artículo quete, posición de pedido, posición de factura, punto de envío) de eav_attribute varchar retención mesa (255). Para Catalog_Product_Entity el atribuido es VARCHAR (64). En cualquiera de los casos, es más de 34characters. Por lo tanto, podría cambiar SKU de 64 caracteres sin hacer ningún cambio en la base de datos, correcto?

¿Cómo puedo hacer eso? Tengo una buena comprensión del código de Magento lado del usuario, pero no parte de administración. ¿Me puede sugerir buen tutorial sobre cómo hacer cambios en parte de administración que podrían ayudar a resolverlo esta pregunta a mí mismo.

Gracias, Margots

¿Fue útil?

Solución

@latvian El tipo de modificación que se propone como una solución, no es una idea muy buena, ya que rompe la compatibilidad con la instalación del núcleo y se puede crear un comportamiento impredecible en el futuro cuando se actualiza el núcleo. Este rápida y sucia forma de resolver los problemas, sólo creará problemas en el futuro.

Lo que recomiendo es la adición de un atributo personalizado al objeto producto llamado custom_sku que puede ser una cadena y se puede hacer todo el tiempo que desee. Aquí es un sobre cómo agregar un atributo personalizado a su instalación.

Otros consejos

Hay más a él que esto incluso ....

campo Cambiar SKU en: catalog_product_entity a varchar (255) campo Cambiar SKU en: catalog_product_flat_some_number a varchar (255)

Y a continuación, tendrá que editar el Sku.php por lo que la validación planteo desencadenar en el admin.

Cambio: const SKU_MAX_LENGTH = 64;

a: const SKU_MAX_LENGTH = 255;

Esto permitirá que el max_length a ser 255 en lugar de 64 .. que sea lo que usted desea.

Tengo este mismo. Esto es lo que hice.

En primer lugar, he cometido un error en el conteo de los anteriores. Por defecto Magento permite SKU # 64 sea máximo larga. Esto se debe a que el más corto de la SKU atributos (en catalog_product_entity tabla) en la base de datos se establece en varchar (64).

  1. atribuir el cambio SKU en la tabla catalog_product_entity a VARCHAR (255) o cualquier longitud que desee. Si esta longitud es inferior a 255 que están muy bien lo contrario tendrá que cambiar otros atributos tales como SKU Orden de SKU, Cita SKU y otra en la base de datos

  2. Al establecer la longitud SKU demasiado grande que se rompe la cuadrícula en el Catalogo-> Administrar producto. Uno soluciones es insertar código siguiente en /design/adminhtml/default/default/template/widget/grid.phtml línea 157 (después de esta línea: <?php foreach ($this->getCollection() as $_index=>$_item): ?>)

    <?php //truncates SKU when too large
    $sku = $_item->getData('sku');
    if(strlen($sku)>60){
        $sku = substr($sku,0,60);
    }
    $_item->setData('sku',$sku);
    ?>
    

Ahora a pesar de que no será capaz de ver el número completo SKU en Catalogo-> Administrar producto, verá completa SKU cuando se hace doble clic / editar el producto de forma individual.

Espero que haya sido útil.

Mejor

scroll top