News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Condición para button

Started by Jotade29, May 05, 2022, 09:34:14 PM

Previous topic - Next topic

Jotade29

Buenas, tengo una nueva duda.

Quiero poner un subbutton en un menú, concretamente de administración, pero a la hora de hacer la condición se me queda todo en blanco...

'admin' => array(
'title' => $txt['cerebroadmin'],
'href' => $scripturl . '?action=admin',
'show' => $context['allow_admin'],
'sub_buttons' => array(
'featuresettings' => array(
'title' => $txt['modSettings_title'],
'href' => $scripturl . '?action=admin;area=featuresettings',
'show' => allowedTo('admin_forum'),
),
'packages' => array(
'title' => $txt['package'],
'href' => $scripturl . '?action=admin;area=packages',
'show' => allowedTo('admin_forum'),
),
'errorlog' => array(
'title' => $txt['errlog'],
'href' => $scripturl . '?action=admin;area=logs;sa=errorlog;desc',
'show' => allowedTo('admin_forum') && !empty($modSettings['enableErrorLogging']),
),
//CONDICIÓN
                    if(1==1){
'permissions' => array(
'title' => $txt['edit_permissions'],
'href' => $scripturl . '?action=admin;area=permissions',
'show' => allowedTo('manage_permissions'),
'is_last' => true,
),
                    }
else{}
),
),

La condición es una chorrada, pero era para testear si funcionaba... ¿Cómo puedo poner la condición a la hora de crearlo?

Gracias.
Quote from: Diego Andrés on August 12, 2023, 02:20:18 AMI'm afraid convincing Jotade to upgrade to SMF 2.1 will require bigger effort than your work sanitizing Unicode characters  :laugh:

Dhayzon

la condición debes ponerlo fuera del array 

eejemplo
if(mi condicion)
   $bottom['admin']['sub_buttons']['permissions'] = array(
      'title' => $txt['edit_permissions'],
      'href' => $scripturl . '?action=admin;area=permissions',
      'show' => allowedTo('manage_permissions'),
      'is_last' => true,
   );



if(mi condicion)
   $bottom['admin']['sub_buttons']['mi sub menu'] = array(
      'title' =>'bla bla',
      'href' => $scripturl . '?action=admin;area=permissions',
      'show' => allowedTo('manage_permissions'),
      'is_last' => true,
   );


Jotade29

Buenas Dhayzon, gracias por responder. Realmente no me ha quedado nada claro. La condición la pongo fuera del array, ¿pero luego de que haya leído la condición... ejemplo

if(1==1)
$bottom['admin']['sub_buttons']['permissions'] = array(
      'title' => $txt['edit_permissions'],
      'href' => $scripturl . '?action=admin;area=permissions',
      'show' => allowedTo('manage_permissions'),
      'is_last' => true,
   );

else{}

En el caso de que entre por el true, ¿cómo podría visualizarlo como un subotón de la administración? Es decir, que ese botón, si es true (entra por el if) me lo muestre en el menú de botones de la administración. Gracias.

Quote from: Diego Andrés on August 12, 2023, 02:20:18 AMI'm afraid convincing Jotade to upgrade to SMF 2.1 will require bigger effort than your work sanitizing Unicode characters  :laugh:

Dhayzon

exacto. Supongo que sabes que array es el que contiene el menu, okey seguimos, ese array déjalo tranquilo no modifiques ni una sola linea si deseas usar una condición lo que tienes que haces es colo car abajo de ese array una condición

$menu = [......mi array];


if(micondicion){
   aqui lo que tienes que hacer es concatenar  una nueva clave al array, siguiendo la estructura del array del menu

  $elarrayqyecontieneelmenu['admin']['sub_buttons']['aquimiclave'] = [aquimiarrayconlos valores]
}


seria mas fácil si mandaras el Código completo de donde deseas poner eso

Advertisement: