[Tutorial] Agregar Sub-Acciones a una Pagina Creada

Started by vicram10, February 21, 2012, 02:44:34 PM

Previous topic - Next topic

vicram10

Bueno ya que hay un tutorial bien explicado que hizo mirahalo en su momento, yo solo voy a complementarlo..
Es para agregar a una pagina creada, subacciones..

Tutorial de como crear paginas... http://www.simplemachines.org/community/index.php?topic=371329.0

Deben seguir los mismos pasos.. solo que varia en algunas partes.. voy a tratar de explicar lo mejor posible...

Asi como en el tutorial anterior, se necesita de modificaciones en el index.php, Subs.php, y crear 2 archivos, uno para el Sources y el otro para el Themes..

En el index.php
Buscamos
'activate' => array('Register.php', 'Activate'),

Agregamos despues

//tutorial subacciones
//vicram10 21/02/2012
'afiliados' => array('Afiliados.php', 'Afiliados'),
//tutorial subacciones


Luego crear un archivo php con el nombre de Afiliados.php  y colocarlo en la carpeta Sources

Afiliados.php


<?php
//Tutorial Subacciones
//vicram10 21/02/2012
if (!defined('SMF'))
die('Hacking attempt...');

//cambiamos el afiliados por el nombre de nuestra pagina
function Afiliados() 
{   
//leemos por unica ves el template donde estaran todos los subtemplates para cada subaccion
loadTemplate('Afiliados');

//Load subactions for the ultimate portal preferences
$subActions = array(
//'subaccion el que se coloca afiliados;sa=XXX donde XXX es principal' => 'nombre de la funcion'
'principal' => 'AfiliadosPrincipal',
'otro' => 'AfiliadosOtro',
);
//capturamos la subaccion que le clikeamos
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'principal';

//nos vamos a la funcion que le decimos...
$subActions[$_REQUEST['sa']]();
}

//Sub Accion Principal
function AfiliadosPrincipal() 
{   
global $context;

$context['page_title'] = 'Mi Subaccion principal';  //este será el título que aparecera en tu página
// necesitamos llamar a el sub template
$context['sub_template'] = 'afiliados_principal';// aquí también cambiamos el nombre con el de la página que estés haciendo
}

//otro sub accion
function AfiliadosOtro() 
{   
global $context;

$context['page_title'] = 'Mi Otro Subaccion';  //este será el título que aparecera en tu página
// necesitamos llamar a el sub template
$context['sub_template'] = 'afiliados_otro';// aquí también cambiamos el nombre con el de la página que estés haciendo
}

?>



Una ves creado esto, debemos crear los templates.. para ello creamos un archivo php con el nombre de Afiliados.template.php y lo colocamos en la carpeta Themes/default.

Afiliados.template.php


<?php

function template_afiliados_principal()
{
global $context$settings$options$txt$scripturl;

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="4" align="center" class="tborder">
<tr class="titlebg">
<td align="center" >sub accion principal</td>
</tr><tr>
<td class="windowbg">'
;
 
echo '<table border="0" cellpadding="0" cellspacing="3" width="100%">
 <tr>
   <td width="100%" valign="top">
 sub accion principal
</td></tr></table>'
;
echo '
</td>
</tr>
</table><br /><br />
'
;

}

function 
template_afiliados_otro()
{
global $context$settings$options$txt$scripturl;

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="4" align="center" class="tborder">
<tr class="titlebg">
<td align="center" >sub accion otro</td>
</tr><tr>
<td class="windowbg">'
;
 
echo '<table border="0" cellpadding="0" cellspacing="3" width="100%">
 <tr>
   <td width="100%" valign="top">
 sub accion otro
</td></tr></table>'
;
echo '
</td>
</tr>
</table><br /><br />
'
;
}

?>



Por ultimo en el Subs.php

Buscamos

'search' => array(
'title' => $txt['search'],
'href' => $scripturl . '?action=search',
'show' => $context['allow_search'],
'sub_buttons' => array(
),
),


Agregamos Despues


//tutorial subacciones
//vicram10 21/02/2012
//www.smfsimple.com
'afiliados' => array(
'title' => 'Afiliados',
'href' => $scripturl . '?action=afiliados',
'show' => true,
'sub_buttons' => array(
'principal' => array(
'title' => 'Sub accion Principal',
'href' => $scripturl . '?action=afiliados;sa=principal',
'show' => true,
),
'otro' => array(
'title' => 'Sub accion otro',
'href' => $scripturl . '?action=afiliados;sa=otro',
'show' => true,
),
),
),
//fin tuto subacciones


y listo.. con esto tendremos creado nuestra pagina interna nueva y que tengan subacciones..

Para agregar mas paginas, simplemente se debe modificar en algunas partes..

En el archivo Afiliados.php

Dentro de la funcion "function Afiliados() " se encuentra el vector $subActions, dentro de la misma es el encargado de crear las subacciones de tu pagina interna..

Para agregar uno nuevo simplemente se debe agregar un nuevo subaccion y el nombre de la funcion que va a mostarlo..

de la siguiente forma


$subActions = array(
//'subaccion el que se coloca afiliados;sa=XXX donde XXX es principal' => 'nombre de la funcion'
'principal' => 'AfiliadosPrincipal',
'otro' => 'AfiliadosOtro',
'otro2' => 'AfiliadosOtro2',
);


Donde otro2 es el nuevo "sa" o subaccion agregado..

luego es de agregar la funcion que lo mostrara.. para ello solo debemos

En el archivo Afiliados.php

Buscamos

?>

Agregamos antes


//otro2 sub accion
function AfiliadosOtro2()
{   
global $context;

$context['page_title'] = 'Mi Otro2 Subaccion';  //este será el título que aparecera en tu página
// necesitamos llamar a el sub template
$context['sub_template'] = 'afiliados_otro2';// aquí también cambiamos el nombre con el de la página que estés haciendo
}


Luego en el Archivo Afiliados.template.php

Buscamos

?>

Agregamos antes


function template_afiliados_otro2()
{
global $context, $settings, $options, $txt, $scripturl;

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="4" align="center" class="tborder">
<tr class="titlebg">
<td align="center" >sub accion otro2</td>
</tr><tr>
<td class="windowbg">';

echo '<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
   <td width="100%" valign="top">
sub accion otro2
</td></tr></table>';
echo '
</td>
</tr>
</table><br /><br />
';
}


Ahi ya tenemos todo listo, solo ahora falta agregar dicha Sub accion en el menu de tu boton Afiliados

Para ello en el archivo Subs.php a nuestra funcion que agregamos anteriormente le agregamos la nueva subaccion quedando asi


//tutorial subacciones
//vicram10 21/02/2012
//www.smfsimple.com
'afiliados' => array(
'title' => 'Afiliados',
'href' => $scripturl . '?action=afiliados',
'show' => true,
'sub_buttons' => array(
'principal' => array(
'title' => 'Sub accion Principal',
'href' => $scripturl . '?action=afiliados;sa=principal',
'show' => true,
),
'otro' => array(
'title' => 'Sub accion otro',
'href' => $scripturl . '?action=afiliados;sa=otro',
'show' => true,
),
'otro2' => array(
'title' => 'Sub accion otro2',
'href' => $scripturl . '?action=afiliados;sa=otro2',
'show' => true,
),
),
),
//fin tuto subacciones


De esa forma creamos una nueva sub accion para nuestra pagina.

Cualquier consulta.. a las ordenes...

daviloco




Visita mi web y encuentra mas aportes...

SMF 2.0.2 | Adk Portal 2.0 « Elysium Edition » ®
Orange Theme by Skinmod.eu

Facebook: https://www.facebook.com/MDWarez
Twitter: https://twitter.com/midescargawarez



^HeRaCLeS^

Muy buen aporte!

Felicitaciones por el trabajo, esta bien entendible para novatos.

;)
^HeRaCLeS^
*¤×• Ni te molestes en enviarme un Mp porque el soporte lo doy solo por el foro •×¤*


SMFPersonal

Aportadordelmix


Advertisement: