PHP Filtre modülünü kullanmadan blok görünürlüğünü programlı olarak ayarlamanın bir yolu var mı?


11

Çekirdek PHP Filtre modülünü etkinleştirerek, blok yapılandırma sayfasında bir bloğun görünürlüğünü ayarlamak için PHP kodunu kullanabilirim.

Ancak güvenlik önlemi için PHP filtre modülünü etkinleştirmek istemiyorum. Yani özel modülünde bunu yapmanın bir yolu var ? Böyle bir kanca bulamıyorum. Ve yakın bir kanca hook_block_view_altersadece blok içeriğini değiştirebilir.

Yanıtlar:


13

Evet. Blok içeriğini false olarak ayarlamak, onu ekrandan gizler ve başka blok yoksa bölgeyi gizler. Aşağıdakine benzer bir kuruluma ihtiyacınız olacağını düşünürüm:

$block['content'] = _my_module_custom_block();

...

function _my_module_custom_block(){
    if( HIDE_CONDITION )
        return false;
}

2
hala boş içerikli bir blok göstermez mi?
gilzero

1
çalışıyor, harika. Teşekkür.
gilzero

@gilzero, hayır olmazdı.
WM

1

Kurallar blok görünürlüğü modülü ... Başka alternatif mevcuttur etkin olması PHP filtresi gerektirmez hangi . Proje sayfasından bir alıntı:

Kural bloğu görünürlük modülü, Kural bileşenlerinin blok görünürlüğünü kontrol etmek için kullanılmasına izin verir . Bu, Drupal yöneticileri ve geliştiricilerine, Drupal tarafından sağlanan varsayılan görünürlük seçeneklerine ek olarak, web sitelerinde blokların ne zaman görüntülenmesi gerektiğini kontrol etme konusunda aşırı esneklik sağlar.

Genel fikir, bunu Kurallar ile yapabiliyorsanız, blok görünürlüğünü kontrol etmek için kullanabilirsiniz, böylece olasılıklar sınırsızdır.

Yalnızca bir aydan daha önce kayıtlı kullanıcılar için bir blok göstermeniz mi gerekiyor?

Belki hafta içi sadece sabah 8 ile akşam 5 arasında gösterilmesi gereken bir bloğunuz var mı?

Mevcut hava koşullarına bağlı olarak bir bloğu görüntülemeye veya gizlemeye ne dersiniz?

Bütün bunlar, Kural bloğu görünürlüğü kullanılarak yapılabilir.

Ayrıca, yukarıdaki " Kurallar ile yapabiliyorsanız, bunu blok görünürlüğünü kontrol etmek için kullanabilirsiniz " ifadesine göre, her türlü özel mantığı (bkz. "Programatik / özel modül") uygulamak için Kurallar gücüne sahipsiniz . Sorunuz).

Bu modülün nasıl kullanılacağına ilişkin bir örnek için, " Views bloğunun kullanıcı / 1 gibi yöneticilere gösterilmesini nasıl durdurabilirim? "

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.