Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com
www.joomla.org
Página 1 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Prefacio:
En fin los motivos pueden ser variados, ya sea porque necesita duplicar las
funciones de un componente, o por si desea hacer ingeniería inversa para ver como
funciona y hacer algo parecido por usted mismo, como normalmente escribo de
forma muy técnica decidí mejor poner imágenes paso a paso para aquellos que no
están familiarizados con los términos.
NOTA: Este manual esta desarrollado para componentes instalados en modo local,
porque siempre es mejor instalar cualquier módulo, componente o mambot en
nuestra computadora, ver su funcionamiento y después subirlo al servidor. para
hacerlo a través de internet los pasos son muy parecidos. NOTA: debido a que el
autor prefiere la instalación manual de componentes, de optó por hacer también la
clonación manual.
Página 2 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Estos archivos son los que aparecen en el panel de administración, con ellos puedes
administrar el componente. normalmente consiste en añadir, editar y borrar. y
algunos otros añaden funciones extra como subir, publicar, no publicar, ayuda, etc.
Página 3 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Una vez que lo hemos copiado sobre la misma carpeta, debemos renombrarlo a
com_banners2 o como quieras que se llame pero siempre debe llevar el prefijo
com_ o de lo contrario no te va a servir, te sugiero el uso de números para evitar
que te confundas sobretodo al momento de hacer la parte difícil que es editar los
archivos.
Con esta copia se han creado los archivos del panel de administración para este
clon.
Página 4 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Con esto ya tenemos los archivos que verá el usuario o el visitante de tu website.
Página 5 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Esto es útil en caso de que algo te salga mal o como simple medida de seguridad,
al hacer el respaldo de la base de datos estas guardando toda la información de tu
sitio.
del lado derecho aparecen las bases de datos, en este caso seleccionamos la de
nuestro sitio que en este ejemplo se llama joomla.
Página 6 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
En esta pestaña nos da la opción para exportar toda la base de datos de nuestro
sitio, así que hacemos click en seleccionar todo (si es que no esta seleccionado y en
la parte de abajo seleccionamos la casilla “Enviar (genera un archivo descargable)”
Haciendo esto nos va a generar el archivo SQL con el contenido de los datos.
Página 7 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Una vez que tenemos el respaldo de la base de datos podemos hacer las cosas más
serias que son hacer las copias de las tablas, y registrar el componente clonado
manualmente.
Página 8 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
4: Duplicar tablas:
http://www.solucionesopensource.com/index.php?option=com_remository&Itemid=
27&func=fileinfo&id=7
El editor SourceEdit, también es bueno solo que trae mucha publicidad, en fin,
bueno volviendo al tema:
Buscamos las tablas que queremos cambiar, por suerte para nosotros los nombres
de las tablas corresponden a los diferentes componentes que tenemos en joomla, si
no saben como se llaman las tablas de su componente, solo basta abrir el archivo
de instalación que se encuentra dentro del archivo comprimido (.zip, .tar.gz, .tar,
.rar o cualquier otra extensión de compresión. el archivo de instalación debe llevar
algo como install.xml y ahí aparecen los nombres de las tablas que usa ese
componente porque debe decir “CREATE TABLE .... y aqui aparece el nombre de la
tabla.
En este ejemplo vamos a usar las tablas que llevan jos_banner, jos porque es el
prefijo que viene por defecto en joomla y banner por que son las tablas de este
componente.
al ver en el phpmyadmin los nombres de las tablas, nos damos cuenta de que el
componente banners usa tres tablas que son: “jos_banners”, “jos_bannerclient” y
“jos_bannerfinish”, siempre los nombres de las tablas se relacionan con el
componente, así las tablas del componente remository llevan downloads, de
virtuemat el prefijo vm, etc.
Página 9 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Seleccionamos todas las líneas desde donde empiezan las tablas a clonar hasta la
primer línea de la tabla del siguiente componente.
Página 10 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Por norma general en la parte superior izquierda de nuestro editor esta el icono de
“Nuevo” o “New”, hacemos click en ese botón para que nos abra una nueva
pestaña en blanco, y ahí pegamos lo que acabamos de copiar. Esto es importante
porque hay que recordar que estamos trabajando con el respaldo de la base de
datos de nuestro sitio y por seguridad debe ser solo para lectura, no debemos
escribir en el a menos que sepamos lo que estamos haciendo.
Página 11 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Una vez que hemos pegado el contenido de las tablas, procedemos a modificarlas,
al principio del nuevo archivo (o la nueva pestaña que acabamos de crear) debe
decir CREATE TABLE `jos_banner` o dependiendo de como se llame la tabla del
componente que quieres clonar y le agregamos un 2 al final para que quede
CREATE TABLE `jos_banner2`, lo mismo en donde dice:
INSERT INTO `jos_banner` se debe cambiar a INSERT INTO `jos_banner2` y así
sucesivamente con todas las tablas que tenga ese componente.
guardamos el archivo con el nombre componenteclonado.sql
Página 12 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 13 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Por ejemplo si quieres que al hacer click en el menú componentes te aparezca dos
veces el componente, entonces vas a tener que usar el numero que acabas de
anotar en este ejemplo es el 53 y te va a aparecer algo como
Página 14 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
contrario te aparecera
componenteoriginal
componenteclonado
en lo personal prefiero tener todo organizado en el mismo menu que sería algo
como:
Aqui podemos jugar con los valores y nos aparecera en distinto orden, con distinto
nombre, etc. Ahora vamos a aprender como jugar con estos valores.
Página 15 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 16 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Una vez que hemos seleccionado todos los registros los elmiminamos y nos debe
quedar algo asi:
Página 17 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 18 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Ahora vamos a jugar con los campos, al eliminar esta línea nos debe quedar algo
así:
Página 19 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
en el siguiente registro van a estar los valores del componente clonado, esto es
para que el panel de adminstración pueda diferenciar del componente original y del
componente clonado o de lo contrario todo lo va a a tomar del componente original.
Página 20 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 21 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 22 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
NOTA: el delimitador en la base de datos por defecto es el ; así que al final del
archivo se debe poner “;” justo en la última línea en vez de “,” como se muestra en
la figura.
Ahora solo falta hacer la consulta a la base de datos y subir las tablas que
acabamos de modificar.
Página 23 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Página 24 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
Sin embargo esto no significa que esta funcionando correctamente ya que el código
del componente clonado apunta a las tablas originales y no a las tablas clonadas
por lo que debemos editar los archivos.
Primero vamos a buscar las referencias a las tablas originales, algunos editores
pueden buscar en toda la carpeta específicada, en caso de que tu editor no tenga
estas funciones debes abrir todos los archivos de la carpeta
com_componenteclonado en este caso com_banners2 y seleccionar buscar en todos
los archivos.
Página 25 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
con esto nos aparece una lista de todos los archivos y las lineas en donde se tienen
que hacer modificaciones,
Página 26 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
aquí nos aparece el listado de los archivos que tenemos que cambiar y las líneas a
las que les tenemos que hacer cambios, solo basta en hacer click en la línea para
que nos lleve de forma automática al archivo y a la línea que necesitamos corregir.
aquí cambiamos “option=com_banners” lo cambiamos a “option=com_banners2”
esto es para que al hacer click en el enlace nos lleve a la página de edición del
componente clonado en vez del componente original.
Página 27 de 28
Manual para clonar componentes en Joomla Autor: Jesús Piña: www.solucionesopensource.com
NOTA: este ejemplo para editar los archivos solo se muestra para el administrador o
sea la carpeta /administrator/components/com_XX donde xx representa el
componente clonado. se tiene que hacer lo mismo para los archivos que va a ver el
usuario estos se encuentran en /components/com_XX.
Atentamente:
Jesús Piña
www.solucionesopensource.com
Página 28 de 28