Varsayılan sayfayı / düğümü nasıl gizlerim?


22

Kutunun dışına drupal, düğüm yoluna atanmış bir sayfa (varsayılan ana sayfadır) ile birlikte gelir .

Kullanıcıların ona ulaşmasını nasıl önleyebilirim ve onları sitenin gerçek ana sayfasına yönlendiririm?


Düğümü farklı bir yola yönlendirmek için @kiamlaluno tarafından önerilen çözümü kullandım.

Yanıtlar:



8

/ Node'dan ön sayfa olarak kullanmak istediğiniz sayfaya yönlendiren bir yol takma adı oluşturun.


1
Bu benim için url alias modülüyle, aliasing / node ile <front> veya index.php ile çalışmıyor. Sadece iletmek çalışıyorum /
john

5
Tek yaptım / düğümü <front> yaptım ve iyi çalıştı.
Sean Bannister

@John gibi, takma adın kullanıcı arayüzü ön sayfaya geçmeme izin vermiyor. Bunun yerine yönlendirme modülünü kullanmak zorunda kaldım.
Postscripter

6

Bir hata gösterecek şekilde / node 'un geri çağırmasını değiştirmeyi tercih ederim.
Bu, / düğüme erişirken her zaman özel 404 sayfanızı gösterir.

function yourmodule_menu_alter(&$items) {
    $items['node']['page callback'] = 'drupal_not_found';      
}

4
<?php
function MY_MODULE_menu_alter(&$callbacks) {
unset($callbacks['node']);
}
?>

veya bunu settings.php dosyasına ekleyin (URL gelen öğeler)

<?php
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = ''; 
  }
}
?>

2

Ben kullanılan Yönlendirme modülü: Sadece yeni bir 301 yönlendirmesi eklendi nodeiçin <front>.


1

Berdirs cevabına benzer şekilde, oluşturduğumuz özel bir dağıtımın parçası olan bir modülde bulunan aşağıdaki kodu da sahibim:

function HOOK_menu_alter(&$items) {
  $items['node']['page callback'] = '_HOOK_empty_home';
}

function _HOOK_empty_home() {
  drupal_set_title('');
  return '';
}

Bu şekilde 'düğüm' yolunu ön sayfa olarak tutabilir ve gerekli ön sayfayı oluşturmak için blokları konumlandırmak için bağlamı kullanabilirim.


1

/ Node ile eşlenmemiş ve yayınlanmayan bir sayfa oluşturabilirsiniz. Böylece bu yolu arayacak olan kullanıcılar yasaklanmış bir sayfaya girebilecek.


1

Benim için kolay çözüm ana sayfa olmak istediğim bir sayfa oluşturmak ve URL'yi / node olarak ayarlamaktı. Sonra / admin / config / system / site bilgisi altında varsayılan ön sayfayı / düğüme ayarlayın. Birisi gerçekten yazmadan URL'yi asla "/ düğümü" göremezsiniz. Ana sayfa URL’nizi / düğüme ayarlamak istemeniz şartıyla, hızlı, kolay ve temiz.


1

Düğüm URL’si ile yeni bir sayfa oluşturabilir ve insanlar ön sayfayı ziyaret etmeleri veya bir kategori seçmeleri için onları yönlendiren bir mesaj görebilirler.


1

Birden çok şey denedim. Sonra Drupal 7 ve 8 için, herhangi bir kod yazmadan bunu en kolay buldum:

node_page_disable, globalredirect ve yönlendirilen modülleri indirip etkinleştirin.

(Not: node_page_disable modülü yönlendirir / düğüm 404'e hata sayfası bulunamadı.)

sonra / node -> front page için bir yönlendirme ekleyin

Lütfen yönlendirmenin hem / node hem de / node / 'u ön sayfaya yönlendirdiğini unutmayın.

ve okumak için yararlı bir makale: https://www.drupalaid.com/blog/3-things-you-should-hide


D8'de bir manzara, bu yüzden drush @example.com views-disable frontpagekapanacak. Diğer şeyler yapılıncaya kadar yine de bir 404 alacak.
colan,

0

Bir düğüm oluşturun, ardından site yapılandırması -> site bilgileri'ne gidin ve giriş sayfasını düğümün yoluna ayarlayın. Bu yüzden, ilk düğümünüzse, düğüm / 1 olacaktır.

Düzenleme: Varsayılan olarak, yalnızca 'ön sayfaya yükselt' seçeneğini işaretlerseniz, o sayfa bir düğüm oluşturarak kaybolacaktır. Site bilgisi adımı bu düğümü gerçek ön sayfanız yapacaktır.


1
Doğru, ancak /nodeyine de ulaşılabilir, varsayılan olarak görünmez
Laxman13

Ne istediğini yanlış anladım. Yol yönlendirmesi http://drupal.org/project/path_redirect modülünden ne haber?
Mike L.

1
Maalesef Yol Yönlendirme, mevcut yollardan yönlendirme yapmanıza izin vermez. Yönlendirmeye çalıştığınız yolun geçerli bir yol olup olmadığını kontrol eder ve eğer öyleyse, yönlendirme oluşturulmaz ve bir uyarı görüntülenir.
Laxman13

Güzel. Bir süredir kullanmadım, bu yüzden olumlu değildi. Teşekkürler!
Mike L.

0

Bir sayfayı görüntülemeden önce url'yi kontrol etmek ve kullanıcıları isterseniz başka bir sayfaya yönlendirmek için Kurallar modülünü kullanabilirsiniz .

  • Etkinlikle kural ekle: İçerik görüntülenecek
  • Koşul ekle: Özel PHP kodunu yürütün ve yolu kontrol edin
  • İşlem ekle: Sayfa Yönlendirme ve yönlendirmek istediğiniz yolu seçin

Bu sadece ciddi performans cezaları vermekle kalmaz, aynı zamanda çok güvensiz olarak kabul edilmelidir. Tüm yan etkiler ve olumsuz yanlar çok iyi bilinmediği sürece "özel PHP'yi yürütün" önerilmemelidir. Bunun için -1.
berkes

@berkes Varsayıyorum, çünkü kurallar her sayfa yüklenmesini kontrol eder ve bu nedenle siteyi yavaşlatır? Neden "Özel php'yi çalıştır" her zaman kaşlarını çatıyor? Açıkçası son kullanıcı kullanımı için iyi değil, geliştirici kullanımı için dezavantajları var mı? Üzgünüm, uzun zamandır Drupal ile yapabileceğim en iyi şey olmak için çok çalışıyorum ve "giriş ve çıkışları" öğreniyorum. (Gerekirse ikinci kısmı kendi sorusu olarak ekleyebilir miyim?)
Laxman13

lütfen yeni bir Q düşünün “tartışmalı” bazı özel alanlarda (bloklar, görüş argümanları, php-filtre vb.) 'custom' PHP'yi kullanmanın olumsuz yönleri nelerdir?
berkes

0

Oldukça birkaç yıl önce popüler soru, zaten oldukça ilginç cevaplar. Ancak, tahmin et ne oldu: "Bugünlerde bunun için bir modül var ... aslında iki tane bile!" (önceki cevapların hiçbirinde bahsedilmedi).

Daha fazla bilgi için okumaya devam edin ... (alıntılar proje sayfalarındandır) ...

Düğüm sayfası yöneticisi (D6 veya D7):

Bu modül, sayfa erişimini işlemek / düğümlemek için bir yönetim ayarları paneli ekler . Aktive edildiğinde üç olası konfigürasyon vardır:

  • Çekirdek - Drupal çekirdek, düğüm sayfası erişimini her zamanki gibi yönetir: 'erişim içeriği' izni olan tüm kullanıcılar
  • Devre dışı - Hiç kimse / düğüme erişemez. 'Sayfa bulunamadı' (404) değerini döndürür.
  • İzinle - Erişim yeni bir izinle ele alınacaktır: 'erişim düğümü sayfası'

Düğüm Sayfası Devre Dışı Bırak (yalnızca rc2 sürümleri olsa da, D6 veya D7):

Kolay UI erişimi ve kullanılmadığında yolun / düğümün devre dışı bırakılmasını sağlar . Bu, Üretim Kontrol Modülündeki bir güvenlik değerlendirmesinden ilham almıştır .


-1

en iyi yol, düğümleri template_preprocess_page işlevinden gizlemektir

function template_preprocess_page(&$variables) {
    if ($variables['is_front'] == 1) {
        if (isset($variables['page']['content']['system_main'])) {
            unset($variables['page']['content']['system_main']);
        }
    }
}
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.