neden magento ürün url çoğaltma


10

Kullanıyorum magento 1.7. garip bir sorunla karşı karşıyayım. magentoyanlış url tuşu ile rastgele sayı ile çift ürün url yapma lütfen benim ekli ekran görüntüsü

Ayrıca tablo rewrite_urlsve URL'leri reindex boş ama yine de yanlış urls alıyorum. lütfen bu sorunu çözmeme yardım et. söz konusu resimleri izleyemiyorsanız , lütfen yönetici panelinde yinelenen ürün URL'leri ve Ürün bağlantılarını tıklayın

Yinelenen ürün URL'leri,gerçek ürün

Seni örnekle anlamama izin ver

"Örnek" adlı bir ürünüm var ve url anahtarı "örnek"

www.example.com/example

ve şimdi yeni ürün yarattık "xyz ve url anahtarı" xyz "ve url olmalıdır

www.example.com/xyz

ancak macenta üreten url

www.example.com/example-123

Tablo core_url_rewritemu demek istiyorsun?
Fabian Blechschmidt

evet demek core_url_rewrite anlamına gelir

Aynı url anahtarına sahip 2 ürününüz olduğu / bulunduğunuz için olur. Kesmek core_url_rewritetablo abd run url yeniden indeksleyici yeniden yazar deneyin .
Dmytro Zavalkin

hayır kontrol ettim ben benzersiz url anahtarları var ve ben zaten bu seçeneği denedim "trunkate core_url_rewrite tablo abd run url yeniden indeksleyici yeniden yazar"

Yanıtlar:


6

Bu 1.7 'de bir hata gibi görünüyor. Yapılandırılabilir ürünle aynı url anahtarına sahip birden fazla basit ürününüz varsa (örneğin, tüm adlar aynıdır), magento her dizin işleminde her zaman yeni bir URL yeniden yazma işlemi oluşturur. Misal:

İlk dizin:

  • myproducturl (yapılandırma ürünü)
  • myproducturl-id (kimliği eklenmiş basit ürün, şimdiye kadar iyi)

İkinci endeks:

  • myproducturl (yapılandırma ürünü)
  • myproducturl-randomnumber (rastgele numaralı basit ürün, BAD)
  • myproducturl-id -> myproducturl-randomnumber (yeni url'ye yeniden yaz)

Ve her yeni indeks işleminde son adım tekrarlanacaktır, bu yüzden her zaman yeni bir rastgele url anahtarı üretilir. Magento, bu ürünün kimliğine sahip bir url anahtarının zaten mevcut olduğunu kontrol ederse, bu sorun olmamalıdır.

Birkaç ay sonra, gerçekten büyük bir url_rewrite tablonuz olacak, çünkü hiçbir şey silinmeyecek ve her çalıştırmada, aynı url anahtarına sahip her ürün için en az 1 kayıt oluşturulacak.


Bu bizim için büyük sorunlara neden oldu. 20 renk varyasyonu ve her biri 8 boyuta sahip 1 ürünümüz var, bu nedenle aynı adla ithal edilen çok sayıda basit ürünümüz var. URL anahtarı belirtilmemişse ad olduğundan, birçok kopya ile sonuçlanır. Sinir bozucu şey, tek tek erişilebilir basitlere bile sahip olmamanızdır (bu, bir alayın indeks almasını sağlar). Bunu, adının bir parçası olarak simples sku'yu içe aktararak bir dereceye kadar aldık, çünkü ön uçta görünmediği için ondan kaçıyoruz.
Peter O'Callaghan

Ayrıca bu sorunla karşı karşıyayım ve URL yeniden yazma tablom sadece 4000 ürün için 80.000'den fazla girişte. Bu konuda başka bilgi varsa lütfen bize bildirin.
andyjv

CE için bu sorunu çözen bir Enterprise Düzeltme Eki vardır.
brentwpeterson

@brentwpeterson Bu yamanın kimliğini biliyor musunuz?
Paul


7

Biz de bu hatayı aldık. Her gün yeniden endeksliyoruz ve yaklaşık 1000 ürün için yalnızca birkaç gün içinde 24.000 URL kazandık.

Bunun için bir düzeltme bulabileceğime inanıyorum. Bu düzeltmeyi üretim sitemizde yayınladım ve nasıl gittiğini göreceğim. Diğerleri test edebilseydi faydalı olur.

  1. Bir şeyler ters giderse, core_url_rewrite tablosu ve verilerini yedekleyin

  2. Uygulamada / kod / çekirdek / Büyücü / Katalog / Model / Url.php satır 809 değişikliği

    if ($product->getUrlKey() == '' && !empty($requestPath)
            && strpos($existingRequestPath, $requestPath) === 0
        )
    

    için

    if (!empty($requestPath)
            && strpos($existingRequestPath, $requestPath) === 0
        ) 
    
  3. Core_url_rewrite tablosunu kes (boş)

  4. Sistem -> Dizin Yönetimi altında Katalog URL'si verileri yeniden endeksler

Artık binlerce rastgele URL yeniden yazma işlemi oluşturmadan yeniden endeksleyebilmeniz gerekir.

Düzeltme için Jahnni ve snowcountry sayesinde - buradan daha fazla bilgi edinin: http://www.magentocommerce.com/boards/viewthread/416476/

Hata raporu burada: http://www.magentocommerce.com/bug-tracking/issue?issue=15048


Bu benim için çalıştı. Upvoted
Sulabh

Bunun 1.9.x sürümünde düzgün çalıştığını düşünmüyorum. Çalışan bir düzeltme için buraya bakın: gist.github.com/edannenberg/5310008
BlueC

0

Yeni:

Bu çılgınca. Önbellek sorunu gibi görünüyor !? Dizin oluşturma işlemindeki bir şey bozuk, ama hiçbir fikrim yok, üzgünüm.

Eski:

Bunun neden olduğu hakkında hiçbir fikrim yok, ancak deneyimlerimi ve fikirlerimi yazıyorum:

  1. Magento zaten mevcut bir yeniden yazma bulduğunda bir sayma numarası ekler.

  2. Yeniden yazmayı değiştirdiğinizde, magento eski URL için bir yeniden yazma oluşturur (metin giriş alanının altındaki onay kutusu işaretliyse).

  3. Özel URL yeniden yazma işlemlerinin belki başka bir yere kaydedildiğini düşünüyorum, bu yüzden özel yeniden yazma işlemleri önce uygulanır ve daha sonra ürün yeniden yazmalarını eklemeye çalışır ve mümkün değilse sayaç eklenir?


lütfen sorumu tekrar güncelledim,

Cevabı güncelledi, ancak yardımcı olmadı :(
Fabian Blechschmidt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.