Magento CSV Prodotto Import Set Categoria Categoria Genitore Tasto URL per l'uso sulla pagina della categoria Elenco catalogo Pagina

magento.stackexchange https://magento.stackexchange.com//questions/29927

Domanda

- Aggiorna -

Penso che il problema sia nella visualizzazione dell'elenco Categoria. Genera il collegamento del prodotto al prodotto, per la pagina, in un ciclo.

Ho ricevuto le categorie di prodotti e l'utilizzo di ciò per costruire l'URL.

Sto pensando che dovrò definire quale voglio essere il genitore in un attributo aggiuntivo, quindi controllare quell'attributo per la categoria URL-Key che voglio usare.

Qualche suggerimento sul modo migliore per realizzare questo?

- Aggiorna -

Ho notato che il problema sembra essere a causa del modo in cui Magento crea la sua chiave URL per un prodotto si basa su un ID di categoria più alto delle categorie a cui appartiene.

L'ID di categoria più grande definisce il tasto URL.

quindi se ho prodotto1 nella categoria1, Categoria 2 e Categoria3; Voglio il tasto URL della categoria1 (cioè sito.com/category1/product1), ma se la categoria3 ha un ID più grande della categoria1, il tasto URL sarà sito.com/category3/product1, anche quando si naviga su Site.com/ Categoria1 Il collegamento è per sito.com/category3/product1.

Potrei rimuoverlo da categorie aggiuntive che hanno un ID più alto, ma questa non è una soluzione ideale.

C'è comunque per impostare il tasto URL completo? O c'è da qualche parte posso forzare la preferenza di una certa categoria URL-Key?

- originale -

Sto tentando di importare prodotti e categorie tramite CSV.

Ho questo processo funzionante e tutto importa senza lanciare un errore.

Ho i miei prodotti appartenenti a qualsiasi punto da 1 a 3 categorie.

Nell'importazione, il tasto URL per la maggior parte dei prodotti è corretto, sembra solo essere casuali che non ottengono il tasto URL del primo genitore (categoria).

Sembrava che inizialmente tutti stiano usando l'ultimo, quindi ho cambiato l'ordine per essere invertito.

Questo fissò la maggior parte tutti, ma quelli che vengono configurati praticamente lo stesso e dovrebbero avere lo stesso tasto URL dei genitori, utilizzando casualmente una delle altre categorie come tasto URL.

Ho provato a eliminare tutto (prodotti e categorie), ha cancellato la mia memorizzazione della cache. Controllato che l'URL riscrive venisse rimosso e provato l'importazione di nuovo.

ottengo lo stesso risultato.

Non sembra essere alcun legame da visibilità, come quello che non è corretto è impostato su 4, e l'altro è 1 (che mi aspetterei 1 per errorizzare se uno dei due.)

Ho la maggior parte delle categorie inattive, voglio svuotare ulteriori categorie dopo il lancio.

Penserei che avrebbe preferito le preferenze alle categorie visibili, ma quella che voglio presentarsi è visibile, e viene inserito in un inattivo.

Non sono sicuro di che altro potrebbe causare questo. O dove altro cercare il problema. Non vedo nulla che indicherebbe perché quei prodotti specifici sono diversi. Ma ogni volta che importa, gli stessi cadono nella categoria sbagliata.

Qualsiasi aiuto sarebbe molto apprezzato. Se qualcuno potrebbe almeno indicarmi nella giusta direzione.

Posso dare esempi più specifici se necessario, non volevo confondere le cose più di questo è già.

È stato utile?

Soluzione

Nel tentativo di non avere URL duplicati, ma collega ulteriori categorie al prodotto in un'altra categoria, con un URL, ho finito per risolvere questo problema come segue.

Ho creato un attributo aggiuntivo del prodotto, genitore_url_key.

Nel mio script di importazione, ho aggiunto il tasto URL dei genitori preferiti per ciascun prodotto in questo valore.

Nella visualizzazione elenco prodotti della categoria, invece di usare solo:

$_product->getProductUrl()
.

Ho fatto questo per creare il mio URL del prodotto:

$url = $_product->getProductUrl();
if($categoryParent = $_product->getResource()->getAttribute('parent_url_key')) {
    $categoryParentVal = $categoryParent->getFrontend()->getValue($_product);
    if($categoryParentVal) {
        $url = $this->getUrl($categoryParentVal).basename($url);
    }
}
.

In questo modo controlla un genitore definito o utilizza la categoria corrente se è indefinita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top