CMS

Nos enfocaremos en los CMS más populares programados en PHP, como Joomla, Wordpress, Drupal y Prestashop, que utilizan HTML, CSS, JavaScript y PHP con alguna otras bibliotecas.
Si buscas un programador de cms te puedo ayudar esta entrada.
Al actualizar a Joomla 3.7.2 se nos desaparecen los componentes que tengamos instalados del menu.
El error es una mal actualizacion, creo entender en:
https://github.com/joomla/joomla-cms/issues/15719
Antes de actualizacion:

Ahora despues de actualizacion:

Como veís desaparecio el menu virtuemart.
En github de errores de Joomla nos indica cual fue la causa.
UPDATE `#__menu` SET `menutype` = 'main', `client_id` = 1 WHERE `menutype` = 'main' OR `menutype` = 'menu';
Entonces , nosotros lo solucionamos yendo a phpmyadmin y en nuestra base datos, en la tabla menu cambiamos:
Los campos ( menutype y client_id) de el registro que tiene "Menu_Item_Root" y ademas de los items de virtuemart que pertenece al menu.
Cuando queremos convertir nuestra web en una tienda on-line y utilizamos Joomla - Virtuemart, no surgen varias preguntas con la gestión usuarios.
Los que utilizamos Joomla , ya sabes que Joomla como CMS , tiene integrado un gestor usuarios, a su vez virtuemart trae su propio usuario, el gestor de compradores ( clientes )
Por este motivo nos surgen varias preguntas.
¿ Cuando nos registramos en el componente usuarios de Joomla ?
Si nos registramos joomla, aunque tengamos asignado en el plugin de virtuemart que el registro lo haga Joomla, que por defecto vienes que lo haga virtuemart, relalmente nos sigue añadiendo a ese comprador sin datos envío y facturación pero si esta creado como compradores.
[Pendiente] Comprobar si tuviéramos usuarios antes de tener instalado virtuemart , no se si añade los usuarios que hubiera instalados.
¿ Hay que tener activado el registro en el componente Joomla ?
En principio mi respuesta es si, si quiere tener usuarios registrados en la tienda que pueda loguearse y no tenga que volver a poner su datos.
Aunque recuerdo que virtuemart te deja comprar sin registrase, pienso que esta opción te obligaría a poner todos los datos de nuevo.
Los artículos archivados en Joomla son aquellos que tenemos en componente contenido queremos mantener , pero queremos no aparezca en la vistas (lista o blog) de la categoria.
Hay que tener en cuenta que estos no eliminan, se mantienen pero se cambian de estado y no apareceran si NO selecciona en filtro de administrador y front-end solo se mostrarían como listado si creamos un item de menu.
También hay que tener en cuenta que las URL de esos articulos archivados sigue operativa, es decir se sigue mostrando el contenido del articulo.
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
