Posteador
vellenger
Administrador



Panel de control adicional administrable




Aqui les comparto ese complemento que me lo pidieron.
Como todos sabran, las configuraciones globales de la admin caen siempre a la seccion del configs, y muchos hacen uso de ello y se agregan tantas cosas que queda extenso la configuracion.
Este mod lo que hace es agregar un campo extra para guardar datos de configuraciones de manera global.
Con esto podran agregar nuevos campos globales, sin tener que colapsar al configs.



En header.php buscamos/align]


  // Configuraciones
$smarty->assign('tsConfig',$tsCore->settings);



Y agregamos abajo/align]


  // Control
$smarty->assign('tsControl',$tsCore->vellenger);



En c.core.php buscamos/align]


 $this->settings = $this->getSettings();



Y agregamos abajo/align]


$this->vellenger = $this->getControl();



Buscamos/align]


function getSettings()
{
$query = mysql_query('SELECT * FROM w_configuracion');
return mysql_fetch_assoc($query);
}


Y agregamos abajo/align]


/*
getControl() :: CONTROLES GLOBALES
*/
function getControl()
{
$query = mysql_query('SELECT * FROM w_control');
return mysql_fetch_assoc($query);
}




En admin.php buscamos/align]


/** NOTICIAS **/
} elseif($action == 'news'){



Y agregamos antes/align]


}elseif($action == 'control'){
// GUARDAR CONTROLES
if(!empty($_POST['dominio'])) {
if($tsAdmin->saveControl()) $tsCore->redirectTo($tsCore->settings['url'].'/admin/control?save=true');
}







En c.admin.php buscamos al final/align]


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

}


Y agregamos arriba/align]



/*
saveControl()
*/
function saveControl()
{
global $tsCore;
//
$control = array(
'dominio' => $tsCore->setSecure($tsCore->parseBadWords($_POST['dominio'])));
// UPDATE
if (mysql_query('UPDATE `w_control` SET `dominio` = \'' . $control['dominio'] . '\' WHERE `control_id` = \'1\''))
return true;
else
die(mysql_error());
}








En t.admin.tpl buscamos/align]


{/if}



Y agregamos arriba/align]


{elseif $tsAction == 'control'}
{include file='admin_mods/admin_control.tpl'}




Subimos el archivo admin_control.tpl a la carpeta /admin_mods/


En el archivo m.admin_sidemenu.tpl buscamos/align]

<li id="a_configs"><span class="cat-title"><a href="{$tsConfig.url}/admin/configs">Configuraci&oacute;n </a></span></li>


Y agregamos abajo/align]

<li id="a_configs"><span class="cat-title"><a href="{$tsConfig.url}/admin/control">Controles Extras </a></span></li>



Por ultmio hacemos esta consulta SQL/align]



CREATE TABLE IF NOT EXISTS `w_control` (
`control_id` int(11) NOT NULL AUTO_INCREMENT,
`dominio` varchar(250) NOT NULL,
PRIMARY KEY (`control_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

INSERT INTO `w_control` (`dominio`) VALUES
('http://www.vellenger.com');




EL nombre del dominio lo cambian por el suyo..



Aqui les dejo el archivo que deberan subir a su carpeta




Ahora para mostrar un campo sera similar como el del configs, un ejemplo seria,


{$tsConfig.url} = {$tsControl.dominio}


Como veran laforma de uso es similar y podran agregarlo en cualquier lugar de su web.






Ahora podran tener un panel de control extra, sin tener que hacer uso del configs, y no lo llenaran de configuraciones.
Se puede hacer que ese panel sea solo para el primer admin, pero seria opcional, si lo desean me avisan y se los modifico.


Para agregar nuevos campo simplemente deberan seguir los mismos pasos cuando agregaban al configs.


Espero les sea de agrado y utilidad..
Cualquier problema me escriben que les respondere en cuanto leea el mensaje..





6 Comentarios


Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Ir al cielo