Joomla
Joomla es mi CMS preferido, que permite desarrollar todo sitios web dinámicos e interactivos, una simple web , un blog, una tienda online, lo que se te ocurra se puede hacer con Joomla.
Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla, que significa "todos juntos" o "como un todo". Se escogió como una reflexión del compromiso del grupo de desarrolladores Joomla y la comunidad del proyecto.
Es desarrollado principalmente en PHP ,puede ver en este link Requisitos software para cada versión Joomla de la pagina Oficial
Mas información y descarga de la Pagina Oficial.
Crear una vista distinta de un articulo en Joomla.
Simplemente creado la vista en nuestra plantilla en html/com_content/article/nuevavista.php
Y seleccionando en la opciones del articulo :
Presentacion alternativa -> Seleccionamos la nueva vista creada.
- Olalla
- Componentes
1. crear archivo filter_xxx.xml (models/forms/filter_versions.xml)
- campo buscar
- name="search"
- class="js-stools-search-string"
- campo personalizado
- name="filtroMarcas"
- type="filtroMarcas"
- onchange="this.form.submit();"
De esta forma añado un buscador simple y bton herramientas busqueda donde puedo encontrar los campos personalizados, como campo de entrada vacia. (por el momento)
Si creamos otro archivo: ej. filtroMarcas.php (models/fields/filtroMarcas.php) es donde relacionamos el campo personalizado creado anteriormente.
2. Se crea archivo filtroMarcas.php (models/fields/filtroMarca.php)
Opcional: solo es necesario cuando hay Campos personalizados -----------------------------
Campo personalizado, si es buscador solo no es necesario hacer esto.
- class JformFieldFiltroMarcas extends JFormFieldList
- protected $type='filtroMarcas'
- funcion getOptions() --> hacer query, listar, y dejar seleccionada la opc.
- Con ... foreach {
- $tmp = Jhtml::_('select.option', $item->id, $item->nombre);
- $options[] = $tmp
- }
- funcion getOptionsExternally() : Metodo para obtener una lista de opc para una entrada de la lista de forma externa y no de XML.
--------------------------------------------------------------------------------------------------------------!
3. Añadir lineas en view.html.php views/nodelos/view.html.php
- en funcion display()
- $this->filterForm = $this->get('FilterForm');
- $this->activeFilters = $this->get('ActiveFilters');
4. Añadir herramientas de busqueda default.php views/nodelos/tmpl/default.php
- <?php
- echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
- ?>
5. Añadir 3 funciones en marcas.php (models/marcas.php)
query de lo que queremos que haga el filtro de busqueda...
- __construct ($config=array()) establece campos de filtro
- populateState ($ord=null, $dir=null) obtener y establecer los valores actuales de los filtro.
- getListQuery() usar los valores de filtro actuales para modificar la consulta.
Vista Version
crear
- models/forms/filter_versions.xml
- models/fields/filtroVersions.php (campo personalizdo)
modificar:
- views/versions/view.html.php
- views/versions/tmpl/default.php
- models/versions.php
Crear campo personalizado NUEVO
- crear models/fields/filtroVersions.php (campo personalizdo)
- crear campos en vista del filtro de la vista donde quiero mostrarlo . ej. Vista versiones, xml -> filter_versions.xml. models/forms/filter_versions.xml
- modificar o añadir query para filtrar bien la busqueda models/versions.php
Para que aparezca buscador
- crear models/forms/filter_marcas.xml en principio sin campos personalizados
- añadir lineas views/marcas/view.html.php
- añadir lineas views/marcas/tmpl/default.php
- añadir query models/marcas.php
**Me base en com_content/articles
Añadimos un item de menu , seleccionamos tipo de menu en usuario:
Recordar que si queréis que la maquetación html de vuestra plantilla del mod_virtuemart_product (modulo de productos de virtuemart) funciones debéis seleccionar en el modulo en "Diseño" la vista default o single, porque la anular toma la vista del componente.
ERROR:Cannot open file for writing log
Si estás intentando actualizar Joomla y te sale este error, lo primero que debe hacer es revisar la configuración de tu Joomla.
Ya que lo que te indica ese error es que no puede escribir en fichero log , que le indica la ruta de Configuración del Sistema:
Fijate que sea correcta la ruta carpetas logs
Protostar es una de las plantillas que trae por defecto Joomla 3.x , esta plantilla permite configurar en parte administrador varias cosas:
- Ancho fijo o fluido (Fluid Layout): El ancho predeterminado (contenedor) de la plantilla protostar está configurado para 960 px, esta se puede cambiar, en hay post de foro de joomla donde explican como hacerlo paso a paso.(link foro joomla)
- Permite añadir Logo , texto o ambos en cabecera.
Aunque se nos hace corto esta modificacion por ello empezamos a poder copiar y modificar nuestra plantilla protostar.
Empezamos a modificar nuestra plantilla protostar
Lo ideal inicialmente antes de empezar a cambiar nuestra plantilla protostar es realizar copia, creando asi vuestra plantilla para poder realizar todos los cambios sin miedo y evitando problemas, como que actualices y te cambie esos cambios que hiciste, dale un vistazo este otro post donde explico como copiar plantillas de Joomla.
Una vez copiada nuestra plantilla podemos entra a modificar sin miendo.
Menu horizontal
Para poner un menu horizontal en la plantilla protostar tenemos que poner el modulo del menu en la posicion 1 y ademas :
En el Módulo Menú debemos ir a la pestaña avanzado y modificar los valores de las cajas
Sufijo de clase CSS : nav-pills
Sufijo de clase CSS del Modulo: _menu
Cuando creamos nuestras plantillas lo que pretendemos es poder cambiar de plantilla sin tocar nada más. por eso necesitamos hacer plantillas para Joomla 3.X con unas posiciones estándares, basándonos en las plantillas que trae por defecto Joomla 3.X y sus posiciones.
Explicación basica de lo que son plantillas (temas) de Joomla
Las posiciones de las plantillas en Joomla son donde van los módulos y el contenido de nuestra web, donde se definen estas posiciones son la propia plantilla, hasta el momento, JOOMLA no tiene un estándar para nombra esas posiciones, por lo que cada creador de plantillas puede nombrar está posiciones como quiere.
Lo que pretendemos con esté articulo es crear un estándar de posiciones para nosotros, para todas las plantillas que creemos para Joomla 3.*, basándonos en las posiciones que utiliza alguna de las plantillas que trae por defecto Joomla.
Con esto conseguimos que si en algún momento queremos probar el funcionamiento de esta plantillas estándares podemos hacerlo sin cambiar las posiciones en cada modulo.
Ver cuales son las posiciones que tienes creado en tu plantilla.
La opción de ver forma interactiva las posiciones de una plantilla , una previsualización. Joomla por defecto lo trae desactivado, se comenta los foros oficiales que es por seguridad. Si quieres activar la previsualización en el "Gestor Plantilla" en opciones puedes activarlo. Recuerda desactivarlo después de utilizarlo.
Un poco mas afondo sobre plantillas.
Las plantillas son realmente los que manda a la hora mostrar y visualizar nuestra web, las posiciones de tu plantilla principalmente se utilizan en los módulos, ya que en estos es donde se les indica en que posición se va mostrar cada uno ellos.
Hay unas posición que son fijas para todas las plantilla que son component y message.
El código que se utiliza en index.php de tu plantilla para mostrarlas son:
<jdoc:include type="message" />
<jdoc:include type="component" />
Esta posiciones son fijas, ya que no se pueden definir por el usuario.
Estilos de posiciones de módulos
Los estilos de posiciones de módulos se define normalmente index.php, pero se puede cambiar por el usuario, estos estilos son los que puede hacer que vista de un modulo en una misma posición con un estilo distinto , se vea distinto.
Si existe un estándar predeterminado por Joomla, los cuales es interesante conocer y saber su utilidad.
No encuentro información detallada de estos estilos por lo que poco a poco iré ampliando.
Las plantillas que trae joomla por defecto la beez5 y la protostar tiene varios tipos estilos de posiciones, unas son ya estándar de Joomla y otras no.
TIPOS DE POSICIONES ESTANDAR DE JOOMLA
- none ( Que no pone titulo modulo)
- xhtml (En la opción de modulos tenemos marcado mostrar titulo, pues lo muestra)
- table ( Crea una tabla html con el contenido del modulo)
En las plantillas que trae joomla hay varios tipos más, que ya son particulares de ellas. TIPOS DE POSICIONES DE LAS PLANTILLAS POR DEFECTO DE JOOMLA
BEEZ5
- style beezDivision
- sytle beezTabs
PROTOSTAR
- well
Estos estilos y algunos más de sistema podremos seleccionarlos en el "Gestor de Módulos", pero no es necesario, ya que la plantilla tendrá uno por defecto para esa posición que se define en el fichero index.php de la plantilla.
A los creadores de plantillas, normalmente definen los suyos en la plantilla en el fichero /template/nombretemplate/html/modules.php , donde crean una función para cada estilo llamada modCrome_NOMBRESTYLE
En este link de la web documentación oficial de joomla puedes ver más información sobre esto.
El permitir realizar comentarios de los productos que vendemos en una tienda on-line , es algo fundamentarl y no iba ser menos virtuemart, el componente más famosos de joomla para convertir tu web (joomla) en una tienda on-line.
Virtuamart ya trae por defecto el permitir a nuestro usuarios que opinen sobre los productos que tenemos en nuestra tienda on-line.
Ahora nos surge la gestión de estos comentarios, ya que en la configuración de virtuemart nos deja activar y desactivar el permitir comentarios o no.
La cuestión es donde, como y que podemos hacer con esos comentarios, en esto virtuemart se queda corto y realmente no facilita mucho la gestion de esos comentarios, por ello nos encontramos con el problema que no podemos ver que productos son los que tiene comentarios.