Costumo criar um item de menu que exiba um módulo na área de componentes, sem nenhum outro conteúdo.
A maneira como resolvo isso é criar um novo artigo e adicionar apenas {loadposition mymodule}
o conteúdo do artigo. Em seguida, crio um item de menu Artigo único para o artigo. Isso é bom para um único módulo, mas e se eu tiver 20 módulos diferentes que quero exibir dessa maneira? Eu teria que criar 20 módulos, 20 artigos (quase vazios) e 20 itens de menu.
Existem outras maneiras de exibir um módulo (e nada mais) na área de componentes de um modelo? Truques? Hacks? Ideias?
joomla-3.x
joomla-2.5
module
templates
content
johanpw
fonte
fonte
Respostas:
Eu fiz isso criando uma posição do módulo no mesmo local que o componente e verificando se um módulo está presente nessa posição e exibi-lo; caso contrário, vá para o componente:
Exemplo de código:
Então, quando quero exibir um módulo em vez de componente em uma página, crio o módulo para atribuí-lo a esse item de menu e pronto.
Uma pequena nota lateral:
Para maior comodidade e melhor clareza, sugiro nomear essa posição do módulo como "módulo de conteúdo", "módulo principal" ou "compomodule". Qualquer coisa que lembrará que qualquer módulo posicionado ali substituirá a saída do componente.
fonte
Para aprimorar as respostas fornecidas aqui:
Para incluir uma posição de módulo na visualização do componente e carregar os módulos, basta adicionar
para o arquivo de visualização.
A segunda string com a tag abreviada de posição de carregamento pode ser substituída por uma var que contém mais html, se você precisar. Você não precisa escrever essa linha para cada nova posição do módulo:
(Eu sei que essa não é uma resposta direta à pergunta dos autores.)
fonte
Aqui está uma solução simples e funcional. Eu tentei com o jdoc: include, mas não funcionou.
fonte
Eu tive que fazer o mesmo no meu site para demos de extensão e botões de download, no entanto, com toda a honestidade, acho que manter as coisas separadas é, de certa forma, melhor, pois é mais fácil de gerenciar. Não apenas eu tenho certeza que não há como alcançar o que você está procurando através do CMS real, apenas código rígido (não diga mais nada).
fonte
Primeiro, de acordo com a sua pergunta, você já está criando 20 módulos e 20 itens de menu; portanto, a única coisa extra a ser feita é criar um item de conteúdo de uma linha para cada módulo. Se isso é realmente tão oneroso, vá em frente com a ideia de @ FFrewin. É um pouco hacky, mas vai funcionar.
Pessoalmente, eu iria com os itens de conteúdo. Na verdade, eu fiz isso quando estava construindo um sistema com caixas de diálogo pop-up que também queria que o trabalho estivesse sem o js ativado. Coloquei o conteúdo da caixa de diálogo em um módulo custom_html, manipulei o módulo a ser revelado e posicionado quando um link foi clicado. E também apontei o link para um item de conteúdo, incluindo o módulo como você descreveu. Se js estiver ativado, o link não será seguido e a caixa de diálogo será revelada. Se js foi desativado, o link foi seguido e o conteúdo da caixa de diálogo foi exibido como conteúdo. E o conteúdo estava em um só lugar, então eu não estava mantendo duas cópias separadas do conteúdo.
fonte
A maneira mais limpa de fazer isso é usando: http://extensions.joomla.org/extension/m2c-module-to-component
fonte
Tente isto
ref: /programming/12225538/how-we-include-a-joomla-module-in-a-component-view-in-joomla
fonte
Crie um artigo em branco.
Crie um item de menu selecionando o artigo que você criou.
Crie o módulo na posição não utilizada, defina a atribuição do menu apenas nas páginas selecionadas, selecione apenas o item de menu acima.
Uma vez que este estava no topo, eu daria a minha resposta, é isso que eu faço.
fonte