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.