Search the Community
Showing results for tags 'funcion'.
-
Hola a todos, Tengo un módulo que envía correos avisando de los productos que te has olvidado en la cesta, quiero añadir al correo un botón "comprar" y que redirija a la página del carrito y añada los productos, en la URL he metido la ID de carrito abandonado pero desconozco si existe una función en Prestashop para restaurar el carrito mediante la ID o si hay que construirla. Me he fijado que en algunos otros módulos lo reconstruye mediante la ID del carrito abandonado y otra variante llamada verify (desconozco a que dato hace referencia). ¿Alguien puede ayudarme? gracias.
-
- carrito abandonado
- url
-
(and 4 more)
Tagged with:
-
estoy intentado llamar a la función truncateTables() en mi script .php para que me vacié las tablas antes de hacer las funciones loadCategoriesPost() y loadProductsPost() , no hay manera de que las vacié algo estoy haciendo mal al llamarla y no se que es. la función tiene esta pinta y se supone que si le paso el 0 me tiene que borrar las categorías. protected function truncateTables($case) { switch ((int)$case) { case $this->entities[$this->l('Categories')]: Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'category` WHERE id_category NOT IN ('.(int)Configuration::get('PS_HOME_CATEGORY'). ', '.(int)Configuration::get('PS_ROOT_CATEGORY').')'); Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'category_lang` WHERE id_category NOT IN ('.(int)Configuration::get('PS_HOME_CATEGORY'). ', '.(int)Configuration::get('PS_ROOT_CATEGORY').')'); Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'category_shop` WHERE `id_category` NOT IN ('.(int)Configuration::get('PS_HOME_CATEGORY'). ', '.(int)Configuration::get('PS_ROOT_CATEGORY').')'); Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'category` AUTO_INCREMENT = 3'); foreach (scandir(_PS_CAT_IMG_DIR_) as $d) { if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $d)) { unlink(_PS_CAT_IMG_DIR_.$d); } } break; case $this->entities[$this->l('Products')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'feature_product`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'category_product`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_tag`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'image`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'image_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'image_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'specific_price`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'specific_price_priority`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_carrier`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'cart_product`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'compare_product`'); if (count(Db::getInstance()->executeS('SHOW TABLES LIKE \''._DB_PREFIX_.'favorite_product\' '))) { //check if table exist Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'favorite_product`'); } Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attachment`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_country_tax`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_download`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_group_reduction_cache`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_sale`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_supplier`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'scene_products`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'warehouse_product_location`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'stock`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'stock_available`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'stock_mvt`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'customization`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'customization_field`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'supply_order_detail`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_impact`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_combination`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_image`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'pack`'); Image::deleteAllImages(_PS_PROD_IMG_DIR_); if (!file_exists(_PS_PROD_IMG_DIR_)) { mkdir(_PS_PROD_IMG_DIR_); } break; case $this->entities[$this->l('Combinations')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_impact`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_group`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_group_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_group_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'attribute_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_shop`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_combination`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'product_attribute_image`'); Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'stock_available` WHERE id_product_attribute != 0'); break; case $this->entities[$this->l('Customers')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'customer`'); break; case $this->entities[$this->l('Addresses')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'address`'); break; case $this->entities[$this->l('Manufacturers')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'manufacturer`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'manufacturer_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'manufacturer_shop`'); foreach (scandir(_PS_MANU_IMG_DIR_) as $d) { if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $d)) { unlink(_PS_MANU_IMG_DIR_.$d); } } break; case $this->entities[$this->l('Suppliers')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'supplier`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'supplier_lang`'); Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'supplier_shop`'); foreach (scandir(_PS_SUPP_IMG_DIR_) as $d) { if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $d)) { unlink(_PS_SUPP_IMG_DIR_.$d); } } break; case $this->entities[$this->l('Alias')]: Db::getInstance()->execute('TRUNCATE TABLE `'._DB_PREFIX_.'alias`'); break; } Image::clearTmpDir(); return true; }
-
Estoy trabajando con la versión 1.6 de prestashop con el tema default. He colocado un botón para instagram en el módulo social sharing que solo viene con facebook, twitter, pinterest y google originalmente. El botón ya se me ve en la pagina de cada producto pero no he podido programar la función correcta que me genere el link para compartir con instagram. El archivo que contiene las funciones que me generan esos links para compartir(facebook, twiter, pinterest, google) es socialsharing.js que se encuentra en \modules\socialsharing\js este sería el código, que ya esta programado y funciona, de la función para pinterest function socialsharing_pinterest_click(image_url) { window.open('http://www.pinterest.com/pin/create/button/?media=' + encodeURIComponent(image_url) + '&url=' + encodeURIComponent(location.href), 'sharerpinterest', 'toolbar=0,status=0,width=660,height=445'); } y aqui iría el código necesario para que funcione para instagram. Aquí solo copie el de pinterest he hice un pequeño cambio en la URL solo por probar pero evidentemente no funciona. Así que, ¿Cual seria la función correcta para que trabaje bien? function socialsharing_instagram_click(image_url) { window.open('http://www.instagram.com/p/create/button/media=' + encodeURIComponent(image_url), + '&url=' + encodeURIComponent(location.href),'shareinstagram', 'toolbar=0,status=0,width=660,height=445'); }
- 6 replies
-
- social sharing
-
(and 2 more)
Tagged with:
-
Hola a todos! Les cuento mi duda: Estoy desarrollando un módulo que añade una nueva forma de pago a PS, todo va excelente, pero tengo una duda técnica o teórica sobre PS. Estoy ejecutando un controlador de Prestashop desde un archivo CGI. Ese controlador no debe tener el diseño de la tienda, solo se usa para hacer unas validaciones y responder "ACEPTADO" o "RECHAZADO" (y redireccionar de acuerdo a la respuesta). Actualmente lo ejecuto de esta forma, en la configuración del archivo CGI: index.php?fc=module&module=mimodulo&controller=cierre El problema es que al ejecutar dicho controlador por parte del CGI, se incluye el diseño de la tienda. Yo solo necesito que sea un controlador o funcion que hagas las validaciones pero internamente, osea que el usuario nunca vea ese controlador ni muestre nada si se ejecuta via URL. Estoy haciéndolo bien o debo realizar una función o hook específico (privado algo así) para ejecutar dichas validaciones desde el CGI? Agradezco cualquier orientación que puedan darme! De antemano gracias, Saludos!
-
- controlador
- funcion
-
(and 2 more)
Tagged with:
-
Saludos, Soy nuevo en esto de prestashop y estoy modificando mi propia plantilla. Hasta ahora todo muy bien pero me he quedado estancado en un pequeño detalle. Como hago para invocar una funcion personalizada (creada dentro de mi clase personalizada Product.php) desde la plantilla smarty product-list.tpl? En la plantilla product.tpl puedo invocar mi funcion getMultiAutor() con el siguiente codigo: {assign var="autor" value={$product->getMultiAutor($product->id,"Autor")|escape:'quotes':'UTF-8'[spam-filter] y luego con {$autor} Pero si quiero hacerlo desde product-list.tpl no puedo hacerlo. Que puedo hacer??? Muchas gracias por sus respuestas.
-
- funcion
- personalizada
-
(and 1 more)
Tagged with:
-
Buenas tardes, Necesito alguna función, modulo o algo para poder hacer lo siguiente si yo meto el precio del producto en la casilla de precio mayorista de productos me aplique un porcentaje de comision y automaticamente el lo haga solo el calculo..es decir Por ejemplo si un producto vale 20 de mayorista, y el porcentaje de comision es 30% el automaticamente en la casilla precio sin iva salga la cantidad de 26€ y luego como ahora que te pone automaticamente el IVA 30.68€ es muy util para mi porque yo suelo meter directamente precio del proveedor y asi no tendria que estar calculando con la calculadora el porcentaje cada dos por tres, un saludo!
-
hola, una pregunta sobre este modulo, "Bloque de enlaces v1.4" cual es su funcion real? lo activo y relleno los campos pero deseo que me lleve a enlaces externos a mi tienda, por ejemplo twitter o facebook, sin embargo esta configurado para que sea interno, que podria modificar para realizar esta accion porque me hace lo siguente, mi sitio se llama., www.misitio.com y al agregar un enlace a ese bloque por ejemplo www.mifacebook.com al hacer click en la tienda se genera el siguente enlace, www.misitio.com/www.mifacebook.com que tendria que modificar para eliminar esto de www.misitio.com gracias espero que puedan ayudarme