Como criar uma página apenas com módulos e sem componente?

10

No joomla, preciso vincular todas as páginas a uma exibição de componente. Como posso criar uma página sem saída de componente ?

Exemplo: Na minha página inicial, quero apenas uma saída do módulo. Para isso, posso vincular a página inicial a um "artigo vazio", mas existe uma maneira melhor de fazer isso sem usar uma extensão de terceiros?

web-tiki
fonte
2
Você está usando um modelo personalizado ou comercial? Eu pergunto porque muitos deles têm a opção de desligar completamente a área de componentes.
Brian Peat
@BrianPeat Estou usando um modelo personalizado
web-tiki
Ah ok. Bem, existem várias respostas boas aqui que deve funcionar, então :)
Brian Peat
2
Pergunta semelhante: joomla.stackexchange.com/questions/5056/…
FFrewin

Respostas:

15

Não existe realmente uma 'maneira melhor' do que isso.

A única outra opção é verificar se você está na página inicial do seu arquivo de modelo. Para verificar se você está na página inicial, use o método descrito nos documentos aqui:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

e faça algo como:

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

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

Dessa forma, você nunca inclui seu componente na página inicial

George Wilson
fonte
1
Um exemplo é o seguinte: se você tiver um link da página inicial que não vá para outra página, ele poderá aparecer quebrado se carregar no item de menu da página inicial! Observe qualquer link semelhante, example.com/component/com_name/viewpois ele carregaria no item de menu padrão e a saída do componente não seria exibida.
David Fritsch
Você pode querer adicionar mais algumas verificações para certificar-se de que o componente atual e view ( JFactory::getApplication()->input->get('view')) também não é o mesmo que a visão do menu ( $menu->getActive()->view)
David Fritsch
@ DavidFritsch: Eu acho que o $ menu-> getActive () -> view, deve ser $ menu-> getActive () -> query ['view'];
FFrewin
4

Você pode ter vários layouts de modelo no seu arquivo de índice.

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

Em seguida, verifique se o arquivo templateDetails inclui a opção B. Em seguida, no seu Joomla! modelos, você pode configurar um modelo adicional usando o layout b. Vá para o item do menu inicial, selecione esse modelo. O componente não carrega, mas o seu módulo carrega.

Faye
fonte
2

Solução estúpida, muito parecida, mas bastante fácil:

  1. Crie uma categoria de artigo
  2. Deixe sem conteúdo (artigos)
  3. Criar link de menu para ele
  4. Atribua seus módulos a esse link de menu

Pode ser necessário desativar alguns detalhes para ocultar essa categoria nos parâmetros de categoria e / ou item de menu.

Ivo
fonte
1
Basicamente, é o mesmo que usar um artigo vazio.
Web-tiki
1

Você pode criar um componente vazio. Portanto, no componente com_menus, você pode decidir que a página não deve ter saída apenas escolhendo esse componente vazio. Nesse componente, você precisa criar uma visualização e um modelo default.php vazio com o arquivo default.xml, para que você veja essa opção quando escolher o componente no componente com_menus.

csbenjamin
fonte
1

Os RocketThemes têm um recurso útil para ocultar artigos em destaque do com_content.

Eu uso para publicar uma categoria vazia para minimizar a saída e ocultá-la com algum estilo CSS.

Anibal
fonte
1

Copie o modelo, remova o componente jdoc e atribua esse estilo a qualquer item de menu que não exija o componente.

sovainfo
fonte
0

No Joomla! 3.x, você pode fazer o seguinte:

  • Primeiro crie seus módulos,
  • Crie uma nova categoria, dentro de um novo artigo para o site principal,
  • Verifique se você ativou o Conteúdo do plug-in - Carregar módulos

Por padrão, o Joomla! inclui uma biblioteca chamada Bootstrap v2.3.2 , para que você possa usar o css nessa biblioteca, por exemplo, o sistema de grade : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • A partir daqui, em seu artigo, você pode ver um botão chamado Módulo , basta criar uma grade simples ou muito complexa e atribuir seus módulos a cada bloco.

Um benefício que você pode obter dessa maneira é que você pode obter um modelo mais leve com menos posições e menos código php, js e css; portanto, se você não precisar de muitas funcionalidades, poderá criar você mesmo.

Saudações.

AlejandroVega
fonte