Advertisement:

Author Topic: MOD Menu without limit level  (Read 16566 times)

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
MOD Menu without limit level
« on: February 21, 2010, 02:11:50 PM »
Menu without limit level

ACERCA DE...

Menu without limit level, 1.0.11
Menú superior sin límite de niveles.
© 2010-2015 por davidhs


Esta obra está bajo una licencia de Creative Commons Reconocimiento 3.0 Unported.

DESCRIPCIÓN

Añade la posibilidad de que el menú superior del foro tenga cualquier número de niveles.

Modifica:
  • El código donde se define el menú para permitir cualquier número de niveles.
  • El tema default para que muestre hasta 10 niveles (el menú principal y 9 niveles de submenús), por causa del CSS.


EJEMPLO

Para crear este menú, similar al de la imagen,

Quote
Menu multi-level
  • Submenu 1 - level 1
    • Submenu 1.1 - level 2
      • Submenu 1.1.1 - level 3
      • Submenu 1.1.2 - level 3
    • Submenu 1.2 - level 2
      • Submenu 1.2.1 - level 3
      • Submenu 1.2.2 - level 3
    • Submenu 1.3 - level 2
  • Submenu 2 - level 1
    • Submenu 2.1 - level 2
    • Submenu 2.1 - level 2

se puede modificar el fichero Sources/Subs.php

Quote
En la función setupMenuContext() añadir el código
Code: [Select]
'm0' => array(
'title' => 'Menu multi-level',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm1' => array(
'title' => 'Submenu 1 - level 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm11' => array(
'title' => 'Submenu 1.1 - level 2',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm111' => array(
'title' => 'Submenu 1.1.1 - level 3',
'href' => '',
'show' => true,
),
'm112' => array(
'title' => 'Submenu 1.1.2 - level 3',
'href' => '',
'show' => true,
),
),
),
'm12' => array(
'title' => 'Submenu 1.2 - level 2',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm121' => array(
'title' => 'Submenu 1.2.1 - level 3',
'href' => '',
'show' => true,
),
'm122' => array(
'title' => 'Submenu 1.2.2 - level 3',
'href' => '',
'show' => true,
),
),
),
'm13' => array(
'title' => 'Submenu 1.3 - level 2',
'href' => '',
'show' => true,
),
),
),
'm2' => array(
'title' => 'Submenu 2 - level 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm21' => array(
'title' => 'Submenu 2.1 - level 2',
'href' => '',
'show' => true,
),
'm22' => array(
'title' => 'Submenu 2.2 - level 2',
'href' => '',
'show' => true,
),
),
),
),
),

o utilizar integration hooks

Quote
1. Crear el fichero Sources/Subs-MenuMultiLevel.php con el contenido
Code: [Select]
<?php

if (!defined('SMF'))
die('Hacking attempt...');

function 
menu_multi_level(&$buttons)
{
$buttons2 $buttons;
$buttons = array();
foreach ($buttons2 as $i => $b)
{
$buttons[$i] = $b;
if ('home' == $i)
{
$buttons['m0'] = array(
'title' => 'Menu multi-level',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm1' => array(
'title' => 'Submenu 1 - level 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm11' => array(
'title' => 'Submenu 1.1 - level 2',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm111' => array(
'title' => 'Submenu 1.1.1 - level 3',
'href' => '',
'show' => true,
),
'm112' => array(
'title' => 'Submenu 1.1.2 - level 3',
'href' => '',
'show' => true,
),
),
),

'm12' => array(
'title' => 'Submenu 1.2 - level 2',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm121' => array(
'title' => 'Submenu 1.2.1 - level 3',
'href' => '',
'show' => true,
),
'm122' => array(
'title' => 'Submenu 1.2.2 - level 3',
'href' => '',
'show' => true,
),
),
),

'm13' => array(
'title' => 'Submenu 1.3 - level 2',
'href' => '',
'show' => true,
),
),
),

'm2' => array(
'title' => 'Submenu 2 - level 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'm21' => array(
'title' => 'Submenu 2.1 - level 2',
'href' => '',
'show' => true,
),
'm22' => array(
'title' => 'Submenu 2.2 - level 2',
'href' => '',
'show' => true,
),
),
),

),
);

}
}

}

?>

2. En el fichero Sources/Load.php, encontrar
Code: [Select]
// Integration is cool.
if (defined('SMF_INTEGRATION_SETTINGS'))
{
$integration_settings = unserialize(SMF_INTEGRATION_SETTINGS);
foreach ($integration_settings as $hook => $function)
add_integration_function($hook, $function, false);
}
y añadir después
Code: [Select]
add_integration_function('integrate_menu_buttons', 'menu_multi_level', false);
add_integration_function('integrate_pre_include', '$boarddir/Sources/Subs-MenuMultiLevel.php', false);

COMPATIBILIDAD SMF

  • SMF 2.0 a 2.0.15.

DESCARGA

Enlace al MOD.

INSTALACIÓN MANUAL

Véase http://wiki.simplemachines.org/smf/Manual_installation_of_mods

SOPORTE Y COMENTARIOS

En inglés: http://www.simplemachines.org/community/index.php?topic=369595.0
En español: http://www.simplemachines.org/community/index.php?topic=367071.0

REGISTRO DE CAMBIOS

Code: [Select]
Leyenda:   ! Corregido   + Añadido   - Eliminado   * Cambiado   @ Nota

1.0.11  24/01/2014
------------------
! Error en el código fuente.
+ Compatibilidad SMF: 2.0.7.

1.0.10  24/10/2013
------------------
+ Compatibilidad SMF: 2.0.6.

1.0.9   18/08/2013
------------------
@ Esta obra está bajo una licencia de Creative Commons Reconocimiento 3.0 Unported http://creativecommons.org/licenses/by/3.0/deed.es_ES
+ Compatibilidad SMF: 2.0.5.

1.0.8   09/04/2013
------------------
+ Compatibilidad SMF: 2.0.4.
- Compatibilidad SMF: Soporte a las versiones RC.

1.0.7   22/12/2012
------------------
+ Compatibilidad SMF: 2.0.3.

1.0.6   24/12/2011
------------------
! Algunas modificaciones del index.css del tema no son necesarias.
+ Compatibilidad SMF: 2.0.2.

1.0.5   20/09/2011
------------------
+ Compatibilidad SMF: 2.0.1.

1.0.4   18/06/2011
------------------
+ Compatibilidad SMF: 2.0.

1.0.3   13/02/2011
------------------
+ Compatibilidad SMF: 2.0 RC5.

1.0.2   04/11/2010
------------------
+ Compatibilidad SMF: 2.0 RC4.

1.0.1   10/03/2010
------------------
! En 2.0 RC2, los niveles 4 en adelante se mostraban y ocultaban a la vez.
+ Compatibilidad SMF: 2.0 RC3.

1.0     08/03/2010
------------------
+ Compatibilidad SMF: 2.0 RC2.
+ Temas: default.
« Last Edit: November 25, 2017, 01:39:28 PM by d3vcho(); »

Offline arielvissig

  • Jr. Member
  • **
  • Posts: 365
  • Gender: Male
    • Compartite
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #1 on: February 22, 2010, 06:45:28 AM »
Exelente...podrias poder el parse por favor....

Y como se agregan submenus??

Gracias
« Last Edit: February 22, 2010, 06:56:16 AM by arielvissig »

Mi foro: http://www.compartite.com
VERSION: 2.0 RC3
SIMPLE PORTAL 2.3.1
Theme:Default

Mi otro foro: http://www.temperleyforo.com.ar
VERSION: 1.1.11
AdkPortal
theme: default



VERSION: 2.0 RC3
theme: default

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #2 on: February 22, 2010, 01:01:57 PM »
¿A qué te refieres con lo del "parse"?

Para añadir submenús edita el Sources/Subs.php donde se define el menú (función setupMenuContext()). Ahora puedes poner 'sub_buttons' => array() hasta cualquier nivel (antes también podías pero solo se mostraba el primer y segundo nivel.

P.ej para crear el menú:

Nivel 0
  • Nivel 1
    • Nivel 1.1
      • Nivel 1.1.1
      • Nivel 1.1.2
    • Nivel 1.2
  • Nivel 2

añade:
Code: [Select]
'menu0' => array(
'title' => 'Nivel 0',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu1' => array(
'title' => 'Nivel 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu11' => array(
'title' => 'Nivel 1.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu111' => array(
'title' => 'Nivel 1.1.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu112' => array(
'title' => 'Nivel 1.1.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),
'menu12' => array(
'title' => 'Nivel 1.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),
'menu2' => array(
'title' => 'Nivel 2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),

Offline vicram10

  • SMF Hero
  • ******
  • Posts: 5,754
  • Gender: Male
  • Founding Father of Ultimate Portal
    • vmrm10 on Facebook
    • @vicram_10 on Twitter
    • Noticias Tecnologicas, Tutoriales e Internet
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #3 on: February 22, 2010, 01:03:44 PM »
¿A qué te refieres con lo del "parse"?

Tutorial para Instalar Manualmente

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #4 on: February 22, 2010, 01:09:52 PM »
Aún no lo tengo hecho  :-[, pero lo pondré.

Offline arielvissig

  • Jr. Member
  • **
  • Posts: 365
  • Gender: Male
    • Compartite
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #5 on: February 22, 2010, 03:50:13 PM »
Gracias...,muy bueno...

Mi foro: http://www.compartite.com
VERSION: 2.0 RC3
SIMPLE PORTAL 2.3.1
Theme:Default

Mi otro foro: http://www.temperleyforo.com.ar
VERSION: 1.1.11
AdkPortal
theme: default



VERSION: 2.0 RC3
theme: default

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #6 on: March 06, 2010, 11:17:50 AM »
He hecho cambios en el package-info.xml, pero el MOD funciona igual.

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #7 on: March 08, 2010, 04:48:08 PM »
Tras unos cambios, el MOD ha sido aprobado http://custom.simplemachines.org/mods/index.php?mod=2454

Offline Ginolatex

  • Jr. Member
  • **
  • Posts: 227
  • Gender: Male
Re: MOD MenuWithoutLimitLevel (Menú superior sin límite de niveles)
« Reply #8 on: March 09, 2010, 04:32:39 PM »
Fantástico, justo andaba buscando algo así!!!!!  ;D

En cuanto se vea el Parse lo pongo es uso.


Saludos.

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #9 on: March 10, 2010, 01:45:40 PM »
En cuanto se vea el Parse lo pongo es uso.

Si te refieres a la instalación manual, no voy a hacer tutorial por que ya existe uno general en http://docs.simplemachines.org/index.php?topic=402

Ahora admite SMF 2.0 RC3.

Offline zutzu

  • SMF Hero
  • ******
  • Posts: 2,925
  • Gender: Male
  • by Fireworks!
    • SMF Themes - Soporte - Mods
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #10 on: March 10, 2010, 02:52:34 PM »
Fantástico, justo andaba buscando algo así!!!!!  ;D
En cuanto se vea el Parse lo pongo es uso.
Saludos.

el parse ya esta

http://custom.simplemachines.org/mods/index.php?action=parse;mod=2454;attach=137264;smf_version=2.0_RC2


-- Gracias por el mod, muy útil ;)

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #11 on: March 11, 2010, 06:18:02 AM »
No sabía que eso era el "parse". No lo hago yo, lo hace la web.
« Last Edit: March 12, 2010, 08:44:53 AM by davidhs »

Offline Ginolatex

  • Jr. Member
  • **
  • Posts: 227
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #12 on: March 11, 2010, 10:05:49 AM »
Ahora si. Muchas gracias a los dos. Como decia, me viene que ni pintado.


Un saludo.

Offline enik

  • SMF Hero
  • ******
  • Posts: 1,429
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #13 on: March 11, 2010, 01:05:08 PM »
Buen mod lo acavo de mirar en la seccion .

ciao.

Offline Ginolatex

  • Jr. Member
  • **
  • Posts: 227
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #14 on: March 11, 2010, 02:29:57 PM »
Alguién me puede enseñar dónde fallo, me funciona si no uso la parte del submenú 331, algo hago mal pero ni idea de que!!!!

Code: [Select]
'menu0' => array(
'title' => 'Nivel 0',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu1' => array(
'title' => 'Nivel 1',
'href' => '',
'show' => true,
'sub_buttons' => array(
     'menu11' => array(
'title' => 'Nivel 1.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu12' => array(
'title' => 'Nivel 1.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu13' => array(
'title' => 'Nivel 1.3',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu14' => array(
'title' => 'Nivel 1.4',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu15' => array(
'title' => 'Nivel 1.5',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu16' => array(
'title' => 'Nivel 1.6',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu17' => array(
'title' => 'Nivel 1.7',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu18' => array(
'title' => 'Nivel 1.8',
'href' => '',
'show' => true,
'sub_buttons' => array(

),
),
),
),
'menu2' => array(
'title' => '2',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu21' => array(
'title' => '2.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu22' => array(
'title' => '2.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu23' => array(
'title' => '2.3',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu24' => array(
'title' => '2.4',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu25' => array(
'title' => '2.5',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu26' => array(
'title' => '2.6',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu27' => array(
'title' => '2.7',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu28' => array(
'title' => '2.8',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),
'menu3' => array(
'title' => '3',
'href' => '',
'show' => true,
'sub_buttons' => array(
   'menu31' => array(
'title' => '3.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu32' => array(
'title' => '3.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu33' => array(
'title' => '3.3',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu331' => array(
'title' => 'Nivel 3.3.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu332' => array(
'title' => 'Nivel 3.3.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),
'menu4' => array(
'title' => '4',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu41' => array(
'title' => '4.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu42' => array(
'title' => '4.2',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu43' => array(
'title' => '4.3',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu44' => array(
'title' => '4.4',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu45' => array(
'title' => '4.5',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu46' => array(
'title' => '4.6',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu47' => array(
'title' => '4.7',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
),
),
'menu5' => array(
'title' => '5',
'href' => '',
'show' => true,
'sub_buttons' => array(

),
),
),
),

sin esto de fabula:

                                                                             
Code: [Select]
  ),
),
'menu33' => array(
'title' => '3.3',
'href' => '',
'show' => true,
'sub_buttons' => array(
'menu331' => array(
'title' => 'Nivel 3.3.1',
'href' => '',
'show' => true,
'sub_buttons' => array(
),
),
'menu332' => array(
'title' => 'Nivel 3.3.2',
'href' => '',
'show' => true,
'sub_buttons' => array(


Saludos.

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #15 on: March 12, 2010, 09:01:04 AM »
Alguién me puede enseñar dónde fallo, me funciona si no uso la parte del submenú 331, algo hago mal pero ni idea de que!!!!

Te faltan por cerrar dos paréntesis, entre el nivel 332 y el 4
Code: [Select]
                           'menu332' => array(
                              'title' => 'Nivel 3.3.2',
                              'href' => '',
                              'show' => true,
                              'sub_buttons' => array(
                              ),),
                              ),
                           ),
                        ),
                     ),
               'menu4' => array(

Offline Ginolatex

  • Jr. Member
  • **
  • Posts: 227
  • Gender: Male
Re: MOD MenuWithoutLimitLevel 1.0.1 (SMF 2.0 RC2, 2.0 RC3)
« Reply #16 on: March 12, 2010, 10:10:31 AM »
Uhh, muchas gracias, si estaba ahí el error, tanto darle vueltas al final me hice un taco.
Repito, muy agradecido por todo por el mod y por la ayuda.


Saludos.

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD Menu without limit level, 1.0.2 (SMF 2.0 RC2 a RC4)
« Reply #17 on: November 13, 2010, 09:02:55 AM »
Nueva versión:

Code: [Select]
1.0.2   04/11/2010
------------------
+ Compatibilidad SMF: Añade 2.0 RC4.

Offline enik

  • SMF Hero
  • ******
  • Posts: 1,429
  • Gender: Male
Re: MOD Menu without limit level, 1.0.2 (SMF 2.0 RC2 a RC4)
« Reply #18 on: November 13, 2010, 10:10:03 AM »
Perfecto buen mod  ;)

Offline davidhs

  • Sr. Member
  • ****
  • Posts: 936
  • Gender: Male
Re: MOD Menu without limit level, 1.0.3 (SMF 2.0 RC2-RC5)
« Reply #19 on: February 13, 2011, 03:24:52 PM »
Nueva versión:

Code: [Select]
1.0.3   13/02/2011
------------------
+ Compatibilidad SMF: Añade 2.0 RC5.