Domanda

Come posso permettere SKU essere più lungo di 34 caratteri (per i prodotti semplici) per tutti i prodotti?

Quando aggiungo nuovo prodotto (semplice) e inserire più di 34 caratteri, Magento lo taglia a 34 dopo il salvataggio.

Nel database gli attributi 'SKU' (per voce di quete, articolo di ordine, oggetto della fattura, oggetto della spedizione) da eav_attribute varchar tavolo attesa (255). Per Catalog_Product_Entity il attribuita è VarChar (64). In entrambi i casi, è più che 34characters. Così, ho potuto cambiare SKU a 64 caratteri senza fare alcun cambiamento nella banca dati, giusto?

Come posso fare? Ho una buona comprensione del codice di Magento lato utente, ma non lato Admin. Mi potete suggerire buon tutorial su apportare modifiche nella Admin lato che potrebbero aiutare a calcolare questa domanda io stesso.

Grazie, Margots

È stato utile?

Soluzione

@latvian Il tipo di modifica che si propone come una soluzione non è una buona idea in quanto rompe la compatibilità con l'installazione di base e si può creare un comportamento imprevisto in futuro, quando l'aggiornamento del nucleo. Questo rapido e sporco modo di risolvere i problemi solo creare problemi in futuro.

Quello che mi consiglia è l'aggiunta di un attributo personalizzato per l'oggetto prodotto chiamato custom_sku che può essere una stringa e si può fare tutto il tempo che vuoi. Ecco un link su come aggiungere un attributo personalizzato per l'installazione.

Altri suggerimenti

C'è di più ad esso che questo ancora ....

campo Cambio Codice in: catalog_product_entity a varchar (255) Variazione campo Codice in: catalog_product_flat_some_number a varchar (255)

E allora si dovrà modificare lo Sku.php modo la convalida wont innescare in Admin.

Cambio: const SKU_MAX_LENGTH = 64;

a: const SKU_MAX_LENGTH = 255;

che permetterà al max_length di essere 255 invece di 64 .. renderlo ciò che vuoi.

ho avuto io stesso. Ecco quello che ho fatto.

Per prima cosa, ho fatto errore sul conteggio in precedenza. Per impostazione predefinita Magento permette SKU # essere lungo 64 max. Questo perché il più breve della SKU attributi (nella tabella catalog_product_entity) nel DB è impostata su varchar (64).

  1. attributo Variazione SKU nella tabella catalog_product_entity a varchar (255) o qualsiasi lunghezza desiderata. Se questa lunghezza è inferiore a 255 si sta bene altrimenti bisogna cambiare altre SKU attributi come Ordine SKU, Quote SKU e altri nel DB

  2. Impostando la lunghezza SKU troppo grande si rompe la griglia nella Catalog-> Gestisci prodotto. Una soluzione è quella di inserire seguente codice nel /design/adminhtml/default/default/template/widget/grid.phtml linea 157 (dopo questa riga: <?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);
    ?>
    

Ora, anche se non sarà in grado di vedere il numero completo SKU in Catalog-> Gestisci prodotto, si vedrà pieno SKU quando si fa doppio clic / modificare il prodotto individualmente.

Spero sia stato utile.

Best

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top