Preciso inserir o módulo de pesquisa como um item de menu (módulo de menu padrão).
Eu preciso desta saída:
<ul>
<li>menu item</li>
<li>menu item</li>
<li>SEARCH MODULE</li>
<li>menu item</li>
...
</ul>
Meu primeiro pensamento seria duplicar o módulo de menu padrão duas vezes:
- Um para exibir itens de menu antes do módulo de pesquisa sem a
</ul>
marca de fechamento - Outro para exibir itens de menu após o módulo de pesquisa sem a
<ul>
tag de abertura
E insira o módulo de pesquisa entre eles. Esta não parece ser a maneira mais fácil e sustentável de alcançar meu objetivo, pois exige:
- 3 posições de módulo para o menu
- 2 menus diferentes no gerenciador de menus
Sei que poderia usar alguns dos módulos do mega menu para fazer isso, mas gostaria de evitar extensões de terceiros e usar um código personalizado que eu possa controlar.
Como posso adicionar um módulo como um item de menu no menu padrão?
joomla-3.x
menu-item
menu
web-tiki
fonte
fonte
jQuery
funções comoappend()
ouprepend()
que não funcionarão em navegadores desabilitados para javascript.Respostas:
Aqui está uma alternativa para carregar o módulo de pesquisa no seu menu. Requer algumas etapas simples:
1. Substitua seu
mod_menu
módulo\templates\YOURTEMPLATE\html\mod_menu\default_url.php
.default_url.php
Eu adicionei uma
if-else
declaração começando na linha 29, que verifica se o título do item de menu é "CustomSearchBox". Se for esse o caso, a posição do módulo "CustomSearchBox" é carregada. Caso contrário, o item de menu normal será retornado. Você pode alterar "CustomSearchBox" para o que quiser, mas se lembrar de usar o mesmo valor nas etapas a seguir.2. Crie um novo módulo de pesquisa
Crie o módulo de pesquisa e defina os parâmetros conforme necessário (sugiro ocultar o título do módulo).
Publique o módulo na posição personalizada "CustomSearchBox"
3. Crie um novo item de menu
O item do menu pode ser de qualquer tipo, sugiro "URL externo" e o nome DEVE ser "CustomSearchBox".
Salve o item do menu e o item inteiro será substituído pela caixa de pesquisa!
Deixe-me saber se algo não está claro.
fonte
$linktype == "CustomSearchBox"
e aqui$position = 'CustomSearchBox';
CustomSearchBox
no campo de posição do módulo e pressione enter.$document = JFactory::getDocument();
. Agora funciona, mas terei que encontrar uma maneira de adicionar minha imagem novamente.$linktype
na função de eco. O código é visível aqui: phpad.org/1645824385 . Obrigado por me indicar a direção certa. Isso é algo que eu queria alcançar há algum tempo, agora é incrível! :)Embora você diga que não deseja usar extensões de terceiros, eu tenho uma solução que usa o RokCandy do RocketTheme . É um pequeno componente de trecho que facilita a adição do campo de pesquisa no menu. Basta instalar o plug-in e criar uma nova macro como esta:
Macro
HTML
Salvar e fechar.
Agora crie um item de menu para a caixa de pesquisa (sugiro
External URL
como tipo, mas qualquer tipo de item de menu serve) e, no campo Título , adicione[searchfield][/searchfield]
:O RokCandy substituirá o título pelo código na macro e você obterá um campo de pesquisa no menu:
fonte