Menghapus blok konten utama di halaman depan

17

Saya baru mengenal Drupal 7 dan saya ingin mengganti default halaman depan main content blockdengan blok setara yang dihasilkan dari Views (mendapatkan kontrol lebih besar atas blok dalam melakukannya).

Saya telah berhasil membuat blok frontpage baru di Views dan menambahkannya ke bagian konten namun sekarang beranda menampilkan blok tampilan asli dan baru.

Mencoba menghapusnya main content blockdengan mengonfigurasinya agar tidak ditampilkan <front>tidak berfungsi dan untuk saat ini satu-satunya solusi yang saya temukan adalah CSS berikut:

.front #block-system-main {
  display:none;
}

Saya lebih suka solusi yang kurang seperti hack. Adakah yang bisa menyarankan satu?

irishbuzz
sumber
Saya memiliki masalah yang persis sama.
JW.
Saya tidak memiliki reputasi yang cukup untuk menjawab pertanyaan ini. Tapi saya ingin 2 'melihat daftar sebagai blok' dan tidak ada konten lain jadi di sini ada solusi alternatif: drupal.org/node/2089911#comment-7868495 (kemudian perlihatkan daftar atau daftar sebagai blok)
JW.

Jawaban:

24

Maaf, tapi itu bukan cara untuk melakukannya.

Alih-alih membuat tampilan blok dalam Tampilan, buat tampilan halaman. Pilih jalur untuk halaman tampilan Anda, misalnya "rumah", dan simpan tampilan. Selanjutnya Anda pergi ke / admin / config / system / situs-informasi dan ubah nilai untuk 'Halaman depan default' (mungkin mengatakan "node" sekarang) ke jalur yang Anda pilih untuk tampilan Anda ("home").

Ketika Anda mengikuti pendekatan ini, konten utama di halaman depan Anda akan menjadi tampilan.

marcvangend
sumber
Ah saya mengerti. Saya sudah mencoba saran Anda itu bekerja dengan sempurna dan tampaknya sangat jelas sekarang. Terima kasih marc.
irishbuzz
Sama-sama, senang saya bisa membantu.
marcvangend
Terima kasih, pasti solusi terbersih di sini! Yang lain berbicara tentang mucking di dalam kode inti atau mengatur stylesheet. Saya tahu harus ada cara yang lebih mudah.
Organiccat
1
@MarioAwad secara teknis, ya. Begitulah cara pengaturan halaman depan Drupal bekerja. Namun, jika semua modul membuat URL dan tautan dengan url()dan l()fungsinya dengan benar, Drupal akan menjaganya dan menautkannya ke www.example.com setiap kali www.example.com/path/to/view diberikan. Jika Anda suka, modul Global Redirect akan mengarahkan ke halaman depan jika seseorang secara eksplisit meminta path lengkap.
marcvangend
1
@marcvangend terima kasih atas klarifikasi tambahan dan petunjuk ke Global Redirect yang memecahkan masalah jalur ganda. Bersulang.
Mario Awad
2

Pertama-tama Anda harus menghapus konten rumah default, berikut adalah cara untuk melakukannya:

<?php
function MYTHEME_OR_MODULE_preprocess_page(&$variables) {
  if ($variables['is_front']) {
    $variables['title'] = '';
    unset($variables['page']['content']['system_main']['default_message']);
  }
}

Hapus konten default beranda

Kemudian buat tampilan blok yang Anda inginkan .. lalu pergi ke blok .. tunjukkan tampilan blok ini di wilayah "konten" .. dan batasi konten ini untuk "hanya halaman berikut" dan tulis <front>

Itu dia


Tareq Assaf
sumber
0

Meskipun bukan pendekatan yang umum, Anda dapat menyematkan tampilan sebagai blok konten utama di halaman depan. Tampilan memiliki fleksibilitas untuk melakukannya dalam waktu singkat. Saya menduga Anda salah mengonfigurasi langkah penghapusan blok yang Anda coba atau ... hanya perlu menghapus cache untuk mendapatkan hasil yang sama.

Agar adil pada jawaban yang diterima, pendekatan itu adalah cara yang biasa dilakukan. Hasil akhirnya identik.

stefgosselin
sumber
Saya pikir itu adalah bug di Drupal karena saya juga mencoba 'langkah penghapusan blok' dan itu tidak berhasil.
JW.