Componentes

Un Componente también conocida como extensiones, es un programa que insertamos dentro de nuestro Joomla. Sólo puede haber un componente activo por página. Son los elementos más complejos que podemos instalar en Joomla.
Por lo general los componentes tienen dos partes bien diferenciadas la parte BackEnd y otra FrontEnd. En la Administrativa (BackEND) podemos ver sus configuración y más acciones administrativas
Los componentes son las partes software de nuestro portal, que le dan la funcionalidad básica al mismo.
- Olalla
- Componentes
Joomla - Formulario de Contacto
Joomla trae por defecto el componente de contacto, en el cual podemos crear contactos, clasificarlos por categorias y incluso crear campo para añadir.
Este componente tiene bastante opciones y cosas interesantes con mucho potencial, pero ahora nos vamos centrar en el formulario que podemos mostrar en el Front-End. Un formulario que simplemente configurando en el componente sa se muestra.
Recuerda que el campo de email en un contacto debe tener datos sino el formulario de contacto no se mostrara. No tiene porque mostrarlo, ya que sin él la web no te puede mandar un email diciendo que cubrieron el formulario.. :-)
Los campos que muestrar el formulario son:
- Nombre
- Correo electronico
- Asunto
- Mensaje.
Estos campo por defecto suelen ser suficientes para muchas webs, pero a veces queremos tener mas campos.
Desde la version 3.5 Joomla permite crear campos a mayores en la mayoria de los componentes nativos, por ello en el componente contactos también.
De momento la pruebas que realice creando algún campo en este componente no fui capaz de añadirlos al formulario de forma interactiva.
Necesidad de crear un campo a mayores en el formulario.
Seguramente muchas veces os hizo falta añadir campos a mayores al formulario de contacto que trae joomla por defecto, como por ejemlo : Pedir el telefono a la hora cubrir el formulario.
Hay varios sitios interesantes donde nos indican como hacerlos si tenemos conocimiento de php y html, donde podremos hacer overwrite del componente contactos y ahi empezar desarrollar nuestra imaginacion:
- Añadir mas campos ( Consultoria Innova)
- Añadir campo de telefono a formulario (Foro de Joomla )
- ...
Los ficheros que debemos utilizar ( recuerda hacer overwrite en tu plantilla )
- components\com_contact\views\contact\tmpl\default_form.php ( overwrite plantilla )
- components\com_contact\models\forms\contact.xml ( overwrite plantilla )
- language\es-Es\es-ES.com_contact ( No lo tocaría nunca)
- components\com_contact\controllers\contact.php ( No lo tocaría nunca)
Otras maneras añadir mas campos:
Utilizando extensiones , modulos o plugins de terceros. Os recomiendo que provéis nuestro modulo formulario, desarrollado por nosotros y gratuito, el cual consiste un modulo sencillo con algunos campos mas.
Este modulo lo tenemos operativo en varias web en produccion, donde lo tenemos testeado y con filtros de spam. Cualquier duda o necesidad en este modulo (formulario) comentalo y veremos lo que puede hacer.
- Olalla
- Editor JCE
JceMediaBox es un plugin del editor JCE que es mi preferido para Joomla, con este plugin podemos generar un ventana emergente estilo "caja de luz". Tanto se puede utilizar con o sin el Editor JCE. Se instala desde el instalador oficial de Joomla.
JCE MediaBox tiene la capacidad de mostrar imágenes, vídeos, en línea y el contenido de iframe en un popup, cargando el contenido y dejando de fondo el anterior. Este plugin incluye 4 temas que emulan los scripts populares tales como la mesa de luz, ShadowBox y Squeezebox y tambien temas personalizados también.
Una vez instalado - Habiilitar y configurar plugin
Una vez instalado en tu joomla no te olvides habilitarlo/publicarlo para que funcione correctamente. ( plugins --> system --> jce mediabox)
Ahí podras configurar el tema, la velocidad desvanecimiento y la velocidad carga, el ancho y el alto del popup, que componente no debe utilizarlo, que puede cargar y monton configuraciones mas.
Para maquetar el popup
Muchas veces utilizamos este plugin para cargar algun articulo o contenido propio de la web, es lo normal.
Muchas veces no pilla el css que tenemos en nuestra plantilla, el motivo que encuentro y creo es que solo carga el contenido y no carga los estilos de css, por lo que suelo forzar la carga de nuestro css.
Ejemplo de usos de JCEMediabox en override virtuemart de detalles de productos.
En nuestro proyecto de superoliva.es que tiene virtuemart en la vista detalle de un producto tiene un link para hacer una pregunta sobre el producto.

En el override de productsdetails/default.php se monta el link:
<?php
$askquestion_url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component', FALSE);
?>
<a class="comentario jcepopup noicon" href="/<?php echo $askquestion_url ?>" rel="nofollow" rev="stylesheet1" data-mediabox-width="550" data-mediabox-height="500" data-mediabox-group="stylesheet1"><?php echo vmText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?></a>
<?php
Los data-mediabox-width="550" y data-meidabox-height="500" indica las medidas del popup.
En el override de askquestion/form.php , que el que carga en popup tenemos que añadirle:
$doc = JFactory::getDocument();
$doc->addStyleSheet(JURI::base(true). '/templates/nuestraplantilla/css/bootstrap.min.css');
$doc->addStyleSheet(JURI::base(true). '/templates/nuestraplantilla/css/custom.css');
Asi de esa forma cargamos el css de nuestra plantilla.
En este mismo ejemplo, una vez cubierto el formulario no carga otro vista de virtuemart, indicando que es correcto: askquestion/mail_confirmed.php, por lo que tenemos que hacer lo mismo en ese fichero, ademas este fichero tiene un button para cerrar el popup, por lo que tuve que crear un script que llame a la funcion del objeto javascript de jcemediabos:
<script>
function cerrar(){
//~ console.log(window.top.jcepopup);
var objeto = window.top.jcepopup;
objeto.closelink.click('Close');
}
</script>
Y el evento de button llamar a la funcion cerrar.
JCE mediabox en item menu
Si necesitada de hacer cambios de codido podemos añadir un item de menu y este se abrá en un popup con JCEMediabox.
Ir a Menu Principal --> item menu deseado y en opciones (derecha)
Debes poner en estilo css enlace: jcepopup como en la imagen siguiente:

Para usarlo en articulos:
Solo debes linkar la palabra o palabras que quieras, con lo que quieras que aparezca.
1. Indicarle url.
2. Ventanas Emergentes:
-
- Tipo de ventana Emergente --> Sistema JCE MediaBox
- Escribes las dimensiones
- Escojes tipo de multimedia: ej. enlaces internos/ajax.
Referencias:
Phoca Gallery es una de las extensiones más populares de Joomla. Es un componente que nos crea Galerias de imagenes y nos permite gestionar facilmente desde el administrador.
Es una extensión GRATUITA, por ello se debería mantener en el pie del componente el Powered by Phoca Gallery, este es motivo por el que los creadores NO nos facilitan de una forma sencilla ( parametros del componente) que podamos quitarlo.
En Soluciones Vigo nos parece muy correcta esa actuación, lo que pasa que no todos los clientes que tenemos tiene la misma forma de pensar, por ello creamos es post para facilitar un método para quitar del pie del componente "Powered by Phoca Gallery ".
Debemos saber que está explicación es para phocagellery 4.xx , para otras versiones puede variar, aunque no mucho, ya que llevamos años trabajando con phocagallery y es muy similar.
QUITANDO "Powered by Phoca Gallery"
Lo primero recomendar hacerlo en overwrite de tu plantilla, no en el componente, ya que cada vez que actualices el componente puede que tengas volver hacerlo.
Hay que quitar una línea en 3 ficheros.
FICHERO 1:
/components/com_phocagallery/views/category/tmpl/default.php
Lo único que debemos hacer es comentar la siguiente línea de código:
echo $ this-> tmpl ['emm'];
Este se eliminará el " Powered by Phoca Gallery "de la categoría imagen página de vista.
En la versión anterior 3.2.1 este código era
"echo $ this-> tmpl ['dsf"];
FICHERO 2:
/components/com_phocagallery/views/categories/tmpl/defaul.php
Volvemos a comentar o eliminar la siguiente línea.
echo PhocaGalleryUtils::footer();
Esto eliminará el " Powered by Phoca Gallery " de la página de lista de categorías.
FICHERO 3:
/components/com_phocagallery/views/cooliris3dwall/tmpl/default.php
El código siguiente lo eliminamos o comentamos:
PhocaGalleryUtils::footer();
Esto eliminará la phoca galería pie vínculo de retroceso de página Cooliris 3D Wall.
Sugiero que si les gusta el componente Phoca Gallery y van quitar sus CREDITOS pues vaya a la pagina del componente y haga una donación.
- Olalla
- Componentes
Los componentes Nativos de Joomla:
Nosotros llamamos componentes nativos aquellos componentes que trae por defecto las versiones Joomla, ya que en algunos sitios también llaman nativos a los componentes de terceros que son compatibles en modo legacy, nosotros los llamamos componentes de terceros.
Lista de componentes Nativos para Joomla 1.56
