La importancia de la seguridad es importante al desarrollar sitios web y mas si utilizas un cms Joomla como yo, bueno con esto que comento no quiere decir que Joomla es vulnerable o algo por el estilo, sino con esto busco que mediante la eliminación de la meta description sepan que version de Joomla utilizas, para ello devemos comentar la siguiente linea ubicada en
/libraries/joomla/document/html/renderer/head.php
$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'"/>'.$lnEnd;
y solo hay que comentarla asi pasaremos a eliminar la meta de Joomla
<meta name="generator" content="Joomla" />
Comenta no cuesta nada!!
Blog en donde encontraras ejemplos de código fuente, soluciones a problemas en Linux y Más
Mostrando entradas con la etiqueta Joomla. Mostrar todas las entradas
Mostrando entradas con la etiqueta Joomla. Mostrar todas las entradas
12 junio 2009
22 mayo 2009
Paginacion simple en Front-end Joomla
Programar componentes para Joomla es un verdadero desafio asi que aqui les traigo un ejemplo que les puede servir para paginar en el front-end, el componente no tiene un instalador solo hay que seguir los pasos de este mini tuto
para ver funcionando el componente, en la siguiente figura se muestra la estructura de directorios que se deve formar en el directorio components de nuestro joomla:
Primero crearemos la tabla que contiene los registros a paginar en este caso crea un archivo sql o pega el codigo en tu phpmyadmin:
Seguimos dentro del archivo pag.php introducimos el siguiente codigo
contenido del fichero controller.php
contenido views/tmpl/default.php
ahora acceder a nuetro local, o donde tengamos alojado nuestro joomla con la siguiente url: http://localhost/index.php?option=com_pag

Se que es un ejemplo simple pero espero y alguien puede ampliarlo para el filtrado por busqueda y columnas.

Primero crearemos la tabla que contiene los registros a paginar en este caso crea un archivo sql o pega el codigo en tu phpmyadmin:
CREATE TABLE IF NOT EXISTS `jos_edosmx` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`alias` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`))
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ;
--
-- Dumping data for table `jos_edosmx`
--
INSERT INTO `jos_edosmx` (`id`, `title`,`alias`) VALUES
(1, 'Aguascalientes','aguascalientes'),
(2, 'Baja California','baja-california'),
(3, 'Baja California Sur','baja-california-sur'),
(4, 'Campeche','campeche'),
(5, 'Chiapas','chiapas'),
(6, 'Chihuahua','chihuahua'),
(7, 'Coahuila de Zaragoza','coahuila-de-zaragoza'),
(8, 'Colima','colima'),
(9, 'Distrito Federal','distrito-federal'),
(10, 'Durango','durango'),
(11, 'Guanajuato','guanajuato'),
(12, 'Guerrero','guerrero'),
(13, 'Hidalgo','hidalgo'),
(14, 'Jalisco','jalisco'),
(15, 'México','mexico'),
(16, 'Michoacán de Ocampo','michoacan-de-ocampo'),
(17, 'Morelos','morelos'),
(18, 'Nayarit','nayarit'),
(19, 'Nuevo León','nuevo-leon'),
(20, 'Oaxaca','oaxaca'),
(21, 'Puebla','puebla'),
(22, 'Querétaro Arteaga','queretaro-arteaga'),
(23, 'Quintana Roo','quintana-roo'),
(24, 'San Luís Potosí','san-luis-potosi'),
(25, 'Sinaloa','sinaloa'),
(26, 'Sonora','sonora'),
(27, 'Tabasco','tabasco'),
(28, 'Tamaulipas','tamaulipas'),
(29, 'Tlaxcala','tlaxcala'),
(30, 'Veracruz Llave','veracruz-llave'),
(31, 'Yucatán','yucatan'),
(32, 'Zacatecas','zacatecas');
Seguimos dentro del archivo pag.php introducimos el siguiente codigo
<?php
defined('_JEXEC')or die('Restricted Access');
//importando el contollador base
require_once(JPATH_COMPONENT.DS.'controller.php');
if($controller = JRequest::getWord('controller')){
$path = JPATH_COMPONENT.DS.'controller'.DS.$controller.'.php';
if(file_exists($path)){
require_once $path;
}else{
$controller = "";
}
}
$classname = 'PagController'.$controller;
$controller = new $classname();
$controller->execute(JRequest::getVar('task'));
$controller->redirect();
?>
contenido del fichero controller.php
<?phpcontenido /models/pag.php
defined('_JEXEC')or die('Acceso Resntringido');
jimport('joomla.application.component.controller');
class PagController extends JController{
function display(){
parent::display();
}
}
?>
<?phpcontenido /views/view.html.php
defined('_JEXEC') or die( 'Restricted access' );
jimport('joomla.application.component.model');
class PagModelPag extends JModel{
//obtiene el numero maximo de registros en la tabla
function getTotal(){
$db =& JFactory::getDBO();
$query = 'SELECT COUNT(*) '.' FROM #__edosmx ';
$db->setQuery($query);
return $db->loadResult();
}
function getData($limitstart,$limit){
$db =& JFactory::getDBO();
$query = "SELECT * FROM #__edosmx";
$db->setQuery( $query, $limitstart, $limit );
return $db->loadObjectList();
}
}
?>
<?php
defined('_JEXEC')or die('Acceso Restringido');
jimport('joomla.application.component.view');
class PagViewPag extends JView{
function display($tpl = null){
global $mainframe, $option;
$params = &$mainframe->getParams();
$layout = JRequest::getCmd('layout');
$limitstart = JRequest::getVar('limitstart', 0, '', 'int');
$params->def('show_pagination_limit', 1);
$params->def('filter',2);
jimport('joomla.html.pagination');
$limit = $mainframe->getUserStateFromRequest('com_pag.'.$this->getLayout().'.limit', 'limit', $default_limit, 'int');
$total = & $this->get( 'Total' );
$pagination = new JPagination($total, $limitstart, $limit);
$model =& $this->getModel();
$datos = & $model->getData($pagination->limitstart,$pagination->limit);
$filter= JRequest::getString('filter');
$this->assign('datos',$datos);
$this->assignRef('params', $params);
$this->assignRef('pagination', $pagination);
parent::display($tpl);
}
}
?>
contenido views/tmpl/default.php
<?php
defined('_JEXEC')or die('Acceso Restringido');
?>
<form action="<?php echo $this->action; ?>" method="post" name="adminForm">
<div style="text-align:center;">
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<table width="100%">
<tr>
<?php if ($this->params->get('filter')) :?>
<td align="left" width="60%" nowrap="nowrap">
<?php echo JText::_($this->params->get('filter_type') . ' Filter').' '; ?>
<input type="text" name="filter" value="<?php echo $this->escape($this->lists['filter']);?>" class="inputbox" onchange="document.adminForm.submit();" />
</td>
<?php endif; ?>
<?php if ($this->params->get('show_pagination_limit')) : ?>
<td align="right" width="40%" nowrap="nowrap">
<?php
echo ' '.JText::_('Display Num').' ';
echo $this->pagination->getLimitBox();
?>
</td>
<?php endif; ?>
</tr>
</table>
<table width="100%">
<tr>
<td align="center" class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="5%" nowrap="nowrap">
<?php echo JText::_('id'); ?>
</td>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="45%">
<?php echo JText::_('Titulo'); ?>
</td>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="20%">
<?php echo JText::_('Alias'); ?>
</td>
</tr>
<?php
/**contenido de la tabla*/
foreach ($this->datos as $dato) : ?>
<tr class="sectiontableentry<?php echo ($item->odd +1 ) . $this->params->get( 'pageclass_sfx' ); ?>" >
<td><?php echo $dato->id;?></td>
<td><?php echo $dato->title;?></td>
<td><?php echo $dato->alias;?></td>
</tr>
<?php endforeach;?>
</table>
<div style="text-align:center;">
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
ahora acceder a nuetro local, o donde tengamos alojado nuestro joomla con la siguiente url: http://localhost/index.php?option=com_pag

Suscribirse a:
Entradas (Atom)
Excel 2013, convertir mes en texto a numero
Si tienes un mes en formato ENERO este lo cambiara a 02, funciona en la versión de Excel 2013, solo se tienen que reemplazar J2 por la celda...
-
Este manual esta dedicado a la instalacion y configuracion de cakePHP en sistemas Debian,Ubuntu y variantes, durante el proceso de la insta...
-
La generacion de pdf en codeigniter es una de las tareas mas habituales en el desarrollo de un sitio web o sistema ya sea para generar repor...
-
Este script es un ejemplo del como agregar o eliminar elementos en JSON, con integración de jquery y syntaxhighlighter, aquí el código fuent...