Programación

programacion

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado.

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En la version 4.1.0  sacan la opcion de duplicar plantilla  y la sustituyen por crear subplantilla de Joomla (plantillas hijas).

Duplicar plantilla, lo hacia es copiar los ficheros tal cual en el directorio de template, de esa plantilla.

La nueva opcion ( subplantilla) lo que hace copiar la estructura directorios en template y añaden el archivo templateDetails.xml.

En esa versión hay otro cambio bastante relevante, que es cambio la ubicacion de los ficheros css,sass y js de las plantillas pasandolos para el directorio media/templates/nombrePlantilla/, esto en principio para mi es un cambio bastante importante.

Creando una subplantilla de cassiopeia

Entró la plantilla cassiopeia y pulso crear subplantilla, no abre un popup que nos puede un nombre, yo pongo cassiopeia_minombre. A continuación reviso en el codigo que me creo y veo:

Cambios en directorio templates

 cambios templatePodemos ver crea un directorio en plantillas  con el nombre que le pusimos, dentro del directorio añade el fichero templateDetails.xml

Las diferencias en eso fichero con basicas.

pantalla 1 cambio template detalles xml

En ese primer recorte de diferencia podemos ver, crea la carpeta html en media , cuando en la original no lo crea.

Realmente pienso que es es un error.

Los demas cambios ovios, no realmente que son <inheritable> 0 </inheritable> ;

Lo otros lo se o me lo imagino.

 pantalla 2 cambio template detalles xml

 En el segundo recorte , vemos que no añade la carga del lenguaje, por lo que entiendo que carga el lenguaje de la plantilla padre.

Cambios directorio media

 

cambio en mediaCrea en la carpeta media/template/site la misma estructura que tiene cassiopeia.

Aunque en subplantilla crea el directorio html, algo que me parece estraño, pienso que es un error.

En este caso ( media/templates/site/cassiopeia_miplantilla) solo crea los directorios.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Joomla por defecto trae dos plugins de recaptcha que funciona perfectamente.

Hoy me surgio el problema que un cliente los desinstalo, que si permite deinstalar, pese que no pero si se puede.

Lo que hicimos para recuperarlo , fue subir de nuevo los fichero de esos plugins directamente a la instalacion del cliente, pero no los reconoce automaticamente, para ello tenemos que instalarlos como nos indica Sergio Iglesias en 5 forma de instalar una extension, lo explica muy bien este post.

Extensiones/Gestionar/Descubrir.

Una vez pulsamos descubrir nos aparece los dos plugin recaptcha que había eliminado el cliente, ahi ya nos deja instalarlo y ya nos lo reconoce el plugin.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Objetivo del post:

Aprender a utilizar los módulos de JS, para poder reorganizar mejor el codigo JS.

Muchas veces nos encontramos ficheros de JS que son enormes, que se hace ilegibles e incluso muchas veces los cargamos en nuestra paginas para utilizar un par de funciones y realmente no necesitaremos todo su código. Este es el motivo de la entrada, el poder cargar partes de código en fichero, o cargar muchos ficheros JS pequeños, se conoce como los módulos JS.

Información que básica sobre módulos en JS:

En mis búsquedas encontré el Canal JONMIRCHA que tiene un curso Javascript super completo y lo explica genial. Al final del mis apuntes os pongo el vídeo donde habla de los módulos de JS.

Antes de empezar debemos saber que la mayoría que de los NAVEGADORES en la actualizad soportan IMPORT y EXPORT, ya que utilizan Javascript ES6, pero aun hay mucha gente que utiliza versiones antiguas e incluso navegadores que ya no tiene soporte como es Internet Explorer que la versión Javascript es anterior al ES6 y soportan IMPORT/ EXPORT.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Virtuemart genera json para metadatos en fichero sublayout/snippets.php

Nosotros nos encontramos con el dilema que nosotros redondeamos el precio a dos decimales, aunque en el metadatos ponemos todos los digitos, esto hace que google mechants nos rechace la ficha, ya que la web pone un precio y el metadato otro.

Para solicionarlo modificamos ese fichero en nuestra plantilla, redondeando el campo de precio : product->prices['salesPrice']

El codigo lo dejamos asi:

$description = str_replace('"','\"',htmlspecialchars(strip_tags($description)));
$PrecioFinal = number_format($product->prices['salesPrice'], 2, '.', ' '); // Precio ya con descuento..
?>.....
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

La  idea es indicar como hacemos para compilar LESS y minicamos CSS desde terminal. Lo primero indicar que tenemos que tener instalado:

- lessc
- minify

Para instalar lessc y compilar less :

sudo apt-get install node-less

Aunque como bien dice en fuente de donde pille la informacion para instalarlo, la version que instalas no es la mas actualizada, podra actualizar la versionmas actualizada, a mi no me funciono y tampoco la solucion que indica.

Si quiere ver la version que tiene instalado de lessc :

lessc --version

No indica la version que tenemos instalada.

Si queremos generar el CSS, simplemente:

lessc fichero.less fichero.css

Y ya tendríamos el CSS del LESS que queramos.

Para instalar minify y minizar css:

sudo apt-get install minify

La verdad no dio problema y es sencillo utilizarlo.

minify -o nombre_salida fichero_minizar

Con esto es suficiente.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Solemos utilizar un modulo personalizado para poner encima del menu una alerta, así momento determinado podemos advertir o indicar alguna cosa queramos

alerta modulo

 Estos avisos utilizamos ya el color y código que nos proporcione la propia plantilla, en este caso los tiene por defecto bootstrap 3.8, la intención con este post es indicar donde esta ese modulo y como activarlo y desactivarlo.

¿Donde puedo encontrar el modulo de aviso ?

En menu extensiones , selecionamos Modulo

Modulo personalizado aviso

Luego buscamos el modulo personalizado que tiene titulo aviso.

modulos aviso

Ahi podemos pinchar en Titulo y editarlo, o seleccionarlo y pulsar en menu editar.

Tambien podemos despublicarlo y publicar directamente , pinchando check de publicar.

despublicar publicar aviso

Ojo al editar

Si lo editamos

Editar cambiar texto plano

Tenemos que tener en cuenta que el contenido normalmente tiene html incrustado, que con el editor en estado normal no se ve de forma clara, por lo que si borramos el texto, tambien podemos borrar las etiquetas html, lo que luego cambiara el aspecto de esos avisos.

editor texto plano

Bueno, se si me explique lo suficiente... :-)

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Hoy actualizando una web que tenía Joomla 3.10.2 a 3.10.6 , que tengo virtuemart 3.8.8 10472 , pues me rompe en la parte administrativa con el siguiente error:

0 Missing format specifier at end of string

 Call stack
# Function Location
1 () JROOT/administrator/components/com_virtuemart/helpers/vmtext.php:154
2 sprintf() JROOT/administrator/components/com_virtuemart/helpers/vmtext.php:154
3 vmText::sprintf() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit_customer.php:72
4 include() JROOT/libraries/src/MVC/View/HtmlView.php:701
5 Joomla\CMS\MVC\View\HtmlView->loadTemplate() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit_status.php:126
6 include() JROOT/libraries/src/MVC/View/HtmlView.php:701
7 Joomla\CMS\MVC\View\HtmlView->loadTemplate() JROOT/administrator/components/com_virtuemart/helpers/adminui.php:248
8 AdminUIHelper::buildTabs() JROOT/administrator/components/com_virtuemart/views/product/tmpl/product_edit.php:47

Os pongo pantallazo:

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hoy me solicitan la instalación de un prestashop, recuerdo que hace años lo hice con un compañero, hoy me toca intentarlo yo solo, si puedo :-)

Busco información y encuentro este post en la pagina oficial de prestashop.

En principio voy instalarlo en local, en una maquina con SO debian  10  y apache, teniendo en cuenta que luego tendremos migrarlo al hosting del cliente, asi vamos anotando lo que vamos haciendo y los problemas que nos vamos encontrando.

- Descargo fichero del repositorio de Github de prestashop.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

El objetivo de está entrada es explicar paso a paso como hacer una nueva presentación en una categoría y una nueva opción en item de menú del componente content. Como no podría ser de otra forma , va ser una web en Joomla 4. Inicialmente empezó con el vídeo que pondré continuación y está pregunta en el foro de Joomla

La intención es crear una presentación para utilizar una categoría que va ser un directorio de empresa para una web, lo voy hacer sin necesidad de utilizar ninguna extensión externa. Para poder realizar lo tendré que hacer override de mi plantilla actual, que es una copia de Cassiopedia, como explico en esta otra entrada.

En principio en ese override de la plantilla vamos utilizar del content la view de:

  • category
  • categories

 En ella copio los fichero:
- default.php y default_items.php en directorio categories poniendo los ficheros colaborador.php y colaborador_items.php
- default.php, default_articles.php y default_children.php en directorio category poniendo el nombre los ficheros colaborador.php , colaborador_articles.php y colaborador_children.php.