Bagaimana cara membuat halaman hanya dengan modul dan tanpa komponen?

10

Di joomla, saya harus menautkan setiap halaman ke tampilan komponen. Bagaimana saya bisa membuat halaman tanpa output komponen ?

Contoh: Di halaman rumah saya, saya hanya ingin output modul. Untuk ini, saya dapat menautkan beranda ke "artikel kosong" tetapi apakah ada cara yang lebih baik untuk melakukan ini tanpa menggunakan ekstensi pihak ketiga?

web-tiki
sumber
2
Apakah Anda menggunakan template khusus, atau template komersial? Saya bertanya karena banyak dari mereka memiliki opsi untuk mematikan area komponen sepenuhnya.
Brian Peat
@BrianPeat Saya menggunakan template khusus
web-tiki
Ah, baiklah. Nah ada beberapa jawaban yang baik di sini yang seharusnya bekerja :)
Brian Peat
2
Pertanyaan serupa: joomla.stackexchange.com/questions/5056/…
FFrewin

Jawaban:

15

Sebenarnya tidak ada 'cara yang lebih baik' dari itu.

Satu-satunya pilihan lain adalah memeriksa apakah Anda berada di beranda dalam file templat Anda. Untuk memeriksa apakah Anda berada di beranda, Anda dapat menggunakan metode yang dijelaskan pada dokumen di sini:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

dan lakukan sesuatu seperti:

<?php
$menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() != $menu->getDefault()) { ?>
        <jdoc:include type="component" />
<?php } ?>

Dan dengan cara itu Anda tidak pernah memasukkan komponen Anda di beranda

George Wilson
sumber
1
Head up dengan metode ini: jika Anda memiliki tautan dari beranda yang tidak menuju ke halaman lain, tautan itu dapat terlihat rusak jika dimuat di bawah item menu beranda! Perhatikan setiap tautan yang seperti example.com/component/com_name/viewkarena akan dimuat di bawah item menu default, dan output dari komponen tidak akan ditampilkan.
David Fritsch
Anda mungkin ingin menambahkan beberapa pemeriksaan lagi untuk memastikan bahwa komponen dan tampilan saat ini ( JFactory::getApplication()->input->get('view')) juga tidak sama dengan tampilan menu ( $menu->getActive()->view)
David Fritsch
@ DavidvidFritsch: Saya pikir $ menu-> getActive () -> view, harus $ menu-> getActive () -> query ['view'];
FFrewin
5

Di JED ada juga komponen "kosong" yang memungkinkan Anda menerbitkan item menu sehingga Anda hanya dapat menempatkan modul.

http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363

Toni Marie
sumber
Saya punya masalah dengan ekstensi ini, tidak termasuk router.phpyang menyebabkan URL tidak valid untuk tidak merespons dengan 404.
Flimm
4

Anda dapat memiliki beberapa layout template dalam file indeks Anda.

<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>

<jdoc:include type="component" />

<?php endif; ?>  <!--End Layout 1-->

<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>

<jdoc:include type="modules" name="your-module"/>

<?php endif; ?> <!--End Layout 2-->

Kemudian pastikan file templateDetails Anda menyertakan opsi B. Kemudian di Joomla Anda! template, Anda dapat mengatur template tambahan menggunakan tata letak b. Buka item menu rumah Anda, pilih templat itu. Komponen tidak mau memuat, tetapi modul Anda akan memuat.

Faye
sumber
2

Solusi bodoh, sangat mirip, tetapi cukup mudah:

  1. Buat kategori artikel
  2. Biarkan tanpa konten (artikel)
  3. Buat tautan menu ke sana
  4. Tetapkan modul Anda ke tautan menu itu

Anda mungkin perlu mematikan beberapa perincian agar disembunyikan untuk kategori itu di dalam kategori dan / atau parameter item menu.

Ivo
sumber
1
Ini pada dasarnya sama dengan menggunakan artikel kosong.
web-tiki
1

Anda dapat membuat komponen kosong. Jadi dalam komponen com_menus Anda dapat memutuskan dengan halaman tidak harus memiliki output hanya memilih komponen kosong itu. Dalam komponen itu, Anda perlu membuat tampilan dan template default.php kosong dengan file default.xml, sehingga Anda akan melihat opsi ini ketika Anda akan memilih komponen dalam komponen com_menus.

csbenjamin
sumber
1

RocketThemes memiliki fitur praktis untuk menyembunyikan artikel fitur com_content.

Saya gunakan untuk menerbitkan kategori kosong untuk meminimalkan output, dan menyembunyikannya dengan beberapa style CSS.

Anibal
sumber
1

Salin templat, hapus komponen jdoc dan tetapkan gaya itu ke item menu apa pun yang tidak memerlukan komponen.

sovainfo
sumber
0

Di Joomla! 3.x Anda dapat melakukan hal berikut:

  • Pertama buat Modul Anda,
  • Buat Kategori baru, di dalam Artikel baru untuk situs utama,
  • Periksa apakah Anda telah mengaktifkan Konten Plugin - Memuat Modul

Secara default Joomla! termasuk pustaka yang disebut Bootstrap v2.3.2 , sehingga Anda dapat menggunakan css di pustaka ini, misalnya sistem kisi : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • Dari sini, di artikel Anda, Anda dapat melihat tombol yang disebut Modul , cukup buat kisi yang sederhana atau sangat kompleks dan tetapkan modul Anda ke setiap blok.

Manfaat yang bisa Anda peroleh dengan menggunakan cara ini, adalah Anda bisa mendapatkan template lebih ringan dengan posisi lebih sedikit dan kode php, js dan css lebih sedikit, jadi jika Anda tidak membutuhkan banyak fungsi, Anda bisa membuatnya sendiri.

Salam.

AlejandroVega
sumber