Yalnızca modüller içeren ve bileşen içermeyen sayfa nasıl oluşturulur?


10

Joomla'da her sayfayı bir bileşen görünümüne bağlamam gerekiyor. Bileşen çıktısı olmayan bir sayfayı nasıl oluşturabilirim ?

Örnek: Ana sayfamda sadece bir modül çıkışı istiyorum. Bunun için, ana sayfayı "boş bir makaleye" bağlayabilirim, ancak bunu üçüncü taraf bir uzantı kullanmadan yapmanın daha iyi bir yolu var mı?


2
Özel bir şablon mu yoksa ticari bir şablon mu kullanıyorsunuz? Soruyorum çünkü birçoğunun bileşen alanını tamamen kapatma seçeneği var.
Brian Peat

@BrianPeat Özel bir şablon kullanıyorum
web-tiki

Ah tamam. Peki burada işe yarayacak birkaç iyi cevap var :)
Brian Peat

Yanıtlar:


15

Gerçekten bundan daha iyi bir yol yoktur.

Diğer tek seçenek, şablon dosyanızın ana sayfasında olup olmadığınızı kontrol etmektir. Ana sayfada olup olmadığınızı kontrol etmek için buradaki dokümanlar üzerinde açıklanan yöntemi kullanabilirsiniz:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

ve şöyle bir şey yapın:

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

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

Ve böylece bileşeninizi asla ana sayfaya eklemezsiniz


1
Bu yöntemle başa çıkın: Ana sayfadan başka bir sayfaya gitmeyen bir bağlantınız varsa, ana sayfa menü öğesinin altına yüklenirse bozuk görünebilir! example.com/component/com_name/viewVarsayılan menü öğesinin altına yükleneceğinden ve bileşenin çıktısı görüntülenmeyeceğinden benzer herhangi bir bağlantıyı izleyin .
David Fritsch

Geçerli bileşen ve görünümü (emin olmak için birkaç tane daha çek eklemek isteyebilirsiniz JFactory::getApplication()->input->get('view')) ayrıca menünün görünümü (aynı değildir $menu->getActive()->view)
David Fritsch

@DavidFritsch: Bence $ menu-> getActive () -> görünüm, $ menu-> getActive () -> sorgu ['görünüm'] olmalı;
FFrewin


4

Dizin dosyanızda birden çok şablon düzeniniz olabilir.

<!--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-->

Ardından templateDetails dosyanızın B seçeneğini içerdiğinden emin olun. Sonra Joomla! şablonları kullanarak, b düzenini kullanarak ek bir şablon ayarlayabilirsiniz. Ana menü öğenize gidin, bu şablonu seçin. Bileşen yüklenmez, ancak modülünüz yüklenir.


2

Aptal, çok benzer, ancak oldukça kolay bir çözüm:

  1. Makale kategorisi oluşturma
  2. İçeriği olmadan bırak (makaleler)
  3. Menü bağlantısı oluştur
  4. Modüllerinizi bu menü bağlantısına atayın

Kategori ve / veya menü öğesi parametrelerinde bu kategori için gizlenecek bazı ayrıntıları kapatmanız gerekebilir.


1
Bu temel olarak boş bir makale kullanmakla aynıdır.
web-tiki

1

Boş bir bileşen oluşturabilirsiniz. Yani com_menus bileşeninde sadece boş bileşeni seçerek sayfanın çıktısı olmamasına karar verebilirsiniz. Bu bileşende, default.xml dosyasıyla birlikte bir görünüm ve boş bir default.php şablonu oluşturmanız gerekir, bu nedenle com_menus bileşeninde bileşeni seçeceğiniz zaman bu seçeneği görürsünüz.


1

RocketThemes, com_content özellikli makaleleri gizlemek için kullanışlı bir özelliğe sahiptir.

Çıktıyı en aza indirmek ve bazı CSS stilleriyle gizlemek için boş bir kategori yayınlamak için kullanıyorum.


1

Şablonu kopyalayın, jdoc bileşenini kaldırın ve bu stili bileşen gerektirmeyen herhangi bir menü öğesine atayın.


0

In Joomla! 3.x aşağıdakileri yapabilirsiniz:

  • Önce Modüllerinizi oluşturun,
  • Ana site için yeni bir Makale içinde yeni bir Kategori oluşturun,
  • Eklenti İçeriğini etkinleştirip etkinleştirmediğinizi kontrol edin - Modülleri Yükle

Varsayılan olarak Joomla! Bootstrap v2.3.2 adlı bir kitaplık içerir , böylece bu kitaplıkta css kullanabilirsiniz, örneğin ızgara sistemi : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • Burada, makalenizde Modül adlı bir düğme görebilirsiniz , basit veya çok karmaşık bir ızgara oluşturun ve modüllerinizi her bloğa atayın.

Bu yolu kullanarak elde edebileceğiniz bir avantaj, daha az konuma ve daha az php, js ve css koduna sahip bir şablonu daha hafif alabilmenizdir, bu nedenle çok fazla işleve ihtiyacınız yoksa kendiniz oluşturabilirsiniz .

Saygılarımızla.


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.