Necesito insertar el módulo de búsqueda como elemento de menú (módulo de menú predeterminado).
Necesito esta salida:
<ul>
<li>menu item</li>
<li>menu item</li>
<li>SEARCH MODULE</li>
<li>menu item</li>
...
</ul>
Mis primeros pensamientos serían duplicar el módulo de menú predeterminado dos veces:
- Uno para mostrar los elementos del menú antes del módulo de búsqueda sin la
</ul>
etiqueta de cierre - Otro para mostrar los elementos del menú después del módulo de búsqueda sin la
<ul>
etiqueta de apertura
E inserte el módulo de búsqueda entre ellos. Esta no parece ser la forma más fácil y fácil de lograr mi objetivo, ya que requiere:
- 3 posiciones de módulo para el menú
- 2 menús diferentes en el administrador de menús
Sé que podría usar algunos de los módulos de megamenú para hacer esto, pero me gustaría evitar extensiones de terceros y usar código personalizado que pueda controlar.
¿Cómo puedo agregar un módulo como elemento de menú en el menú predeterminado?
joomla-3.x
menu-item
menu
web-tiki
fuente
fuente
jQuery
funciones comoappend()
oprepend()
que no funcionarán en los navegadores con JavaScript deshabilitado.Respuestas:
Aquí hay una alternativa para cargar el módulo de búsqueda en su menú. Requiere un par de pasos simples:
1. Anula tu
mod_menu
módulo\templates\YOURTEMPLATE\html\mod_menu\default_url.php
.default_url.php
He agregado una
if-else
declaración que comienza en la línea 29, que verifica si el título del elemento del menú es "CustomSearchBox". Si ese es el caso, se carga la posición del módulo "CustomSearchBox". Si no, se devuelve el elemento de menú normal. Puede cambiar "CustomSearchBox" a lo que quiera, pero si recuerda usar el mismo valor en los siguientes pasos.2. Crear un nuevo módulo de búsqueda
Cree el módulo de búsqueda y configure los parámetros según sea necesario (sugiero ocultar el título del módulo).
Publique el módulo en la posición personalizada "CustomSearchBox"
3. Crear un nuevo elemento de menú
El elemento del menú puede ser de cualquier tipo, sugiero "URL externa" y el nombre DEBE ser "CustomSearchBox".
¡Guarde su elemento de menú, y todo el elemento de menú será reemplazado por el cuadro de búsqueda!
Avísame si algo no está claro.
fuente
$linktype == "CustomSearchBox"
y aquí$position = 'CustomSearchBox';
CustomSearchBox
en el campo de posición del módulo y presione Intro.$document = JFactory::getDocument();
. Ahora funciona, pero tendré que encontrar la manera de volver a agregar mi imagen.$linktype
función echo. El código está visible aquí: phpad.org/1645824385 . Gracias por señalarme en la dirección correcta. Esto es algo que quería lograr desde hace algún tiempo. ¡Es increíble! :)Aunque diga que no desea usar extensiones de terceros, tengo una solución que usa RokCandy de RocketTheme . Es un componente de fragmento pequeño que hace que sea muy fácil agregar el campo de búsqueda en el menú. Simplemente instale el complemento y cree una nueva macro como esta:
Macro
HTML
Guardar y cerrar.
Ahora cree un elemento de menú para el cuadro de búsqueda (sugiero
External URL
como tipo, pero cualquier tipo de elemento de menú servirá), y en el campo Título , agregue[searchfield][/searchfield]
:RokCandy reemplazará el título con el código en la macro, y obtendrá un campo de búsqueda en el menú:
fuente