Retroceder   Foros del Web > Diseño de Sitios web > Aplicaciones pre-fabricadas > Joomla

Respuesta
 
Herramientas Desplegado
Antiguo 26-oct-2006, 23:17   #1 (permalink)
Moderador
metacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradable
 
Avatar de metacortex
 
Fecha de Ingreso: junio-2004
Ubicación: Venezuela
Mensajes: 6.629
Tutorial: Cómo introducir código PHP en tu Joomla

A veces nos frustramos un poco porque queremos asignar determinada función dinámica a nuestro portal y se nos hace difícil construir un módulo que la ejecute. Hay un módulo fabricado que nos quita ese peso de encima, permitiéndonos incluir contenidos u objetos rápidamente, con lo cual nos queda más tiempo para dedicarnos al diseño.

En esta explicación pondré un ejemplo de cómo importar los últimos tópicos respondidos de SMF, pero en realidad el módulo se puede utilizar para lo que sea.

1) Lo primero que haremos será -por supuesto- descargar el módulo Jumi. Éste se encuentra en la página de extensiones de Joomla:

http://extensions.joomla.org/compone...023/Itemid,35/

2) Lo instalamos (Panel >> Instaladores > Módulos). ¿Qué es lo que se instala? El mod con su correspondiente XML, y un directorio extra que contiene -entre otras cosas- un archivo de ejemplo del cual nos vamos a fijar para hacer los nuestros.

3) En nuestra lista de módulos se agregó mod_jumi, el cual vamos a analizar:



a) Cambiamos el título y definimos la posición, tal como los demás módulos.

b) La clase del módulo. Puedes dejarla en blanco o definirla en la hoja de estilos y anotarla ahí.

c) Allí vas a colocar la ruta donde están los archivos que utilizará Jumi. Puedes dejarla como está o modificarla si te parece conveniente. Por supuesto la ruta debe corresponder con un directorio real.

d) Aquí colocas el nombre del archivo sin la extensión *.php. Puedes crear tantos archivos te convengan para los módulos que desees. ¿Para qué sirven esos archivos guardados en la carpeta mod_jumi_files?. Esos son los que contendrán el código PHP que va a ser llamado desde el módulo que ahora estás configurando. Más adelante lo explicamos mejor.

e) Supuestamente en esta parte se colocan los argumentos que afectarán el funcionamiento del archivo, pero hasta ahora no he trasteado con esto y hasta ahora todo funciona bien. De todas formas esta parte está pendiente de actualizarse cuando descubra para qué sirve exactamente y cómo nos beneficia.

f) Es un block de notas para que escribas lo que sea que tengas que recordar con ese módulo.

Ya revisado esto, procedamos con un ejemplo de las muchas cosas que podemos hacer con Jumi.



Ejemplo de uso: Traer las últimas réplicas del foro SMF a nuestro portal


1) Bajamos Jumi, y lo instalamos como se explicó.

2) Vamos al directorio donde está nuestro foro y encontraremos un archivo llamado ssi_examples.php. Ejecútalo desde el navegador: http://tusitio.com/tuforo/ssi_examples.php. Allí vas a ver varios snippets (pedazos de línea de código) que puedes aplicar a tu web y qué es lo que resulta. Puedes ver que se encuentran los tópicos más recientes, los más respondidos, estadísticas, encuestas, datos de usuarios, etc.. Puedes incluir toda esa información en tu Joomla de manera fácil. En este caso tomaremos el códigos de los últimos temas respondidos o posts recientes:

<?php ssi_recentPosts(); ?>

3) Crea un archivo llamado miprueba.php. A ese archivo le agregarás lo siguiente:

Código:
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
?>
Eso sirve para que no se pueda acceder a él directamente. Es decir, estarás protegiendo la información que hay allí.

4) Luego agregas la línea mencionada: <?php ssi_recentPosts(); ?> . El resultado debe ser algo como esto:

Código:
<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
?>

<?php ssi_recentPosts(); ?>
Eso es todo. Guarda y cierra el archivo.

5) Antes de entrar de lleno con el módulo y las modificaciones debes hacer algo. Cuando traes contenido de otro software o plataforma, debes decirle a Joomla de qué se trata para que te lo pueda aceptar. Fíjate en tu archivo ssi_examples.php. Hay una línea parecida a esto:

Cita:
To use SSI.php in your page add at the very top of your page before the <html> tag on line 1:
<?php require("/home/usuario/tusitio.com/foros/SSI.php"); ?>
Esa línea (en rojo) es lo que vas a copiar/pegar en la primera línea del index de tu template. En otras palabras, lo pegarás en la línea 1. Con eso le estarás informando a Joomla de dónde viene el código y cuáles son los parámetros que debe leer. Vamos a los módulos.

6) Copia el módulo de Jumi desde tu panel (Lo marcas y presionas Copiar en el botón grande de arriba). Dale click para entrar a la configuración y sigue los pasos anteriormente mencionados en el gráfico (Dale la posición Left). Recuerda poner el nombre de tu archivo "miprueba" sin la extensión *.php. Publícalo.

7) Refresca tu página de inicio. Verás que el módulo responde bien. Ya la información se puede ver perfectamente, pero seguramente quedó HORROROSO en la maquetación, cierto?. Es decir, algo como esto:



Lo cambiaremos a esto:



El archivo SSI.php (El que nos da el contenido) viene con una estructura html predeterminada. Todo lo que tenemos que hacer es mover unas cuantas piezas de lugar:

8) Con un editor de textos entra a tu archivo http://www.tusitio.com/tuforo/SSI.php.

Busca (Aprox. en la línea 406)

Código HTML:
echo '
		<table border="0" class="ssi_table">';
	foreach ($posts as $post)
		echo '
			<tr>
				<td align="right" valign="top" nowrap="nowrap">
					[', $post['board']['link'], ']
				</td>
				<td valign="top">
					<a href="', $post['href'], '">', $post['subject'], '</a>
					', $txt[525], ' ', $post['poster']['link'], '
					', $post['new'] ? '' : '<a href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new"><img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" alt="' . $txt[302] . '" border="0" /></a>', '
				</td>
				<td align="right" nowrap="nowrap">
					', $post['time'], '
				</td>
			</tr>';
	echo '
		</table>';
Reemplázalo por esto:

Código HTML:
	foreach ($posts as $post)
		echo '
			<div>
				<ul>
					<li>
						<a href="', $post['href'], '">', $post['subject'], '</a>
					</li>
				</ul>
			</div>';
Listo. Ya tienes los últimos temas respondidos en el index de tu portal.

Esto fue sólo con el ejemplo de SMF, pero con Jumi puedes colocar cualquier tipo de contenido, bien sea html, flash, javascript, banners, galerías externas, etc, etc.. Esta página te da algunos archivos demo para que sepas cómo introducir los códigos.

Recuerda siempre diseñar de acuerdo a los estándares. Haz tus webs accesibles y estéticas a la vez. Nunca te conformes con códigos mal hechos, y si te viene algo malo trata de arreglarlo hasta donde puedas. Verás que la satisfacción y la recompensa es grande, y tus trabajos serán los mejores.

Saludos.
metacortex está desconectado   Responder Citando
Antiguo 27-oct-2006, 15:30   #2 (permalink)
SICK-BOY no se puede cailificar en este momento
 
Fecha de Ingreso: octubre-2005
Mensajes: 416
Enviar un mensaje por MSN a SICK-BOY
Metacortex siempre te luces con tus tutoriales brother, que bueno ke lo publicaste ya me habian preguntado varias veces otros usuarios como hacerlo pero por el msn es complicado explicar y terminaban rindiendoce, pero ahora ya con tu tutorial ya se a donde referirlos..

Gracias de parte de la comunidad Joomla!
__________________
GraficasWeb.com / Diseño y Desarrollo Web en Mexico
info @ graficasweb.com E-mail / MSN
SICK-BOY está desconectado   Responder Citando
Antiguo 06-nov-2006, 14:20   #3 (permalink)
Moderador
elbar tiene algunos puntos positivos de karma
 
Avatar de elbar
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 1.689
Habia dejado un mensaje en Joomla, buscando justamente esto..


La descarga te lleva a una pagina rusa, polaca o no se en que idioma esta...despues de varias volteretas, pude descargarlo.
Los subo aca, por si a alguien le es util..
Descargo sin nombre, pero me imagino que Joomla lo identifica igual.

Muy bueno, Metacortex..!
Archivos Adjuntos
Tipo de Archivo: zip _1[1].0.zip (3,2 KB (Kilobytes), 23 visitas)
elbar está desconectado   Responder Citando
Antiguo 06-nov-2006, 17:42   #4 (permalink)
Moderador
elbar tiene algunos puntos positivos de karma
 
Avatar de elbar
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 1.689
Me quedo una duda...
El archivo miprueba.php va en la carpeta "modules" de joomla ?
elbar está desconectado   Responder Citando
Antiguo 06-nov-2006, 17:57   #5 (permalink)
Moderador
metacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradable
 
Avatar de metacortex
 
Fecha de Ingreso: junio-2004
Ubicación: Venezuela
Mensajes: 6.629
Por defecto debería ir en modules/mod_jumi_files/ pero el directorio lo puedes configurar en el lugar que desees dentro del campo de texto correspondiente a "pathway" desde el panel de módulos. Hay que crear físicamente el directorio primero. Dentro de éste van los .php.
metacortex está desconectado   Responder Citando
Antiguo 06-nov-2006, 17:59   #6 (permalink)
Moderador
elbar tiene algunos puntos positivos de karma
 
Avatar de elbar
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 1.689
Ahhh...Ok....
Gracias...!

Edito:
Al colocar el archivo nuevo en modules/mod_jumi_files, me funcona sin la llamada en el index.php del template:
<?php require("/......./public_html/foro/SSI.php"); ?>

Pero en la admin del foro...Config del servidor...Feature Configuration, hay que actvar:
Usar cookies independientes de subdominio

Y desactivar:
Activar el almacenamiento local de cookies
(SSI no funcionará aún con esto activado.)


Funciona de maravillas..!

Última edición por elbar; 06-nov-2006 a las 18:07.
elbar está desconectado   Responder Citando
Antiguo 07-nov-2006, 12:04   #7 (permalink)
Moderador
metacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradable
 
Avatar de metacortex
 
Fecha de Ingreso: junio-2004
Ubicación: Venezuela
Mensajes: 6.629
Cita:
Iniciado por elbar Ver Mensaje
Ahhh...Ok....
Gracias...!

Edito:
Al colocar el archivo nuevo en modules/mod_jumi_files, me funcona sin la llamada en el index.php del template:
<?php require("/......./public_html/foro/SSI.php"); ?>

Pero en la admin del foro...Config del servidor...Feature Configuration, hay que actvar:
Usar cookies independientes de subdominio

Y desactivar:
Activar el almacenamiento local de cookies
(SSI no funcionará aún con esto activado.)


Funciona de maravillas..!
Yo no tuve ese problema. ¿Será que haciendo la llamada en el index de joomla (template) no es necesario hacer las configuraciones en el panel de SMF?
metacortex está desconectado   Responder Citando
Antiguo 07-nov-2006, 13:01   #8 (permalink)
Moderador
elbar tiene algunos puntos positivos de karma
 
Avatar de elbar
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 1.689
Podria ser...
Al cambiar la config del smf, no hice a llamada al ssi, como se hace habitualmente y funciona perfecto...
elbar está desconectado   Responder Citando
Antiguo 07-nov-2006, 13:58   #9 (permalink)
Moderador
metacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradable
 
Avatar de metacortex
 
Fecha de Ingreso: junio-2004
Ubicación: Venezuela
Mensajes: 6.629
Ahora estoy probando a crear un módulo con el texto de introducción de SMF aprovechando las ventajas del SSI y usando Jumi, a fin de que los artículos del foro (Sólo el subforo que asignemos para eso) aparezcan en el index de Joomla. Lo que quiero lograr es cortar el primer párrafo del post para que sólo aparezca éste y no el texto completo. Algo así como el boardnews de MKP pero en Joomla. Ya casi lo tengo listo.
metacortex está desconectado   Responder Citando
Antiguo 07-nov-2006, 14:10   #10 (permalink)
Moderador
elbar tiene algunos puntos positivos de karma
 
Avatar de elbar
 
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 1.689
Yo hice asi:

Código:
<?php

ssi_boardNews($board = 3.0, $limit = 5, $start = null, $length = 250, $output_method = 'echo');

?>
$board = 3.0 : Foro a mostrar
$limit = 5 : Cantidad de noticias
$start = null : Queda asi
$length = 250 : Cantidad de caracteres a mostrar (la imagenes ocupan espacio)

Aqui hay tres tutoriales con distintos niveles, para utlizar SSI, sin editar el SSI.php y mantenerlo siempre igual.

Al colocarlo asi, se puede hacer muchos bloques con el mismo Jumi, apuntando a distintos espacios del sitio...
elbar está desconectado   Responder Citando
Antiguo 07-nov-2006, 14:17   #11 (permalink)
Moderador
metacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradablemetacortex es realmente agradable
 
Avatar de metacortex
 
Fecha de Ingreso: junio-2004
Ubicación: Venezuela
Mensajes: 6.629
Sí, pero éste te gustará más porque no limitarás los caracteres a cierto número, (eso nunca me gustó) sino que cortarás el párrafo donde más convenga
metacortex está desconectado   Responder Citando
Antiguo 10-mar-2008, 16:27   #12 (permalink)
LauRiTa-C ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Re: Tutorial: Cómo introducir código PHP en tu Joomla

Hola, me ocurre un problema al hacer esto. Funcionar funciona, pero no bien. Resulta que al hacer todo lo que decís en la portada de Joomla me aparecen caracteres extraños en los módulos. Me podéis decir como arreglarlo? Gracias

Última edición por LauRiTa-C; 11-mar-2008 a las 06:40.
LauRiTa-C está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:57.
Políticas de Uso de Foros del Web


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96