Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Tutorial: Duplicar módulo News en MKPortal

Estas en el tema de Tutorial: Duplicar módulo News en MKPortal en el foro de Sistemas de gestión de contenidos en Foros del Web. Duplicado de Módulo Noticias (News) en MKPortal A veces nos hace falta más de 1 sección de Noticias; aquí se explica cómo crear otro módulo ...
  #1 (permalink)  
Antiguo 01/09/2005, 04:35
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Tutorial: Duplicar módulo News en MKPortal

Duplicado de Módulo Noticias (News) en MKPortal


A veces nos hace falta más de 1 sección de Noticias; aquí se explica cómo crear otro módulo a partir del módulo News.

Advertencias:

• Se hicieron pruebas antes de publicar este tutorial Puedes apoyarte 100% en lo que aquí se explica.

• No es recomendable hacer las modificaciones directo en tu sitio web. Practica primero en tu localhost con un MKP nuevo de pruebas. Sólo cuando domines el método y veas resultados positivos en tu localhost aplícalo a tu web respaldando previamente archivos y BD.

• ANOTA todos los pasos que des. Revisa cada modificación y ten el control de tu trabajo. Eso te servirá para identificar el origen de la falla de existir alguna. Usa un buen editor de códigos para tomar notas de las líneas alteradas.

• Muchos errores se deben a una simple coma, comillas, corchetes, etc. mal puestos o eliminados, por lo cual algunos casos serían imposibles resolver desde el foro. Siempre compara tus modificaciones con los archivos originales.

• No copies los códigos directo del post Cita el mensaje y copia desde el campo de texto, eso evitará que las líneas se unan y tendrás la disposición correcta de éstas. Copia con todo y espacios, es decir, desde el [ code] hasta el otro [ /code] y luego pega. Revisa bien lo que pegaste a ver si falta o sobra algún signo.
  #2 (permalink)  
Antiguo 01/09/2005, 04:38
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
1ª parte. Modificaciones a archivos.

1ª parte. Modificaciones a archivos.

Paso 1. Crea una nueva carpeta dentro de tu directorio /modules/. Llámala "Articulos" (No uses acentos).

_______________


Paso 2. Duplica tu index.php de la carpeta /news/ y colócala dentro de la carpeta /articulos/ que creaste. Busca y reemplaza cada instancia "news" por "articulo", así como "ne_" por "ar_".

Importante: En todos los casos que aquí se describan utiliza la opción de coincidir mayúsculas, ese decir, reemplaza "News" por "Articulos" y "news" por "articulos".

_______________


Paso 3. Vé a tu directorio /lang/Spanish/ y duplica el archivo lang_news.php. Renómbralo como lang_articulos.php. Reemplaza las instancias "news" por "articulos", "ne_" por "ar_".

Guarda y cierra el archivo

_______________


Paso 4. Abre el archivo lang/Spanish/lang_global.php:

Busca
Código:
$langmk['news'] = "Noticias";
Agrega después
Código:
$langmk['articulos'] = "Articulos";
Guarda y cierra el archivo.

_______________


Paso 5. Abre lang_admin.php.

Busca
Código:
//ad_news
$langmk['ad_newdisactive'] = "Deshabilitar Modulo Noticias";
$langmk['ad_newspages'] = "Número de Noticias para mostrar en el la página Archivos";
$langmk['ad_newsblockp'] = "Número de Noticias para mostrar dentro del bloque (página de inicio)";
$langmk['ad_newsaddressicon'] = "Icono Alternativo de la DIRECCIÓN WEB";
$langmk['ad_newswarning'] = "PELIGRO: Si borras esta Sección Borraras todas las Noticias contenidas en esta Sección.";
$langmk['ad_newstitle'] = "Administrar Noticias";
$langmk['ad_newsedittitle'] = "Editar Sección de Área de Noticias";
$langmk['ad_newsmaxwords'] = " Máx. número de caracteres que contiene la Inspección Previo de Noticias";
$langmk['ad_newshtmldisac'] = "Deshabilitar el código HTML en la Inspección Previo de las Noticias";
Agrega después
Código:
//ad_articulos 
$langmk['ad_articulodisactive'] = "Deshabilitar Modulo Articulos"; 
$langmk['ad_articulospages'] = "Número de Articulos para mostrar en la página Archivos"; 
$langmk['ad_articulosblockp'] = "Número de Articulos para mostrar dentro del bloque (página de inicio)"; 
$langmk['ad_articulosaddressicon'] = "Icono Alternativo de la DIRECCIÓN WEB"; 
$langmk['ad_articuloswarning'] = "PELIGRO: Si borras esta Sección Borraras todos los Articulos contenidas en esta Sección."; 
$langmk['ad_articulostitle'] = "Administrar Articulos"; 
$langmk['ad_articulosedittitle'] = "Editar Sección de Área de Articulos"; 
$langmk['ad_articulosmaxwords'] = " Máx. número de caracteres que contiene la Inspección Previo de Articulos"; 
$langmk['ad_articuloshtmldisac'] = "Deshabilitar el código HTML en la Inspección Previa de los Articulos";
Luego vas a //ad_perms (Alrededor de la línea 136)

Busca
Código:
$langmk['ad_p_sendnews'] = "¿Puedes Insertar Noticias?";
$langmk['ad_p_modnews'] = "¿Puedes Moderar Noticias?";
Agrega después
Código:
$langmk['ad_p_sendarticulos'] = "¿Puedes Insertar Articulos?";
$langmk['ad_p_modarticulos'] = "¿Puedes Moderar Articulos?";
Guarda y cierra el archivo.

_______________


Paso 6. Entra al directorio /admin/. Duplica el archivo ad_news.php y renómbralo como ad_articulos.php. Busca y reemplaza todas las instancias "news" por "articulos". También busca aprox. en la linea 123:

Código:
'ad_newdisactive'
Reemplaza por:
Código:
'ad_articulodisactive'
Guarda y cierra el archivo.

_______________


Paso 7. Si hasta aquí has llegado bien, en los próximos pasos debes tener especial cuidado en no equivocarte, pues la estructura de las líneas suele confundir. Revisa cada signo y código que estén copiados y modificados debidamente. Abre ad_menu.php

Busca (Aprox. en la línea 31)
Código:
"<tr><td width=\"100%\" class=\"tdblock\"><img src=\"$this->images/frec.gif\" align=\"left\" alt=\"\" />&nbsp;<a class=\"uno\" href=\"$this->mkurl/admin.php?ind=ad_news\">{$this->lang['news']}</a></td></tr>
Agrega después
Código:
		<tr><td width=\"100%\" class=\"tdblock\"><img src=\"$this->images/frec.gif\" align=\"left\" alt=\"\" />&nbsp;<a class=\"uno\" href=\"$this->mkurl/admin.php?ind=ad_articulos\">{$this->lang['articulos']}</a></td></tr>
Revisa, guarda y cierra el archivo.

_______________


Paso 8. Abre ad_perms.php. Éste es el archivo que controla la lista de permisos.

Busca
Código:
for ($i = 1; $i <= 23; $i++)
Cambia ese 23 por un 25. ¿Por qué lo hacemos? Porque agregaremos 2 permisos más a la lista y MKP debe "entenderlo". Ahora definiremos cuáles son esos permisos.

Busca
Código:
				}
				if ($row['g_mod_reviews'] == 1) {
					$y[23] = "checked";
					$n[23] = "";
				}
Agrega después
Código:
				if ($row['g_send_articulos'] == 1) {
					$y[24] = "checked";
					$n[24] = "";
				}
				if ($row['g_mod_articulos'] == 1) {
					$y[25] = "checked";
					$n[25] = "";
				}
Busca
Código:
			  <tr>
			    <td width=\"250\" class=\"tdblock\">{$mklib->lang['ad_p_modreviews']}</td>
			    <td> {$mklib->lang['ad_yes']}<input type=\"radio\" value=\"1\" name=\"p23\" $y[23] />{$mklib->lang['ad_no']}<input type=\"radio\" value=\"0\" name=\"p23\" $n[23] /></td>
			  </tr>
Agrega después
Código:
			  <tr>
			    <td width=\"250\" class=\"tdblock\">{$mklib->lang['ad_p_sendarticulos']}</td>
			    <td> {$mklib->lang['ad_yes']}<input type=\"radio\" value=\"1\" name=\"p24\" $y[24] />{$mklib->lang['ad_no']}<input type=\"radio\" value=\"0\" name=\"p24\" $n[24] /></td>
			  </tr>
			  <tr>
			    <td width=\"250\" class=\"tdblock\">{$mklib->lang['ad_p_modarticulos']}</td>
			    <td> {$mklib->lang['ad_yes']}<input type=\"radio\" value=\"1\" name=\"p25\" $y[25] />{$mklib->lang['ad_no']}<input type=\"radio\" value=\"0\" name=\"p25\" $n[25] /></td>
			  </tr>
Busca (Aprox. en la línea 390)
Código:
g_mod_reviews ='{$mkportals->input['p23']}'
Agrega después en la misma línea:
Código:
, g_send_articulos ='{$mkportals->input['p24']}', g_mod_articulos ='{$mkportals->input['p25']}'
Busca
Código:
'{$mkportals->input['p23']}'
Agrega después en la misma línea
Código:
, '{$mkportals->input['p24']}', '{$mkportals->input['p25']}'
¡Revisa!, guarda y cierra el archivo.

_______________


Paso 9. Entra ahora en tu directorio /blocks/. Abre online_home.php

Busca (Aprox. en la línea 82)
Código:
					    <tr>
					      <td class=\"modulecell\" width=\"20%\" >{$this->lang['news']}</td>
					      <td class=\"modulecell\" width=\"80%\">{$online['news']}</td>
					    </tr>
Agrega después
Código:
					    <tr>
					      <td class=\"modulecell\" width=\"20%\" >{$this->lang['articulos']}</td>
					      <td class=\"modulecell\" width=\"80%\">{$online['articulos']}</td>
					    </tr>
Revisa, guarda y cierra el archivo.

Paso 10. Duplica el archivo news.php y renómbralo como articulos.php. Reemplaza todas las instancias "news" por "articulos". Luego de reemplazar debes restaurar algunos nombres que incluyen "news" pero no son instancias:

Busca
Código:
				$image = "$this->images/icona_articulos.gif";
Reemplaza por
Código:
				$image = "$this->images/icona_news.gif";
Busca
Código:
					  <table class=\"tabarticulos\" cellspacing=\"2\" cellpadding=\"2\" width=\"100%\">
Reemplaza por
Código:
					  <table class=\"tabnews\" cellspacing=\"2\" cellpadding=\"2\" width=\"100%\">
Como puedes ver el primer reemplazo era el nombre de un icono en GIF y el segundo un estilo CSS.

Guarda y cierra el archivo.

_______________


Paso 11. Vé al directorio /include/. Abre el archivo functions.php

Busca (Aprox. en la línea 567)

Código:
			$this->member['g_mod_reviews'] = 		$row['g_mod_reviews'];
Agrega después
Código:
			$this->member['g_send_articulos'] = 		$row['g_send_articulos'];
			$this->member['g_mod_articulos'] = 		$row['g_mod_articulos'];
Busca (Aprox. en la línea 1066)
Código:
		if (stristr($url, 'ind=news')) {
			if ($this->config['mod_news']) {return TRUE;}			
		}
Agrega después
Código:
		if (stristr($url, 'ind=articulos')) {
			if ($this->config['mod_articulos']) {return TRUE;}	
		}
Revisa, guarda y cierra el archivo.

_______________


Paso 12. Vé a tu directorio principal y abre el archivo index.php

Busca
Código:
'news' => "news",
Agrega después
Código:
'articulos' => "articulos",
Guarda y cierra el archivo.

_______________

Paso 13. Abre mkportal/admin.php

Busca
Código:
'ad_news'         =>   "ad_news",
Agrega después
Código:
'ad_articulos'         =>   "ad_articulos",
Guarda y cierra.

_______________

Con esto ya terminamos con lo referente a los archivos de tu sitio. Ahora vamos a decirle a la base de datos qué fue lo que hicimos.

Última edición por metacortex; 02/09/2005 a las 00:00
  #3 (permalink)  
Antiguo 01/09/2005, 04:39
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
2ª Parte. Modificaciones a la Base de Datos.

2ª Parte. Modificaciones a la Base de Datos.

Asumimos que en este punto tienes respaldada tu Base de Datos. Si no has ejecutado el respaldo tómate un momento para hacerlo. Reiteramos que lo mejor es practicar en tu servidor Apache con un portal nuevo de prueba, si es posible repitiendo la práctica y luego llevando las modificaciones a tu sitio web.

Código:
CREATE TABLE `mkp_articulos` (
  `id` int(11) NOT NULL auto_increment,
  `idcategoria` int(10) NOT NULL default '0',
  `idautore` int(10) NOT NULL default '0',
  `titolo` varchar(255) NOT NULL default '',
  `autore` varchar(34) NOT NULL default '',
  `testo` text NOT NULL,
  `data` int(10) NOT NULL default '0',
  `validate` tinyint(1) NOT NULL default '1',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;




CREATE TABLE `mkp_articulos_sections` (
  `id` int(10) NOT NULL auto_increment,
  `titolo` varchar(40) NOT NULL default '',
  `icona` varchar(255) NOT NULL default '',
  `position` int(4) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;



INSERT INTO `mkp_articulos_sections` VALUES (1, 'Annunci', '1', 0);



INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('articulos_page', '10');
INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('articulos_block', '10');
INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('approval_articulos', '0');
INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('mod_articulos', '');
INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('articulos_html', '');
INSERT INTO `mkp_config` (`chiave`, `valore`) VALUES ('articulos_words', '');



ALTER TABLE `mkp_pgroups` ADD `g_send_articulos` tinyint(1) NOT NULL default '0';
ALTER TABLE `mkp_pgroups` ADD `g_mod_articulos` tinyint(1) NOT NULL default '0';




CREATE TABLE `mkp_articulos_comments` (
  `id` int(10) NOT NULL auto_increment,
  `identry` int(10) NOT NULL default '0',
  `autore` varchar(255) NOT NULL default '',
  `testo` text NOT NULL,
  `data` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;



INSERT INTO `mkp_blocks` VALUES ('', 'articulos.php', 'Articulos', 'centro', 1, 'checked', 0, '', '');

Última edición por metacortex; 02/09/2005 a las 00:02
  #4 (permalink)  
Antiguo 02/09/2005, 00:41
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
3a Parte. Añadir a Barra y Menú

3a Parte. Añadir el nuevo módulo Artículo
a la Barra de Navegación y Menú de MKP


Ésta es la parte sencilla del asunto pues el trabajo será a nivel de administración de tu portal.

Haz click en tu Panel de Control del portal (CP Portal). Luego en el menú lateral en Barra de Navegación. Dentro de esta sección puedes ver un formulario que llenarás de esta manera:

Icono: <IMG>/atb_racconti.gif. Puedes crearte un ícono nuevo para diferenciar el módulo, pero en este ejemplo usamos el mismo del Módulo Noticias (o News).

Título: <LNG>articulos.

Dirección web: <MKURL>/index.php?ind=articulos.

Haces click en Añadir Link. Automáticamente se añadirá el link a tu Barra de Navegación. Puedes modificarle la posición en Editar.

Vé ahora a Menú del Portal en tu menú lateral y haces exactamente lo mismo para agregarlo al Menú Principal de tu portal.

Bueno, ya con esto terminamos el tutorial. Puedes ver directamente los resultados del duplicado de módulos en:

http://soloimpresos.com/pruebafdw/index.php

Saludos.
  #5 (permalink)  
Antiguo 05/09/2005, 18:46
 
Fecha de Ingreso: febrero-2004
Ubicación: la paz
Mensajes: 24
Antigüedad: 20 años, 9 meses
Puntos: 0
De acuerdo

Gracias por el tutorial amigo.

justo lo que necesitaba gracias

ahora me voy aprobarlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:23.