it-swarm-tr.com

Belirli bir menü öğesi için bileşen görünümünü geçersiz kılma

Belirli bir menü öğesinin bileşen görünümünü nasıl geçersiz kılabilirim?

Genel bir üzerine yazma için template/html/com_xxx/.
Ancak bunu yalnızca belirli bir menü öğesi için nasıl yapabilirim?

Örnek:

Joomla! Makaleler için bir Blog görünümü var.
Belirli bir menü öğesinin bu görünümünün işaretlemesini nasıl değiştirebilir ve aynı Blog görünümüne bağlantı veren diğer menü öğelerinin varsayılan işaretlemesini nasıl koruyabilirim?

6
Fedik

Yöntem 1:

Tanımladığınız şekilde çalışmasını sağlamak için CSS sınıfını kullanın.

  1. Sınıfı menü öğesine ekleyin (sayfa görüntüleme sekmesinde "Sayfa Sınıfı" alanına yazın). Örnek: "özel sayfa" (sayfa sınıfından önceki boşluğa dikkat edin, bu olmadan bunu bileşen oluşturulan çıktıya ekler). Birden fazla durumda kullanılabilecek bir sınıf kullanmanızı öneririm.
  2. Geçersiz kılmada, "filtre" komut dosyasını yazmanız gerekir.

    if(strpos($this->pageclass_sfx, ' special-page') !== false) {
        $templateA = true;
    }
    
    if($templateA){
    (put your customized override here)
    }
    

Yöntem 2:

Görünüm için şablon geçersiz kılma kullanın!

  1. Geçersiz kılmalar için HTML klasörünüzde, istediğiniz görünümü çoğaltın (örnek: makale görünümü), dosyayı yeniden adlandırmanız ve .xml dosyasını parametrelerle birlikte oluşturmanız (bileşendeki görünümlerden kopyalamanız ve .xml'den emin olmanız gerekir. geçersiz kılınan görünümle aynı ada sahiptir!).

    örnek: Makalenin geçersiz kılınmış bir görünümünü oluşturun, buna "özel" diyelim, default.php'yi şablonunuzdaki HTML klasörünüze yerleştirin (ve aşağıdaki klasör yapısına yerleştirin: com_content/article/ ve special.php). Geçersiz kılma ile aynı klasöre .xml dosyasını (gerekirse kopyalamanız ve hatta uyarlamanız gerekir) unutmayın ve special.xml

    Görünümü geçersiz kılınan kod/stil vb. İle güncelleyin.

  2. Ardından, menü öğesine gidin ve yeni menü türüne değiştirin (makaleler altında special öğesini seçin), test edin!
4
jackJoe

Genel çözüm:

Her menü öğesi için, bağlantılı sayfaya uygulanacak bir şablon seçebilirsiniz, böylece şablonunuzu çoğaltabilir ve çoğaltılan şablonda görünüm geçersiz kılmanızı oluşturabilirsiniz.

Daha sonra menü öğesi parametrelerinizde çoğaltılan şablonu seçebilirsiniz ve geçersiz kılma yalnızca bu menü öğesi için etkili olur.

K2 ile:

Örneğin, K2'yi kullanabilirsiniz. Bununla birlikte, farklı adlarla birkaç görünüm geçersiz kılma oluşturabilirsiniz.

Geçersiz kılmalar şöyle görünür:

template_name/html/com_k2/override_1
                         /override_2
                         /...

Ardından, menü parametrelerinizde bir K2 öğesi seçtiğinizde, söz konusu sayfaya uygulanacak geçersiz kılmayı seçebilirsiniz. Bu, birkaç şablon oluşturmaktan kaçınır.

3
web-tiki