Iconos para tus proyectos web

Hoy hablaremos de quizás la mejor pagina donde obtener iconos para nuestros proyectos web

Porque la mejor?: por que los iconos son imágenes vectoriales a las cuales usamos como si fuera una fuente, pudiendo cambiar el tamaño, color, etc hasta que tengan movimiento

Es empleada por casi todas las webs y cms conocidos.

WEB: https://fontawesome.com/

Para usar estos iconos simplemente basta con introducir este código en la cabecera de la pagina

https://use.fontawesome.com/releases/v5.0.8/js/all.js

fuente: https://fontawesome.com/get-started

Galería de iconos: https://fontawesome.com/icons?d=gallery

Simplemente nos bastara con seleccionar un icono y copiar el <i>..</i>

Guardar resultado de un comando en un fichero

Para guardar el resultado de un comando linux en un fichero existen dos maneras:

comando > nombre del fichero . Esto generara un fichero con el resultado del comando y si existe ya lo remplazara.

comando >> nombre del fichero . Esto generara un fichero con el resultado del comando y si existe lo sumara al fichero que había.

Exemplo:

ping google.es >> ping.google.txt . Guardara el resultado en el fichero «ping.google.txt»

Esto es muy útil para crear un log en el sistema

Crontab linux

¿Que es cron?

En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano que ejecuta procesos o guiones a intervalos regulares.

Comandos:

  • crontab -l : lista todas las tareas
  • crontab -e : edita las tareas

5 asteriscos y el comando a ejecutar. Cada uno de los 5 asteriscos significa:

  • m: minuto
  • h: hora
  • dom: día de la semana
  • mon: mes
  • dow: día del mes

Hay que decir que en Linux existen algunas cadenas de texto reservadas para ejecutar procesos durante determinados periodos:

  • @reboot: Ejecuta una vez y nada más iniciarse el equipo.
  • @yearly: ejecuta sólo una vez al año: 0 0 1 1 *
  • @monthly: ejecuta una vez al mes y el primer día: 0 0 1 * *
  • @weekly: Todas las semanas, el primer minuto de la primer hora de la semana: 0 0 * * 0.
  • @daily: todos los días a las 12 de la noche: 0 0 * * *
  • @midnight: Tiene el mismo efecto que el anterior.
  • @hourly: todas las horas durante su primer minuto: 0 * * * *

PHP, Cargar imágenes en un producto en Prestashop

Script para añadir imágenes desde php a un producto en prestashop, para cargas masivas de productos, etc. Una manera fácil y rápida de cargarlas en una función

Ejemplo de como cargar imágenes a un producto de  prestashop:

Las variables $pid: se refiere al id del producto en la tabla de la base de datos, y $imagenes: la url de la imagen a cargar. Para insertar varias imágenes solo hace falta llamar a esta función las veces que se quiera con las imágenes que se quieren añadir.

Detecta si es la primera imagen es la primera que tiene el producto y la asigna como principal ( $image->cover = true )

<?php

include_once 'config/config.inc.php';
include(dirname(__FILE__).'/init.php');

    /*
    *
    *   pid = id del producto.
    *   $imagenes = url de la imagen.
    *
    */

    function IMAGENES($pid,$imagenes){

    $product    = new Product($pid);
    $image      = new Image();
    
    $image->id_product = intval($product->id);
    $image->position = Image::getHighestPosition($product->id) + 1;
    if(Image::getImagesTotal($product->id)>0)
        $image->cover = false;
    else
        $image->cover = true;
    $languages = Language::getLanguages();
    foreach ($languages as $language)
         $image->legend[$language['id_lang']] = 'Click to view';
    $id_image = $image->id;
    $image->add();
    $tmpName = tempnam(_PS_IMG_DIR_, 'PS');
    
    copy($imagenes,$tmpName);
    
    $new_path = $image->getPathForCreation();
    ImageManager::resize($tmpName, $new_path.'.'.$image->image_format);
    $imagesTypes = ImageType::getImagesTypes('products');
        foreach ($imagesTypes as $imageType)
    ImageManager::resize($tmpName, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);

}