Magento2'de statik bir yöntem nasıl geçersiz kılınır


11

Eklenti Durdurucuları ve tercihe göre geçersiz kılma statik yöntemlerde çalışmaz.

Özel bir görünürlük döndürmek için Magento \ Catalogue \ Model \ Product \ Visibility içindeki getOptionArray yöntemini geçersiz kılmanız gerekiyor

/**
     * Retrieve option array
     *
     * @return array
     */
    public static function getOptionArray()
    {
        return [
            self::VISIBILITY_NOT_VISIBLE => __('Not Visible Individually'),
            self::VISIBILITY_IN_CATALOG => __('Catalog'),
            self::VISIBILITY_IN_SEARCH => __('Search'),
            self::VISIBILITY_BOTH => __('Catalog, Search')
        ];
    }

Bunu başarmanın başka bir yolu var mı?


Hayır. Yeni bir görünürlük seçeneğinin nasıl ekleneceğini soruyorum. statik bir yöntem olan getOption dizisi önleme veya tercihlerle değiştirilemez.
user3339988

Üzgünüm, yanlış soru işaretledim. Bu size yardımcı olacaktır magento.stackexchange.com/questions/134386/…
PY Yick

Bu sorumu cevaplamıyor.
user3339988

Kimse? 2-3 gündür bununla sıkışıp kaldım. Görünürlük seçeneği eklemenin başka bir yolu var mı?
user3339988

Yanıtlar:


1

Yalnızca geçersiz kılma getOptionArray()yeterli değildir, çünkü 107, 120 ve 134 satırlarında Magento \ Catalogue \ Model \ Product \ Visibility'de görürseniz , getOptionArray()kendisi ile selfçağrılır. ve yapıştır getAllOption(), getAllOptions()& getOptionText()geçersiz kılınan Model Sınıfında (Geçersiz kıldığın yerde aynı getOptionArray())

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.