Diferentes hooks en Prestashop Action y Display

En esta pagina puedes encontrar la lista completa de los hooks que usa Prestashop y como puedes observar algunos son tipo Action y otros Display.

En que se diferencian estos tipos de hook, las propias palabras ya nos están dando unas pistas, los hook Action, son aquellos que realizan alguna accion u orden, los hook tipo Display son aquellos que van a mostrar información tanto en el Fronoffice como en el Backoffice.

Por ejemplo :

Hook Action

actionProductAdd : Este hook se usa cuando un producto se añade, podemos usar este hook para añadir un código el cual se ejecutara cuando un producto se vaya a añadir.

actionProductSave : Este hook, es el que controla cuando un producto se guarda la información, se suele usar cuando queremos añadir opciones o caracteristicas a un producto y que al mismo tiempo que guarda el producto, se guarden nuestras características o ejecute nuestro código

public function hookActionProductSave()
    {
        
        $ID_P = Tools::getValue('id_producto');
        $LOT = Tools::getValue('lote');
        $Stock = Tools::getValue('stock');
        $data = Tools::getValue('fecha_caducidad');
        $namewh = Tools::getValue('namewh');   
        $combination = Tools::getValue('combination');
        $pasillo = Tools::getValue('pasillo');  
        $portal = Tools::getValue('portal');  
        $altura = Tools::getValue('altura');  
        $tipo_palet = Tools::getValue('tipo_palet');
        
        if (empty($LOT)) {
            
        }else {
            $lotescaducidad = new lotescaducidad();
            $lotescaducidad->id_producto = $ID_P;
            $lotescaducidad->lote = $LOT;
            $lotescaducidad->stock = $Stock;
            $lotescaducidad->namewh = $namewh;
            $lotescaducidad->combination = $combination;
            $lotescaducidad->pasillo = $pasillo;
            $lotescaducidad->portal = $portal;
            $lotescaducidad->altura = $altura;
            $lotescaducidad->tipo_palet = $tipo_palet;
            $lotescaducidad->fecha_caducidad = $data;
            $lotescaducidad->add();
        }   
    }

 

Hook Display

displayLeftColumn : Hook que controla lo que se va a mostrar en la columna izquierda de nuestra pagina web, podemos usarla para mostrar informacion o código html.

displayProductExtraContent : Con este hook vamos a mostrar información extra en la ficha de los productos, se suele usar para añadir una pestaña , “Tab” nueva que muestre información extra o configurada en nuestro código del modulo que estamos haciendo.

public function hookDisplayAdminProductsExtra()
    {
        $id_producto = Tools::getValue('id_product');
        $lotes_producto = lotescaducidad::LotesdeProducto($id_producto);
        $id_pedidos = Tools::getValue('pedidos');
        $this->context->smarty->assign('lotillos', $lotes_producto);
        $StockTotal = 0;
        $id_lang = Configuration::get('PS_LANG_DEFAULT');
        foreach ($lotes_producto as $stockp ){
            $StockTotal = $StockTotal + $stockp['stock'];
        }                
        $warehouses = Warehouse::getWarehouses($ignore_shop = false, $id_shop = null);
        $product = new Product($id_producto);
        $combinations = $product->getAttributeCombinations($id_lang);
        
        $this->context->smarty->assign('StockTotal', (int)$StockTotal);
        $this->context->smarty->assign('warehouses', $warehouses);
        $this->context->smarty->assign('combinations', $combinations);
        
         
        return $this->context->smarty->fetch(dirname(__FILE__).'/views/templates/admin/lotesProducto.tpl');	
    }

 

 

 

Deja una respuesta