CMS

csm

CSM es el acrónimo de Content Management System, Sistema de manejo de contenido en Español.

Se considera un CMS todo software que gestiona el contenido de una pagina web dinámica, existen muchísimos y muy distintos. La mayoría son vía web, pero los hay de escritorio. Lo que hace es permitir a los administradores y creadores de la web, poder crear, editar y gestionar el contenido de su web de forma intuitiva , sin necesidad tener muchos conocimientos técnicos.

El contenido de la web normalmente se aloja en una bases de datos que es precisamente la controla el CMS, teniendo un control de roles usuarios: administradores, creadores, editores e incluso usuarios.

Aquí inicialmente vamos solo a tratar los que están programados en PHP con html, css ,javascript y alguna otra librería. Estos son los más populares: Joomla, Wordpress, Drupal y Prestashop.

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Es un componente de gestion vales de descuento, con muchas más opciones que el de virtuemart:
Se puede encontrar en : http://awodev.com/products/joomla/awocoupon

Tiene una versión gratuita y una version de pago  por : 43,99€ (PRO)

La version gratuita , no se donde descargarla ahora. Para aquellos que tiene la versión ( como es mi caso) sigue teniendo actualizaciones.
Ademas este componente fue retirado de gestor extensiones joomla por una advertencia en
la licencia.
UR9: Violation - Licensing Restrictions
https://extensions.joomla.org/extension/awocoupon-starter/

¿ Problemas encontrados?

  1. Los cupones existentes los importa automaticamente al instalar, pero quedan desactivados, me imagino que es por motivo de la importación, esto simplemente entrado en ellos ya se activa.
    por lo que de inicio queda desactivados, tiene que activarse..

Hay que tener en cuenta tambien que los cupones de virtuemart  siguen , pero aunque añadas no funciona y no se añaden automaticamente al componente AwoCoupon.

Tiene GIT por lo aportare el error.

https://github.com/awodev-virtuemart/com_awocoupon/releases

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Los componentes de Phoca.cz son siempre una excelente opción, no suelen necesitar muchas actualizaciones y fucionan de forma muy sencilla.

Estuve un par horas probando otros , pero al fina me decidi por phocaemail , ya que hace lo buscamos y no necesitamos mucho mas, se que no es el mas conocido dentro la comunidad de Joomla, pero yo siempre llego la contra. :-)

Aunque el creado de phoca.cz pienso que alguno patrones que utiliza Joomla se lo pasa a la bartola, para mi siguen siendo un creado muy fiable y seguro.

CODIGOS A PONER EN EL NEWSLETTER.

 

  • {name} - será reemplazado por nombre de usuario
  • {email} - será reemplazado por correo electrónico del usuario
  • {sitename} - será reemplazado por el nombre del sitio web - se puede configurar en las opciones
  • {subscriptionname} - será reemplazado por el nombre de la suscripción - se puede configurar en las opciones,, no se realmente para que se pone.
  • {activationlink} - Es el enlace para la activación - Si queremos indicar texto debemos ponerlo dentro href="/{activationlink}
  • {unsubscribelink} - Es el enlace cancelacion subcripción, al igual que anterior
  • {articlelink} - será reemplazado por el enlace a un artículo específico fijado en opciones del boletín
  • {readonlinelink} - Enlace a ver lo on-line, ejemplo:
    <a href="{readonlinelink}">haga clicl para verlo onlinea</a>

Explicacion de los campos de la tabla prefijo_phocaemail_subscribers.

Campos:

  • `name`: El nombre que puso en el campo name.
  • `email`: El email con el se hizo subscriptor del boletin.
  • `token`: Token que genera cuando uno se subscribe, se utiliza para montar los links activacion y desactivacion.
  • `published`: Estado de publicado (1) o despublicado (0), esta opción no comprobe exactamente para que lo utiliza:
        -Si manda o no email
        -Si permite link a ver noticia directamente o no ..{readonlinelink}
        ...
  • `active`: Indica si está activo y puede estar en:
      1. valor 0 : Se subscribio pero aun no activo
      2. valor 1 : Activo
      3. valor 2 : Cancelo la subscripción.

Nuestros procedimiento a la hora enviar newsletter

Utilizamos una plantilla ya mas o menos montada con los campos que vamos utilizar.

A la hora añadir una imagen nos podemos encontrar con problemas ya que podemos realizarlo de varios modos y la verdad aun no tengo claro cual es el mejor, aunque pensamos que la mejor forma es meterlo como nos indica el propio editor de Joomla.

Despues tenemos una lista newsletter para hacer las pruebas, la enviamos y comprobamos si el email se ve bien, fijarse sobretodo en la imagenes.

Una vez comprobado que se ve bien, volvemos enviar a la lista pruebas pero activando el subcriptor (tester) que es un correo que nos faciliata la herramiento tester (maś info) , la cual nos indica otros posible errores o problemas.

Lo normal es que cuando montemos un newsletter lo hagamos con el editor de joomla, el problema es los gestores de correos que a veces utiliza un proxy, que nos puede dar problemas, pongo varias formas de poner la ruta de la imagen:

  • como la meter el editor: images/rutaimagen 
  • ruta absoluta con https
  • sin el https, solo el dominio.es/images/rutaimagen

Lo recomendable es que en lista subscriptores de pruebas este correos de gmail, hotmail y yahoo, para ver si en cada uno de ellos ve correctamente nuestro newsletter. Todo este proceso el tiempo estimado es de una hora, aunque depende del newsletter queremos enviar.

El tiempo envió depende de la cantidad de emails que tengamos subcriptos y la cantidad emails que permita vuestro servidor enviar en un periodo de tiempo, normalmente ronda entre 200 email hora, nosotros marcamos 20s por email.

¡¡ Si deseas realizar una campaña de mailing tenemos montada una plataforma para ello , contacta con nosotros !!

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Muchas veces nos preguntamos si hay usuarios comprando y si estos, dejaron la compra sin confirmar, nos hacemos las preguntas:

¿donde podemos ver esos carritos abandonados?

¿Que cliente son y que productos ?

Sería super guay poder recordarles que se olvidaron de confirmar o si tuvieron algun problema y podemos ayudarle.

Me imagino que hay algun componente de mail que haga esta funcionalidad para Virtuemart que es el  ecomerce que utilizamos habitualmente en nuestras instalaciones. Si no la hay sería muy interesante plantearlo y hacerlo.

En virtuemart estos carritos sin confirmar se guardan en la tabla con nombre: virtuemart_carts

Esta tabla tiene los siguientes campos:

virtuemart_cart_id-> Primaria int(1) AUTO_INCREMENT : Id del carro
virtuemart_user_id-> int(1)  : Id del usuario.
virtuemart_vendor_id-> int(1) : Id del vendedor, me imagino que este campo lo cubre solo si es el vendedor el que hace el carro por el cliente.. Se puede hacer en virtuemart, pero no utilice nunca esta funcionalidad.
cartData -> varbinary(50000) : Realmente es el binario de un Json donde tiene todos los datos del pedido, los productos, datos del cliente ...
created_on-> datetime
created_by-> int(1)
modified_on -> datetime
modified_by -> int(1)

 Si queremos ver mas informacion sobre la clase VirtuaMartCart que metodos y propiedades tiene , podemos verlo en documentacion de la api de virtuemart.

En la version de VirtueMart 3.8.8 10472 , el usuario puede recuperar el carrito , pero no siempre, no se muy bien porque, pero realmente falla al segundo intento.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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:

AntesActualizarJoomla372

Ahora despues de actualizacion:

DespuesActualizarJoomla372

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.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

1. crear archivo filter_xxx.xml (models/forms/filter_versions.xml)

  1.  campo buscar
    1. name="search"
    2. class="js-stools-search-string"
  2.  campo personalizado
    1. name="filtroMarcas"
    2. type="filtroMarcas"
    3. 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.

  1.  class JformFieldFiltroMarcas extends JFormFieldList
  2.  protected $type='filtroMarcas'
  3. funcion getOptions() --> hacer query, listar, y dejar seleccionada la opc.
    1. Con ... foreach {
    2. $tmp = Jhtml::_('select.option', $item->id, $item->nombre);
    3. $options[] = $tmp
    4. }
  4. 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

  1. en funcion display()
    1.  $this->filterForm = $this->get('FilterForm');
    2.  $this->activeFilters = $this->get('ActiveFilters');

4. Añadir herramientas de busqueda default.php views/nodelos/tmpl/default.php

  1. <?php
    1. echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
  2. ?>

5. Añadir 3 funciones en marcas.php (models/marcas.php)

query de lo que queremos que haga el filtro de busqueda...

  1.  __construct ($config=array()) establece campos de filtro
  2.  populateState ($ord=null, $dir=null) obtener y establecer los valores actuales de los filtro.
  3.  getListQuery() usar los valores de filtro actuales para modificar la consulta.

 

 

Vista Version

crear

  1.  models/forms/filter_versions.xml
  2.  models/fields/filtroVersions.php (campo personalizdo)

modificar:

  1.  views/versions/view.html.php
  2.  views/versions/tmpl/default.php
  3.  models/versions.php

 

Crear campo personalizado NUEVO

  1.  crear models/fields/filtroVersions.php (campo personalizdo)
  2.  crear campos en vista del filtro de la vista donde quiero mostrarlo . ej. Vista versiones, xml -> filter_versions.xml. models/forms/filter_versions.xml
  3.  modificar o añadir query para filtrar bien la busqueda models/versions.php

Para que aparezca buscador

  1.  crear                models/forms/filter_marcas.xml                en principio sin campos personalizados
  2.  añadir lineas     views/marcas/view.html.php
  3.  añadir lineas     views/marcas/tmpl/default.php
  4.  añadir query     models/marcas.php

**Me base en com_content/articles