Jump to content

Eusebio100

Members
  • Posts

    1,023
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Eusebio100

  1. hace 9 horas, burrots dijo:

    claro q si wuapi y q pasa con google bot..... con un par 🤣🤣

    En la consola de google tienes la info para saber si una ip es de google, y en abuseip puedes tener info sobre muchas ips en lista negra por ataques ddos, saltarse las directivas de robots.txt, etc. Hay otros rastreadores a parte de google que no hay que bloquear y mucha info por internet, lo mejor es informarse bien; aún así yo llego hasta donde llego, no soy informático y asumo el riesgo de equivocarme.

    PD. @burrots lo de "claro q si wuapi" me lo ahorro, en este foro solo intento ayudar, no estoy para dejar ese tipo de perlas y otras que sueles dejar en tus comentarios.

    • Haha 1
  2. hace 31 minutos, Mha1980 dijo:

    Buenas, yo me encuentro en la misma situación. Alguien lo ha resuelto ya? sabe por qué pasa esto?

     

    Un saludo y gracias,

    Son bots, yo llego a tener hasta 600 conexiones. Lo que hago es bloquear en htaccess todo el rango de ips (primero busco la info), pero bloqueas uno y salen 30, estoy cansado del tema.

    He visto un módulo gratuito que les pone una trampa, pero no se si funciona, aún no lo he probado, es este

  3. hace 5 horas, gusman126 dijo:

    recuerda que debes borrar cache en la opcion de rendimiento o no detectara el cambio en los ficheros

     

    hace 5 horas, Sumarecursos dijo:

    Lo he probado, ¿la traducción debería de aparecer en las traducciones del módulo verdad?

    Si es prestashop 1.6 (no se como val el 1.7) además de borrar la cache deberás recompilar, si no no cogerá los cambios en los tpl

  4. hace 33 minutos, burrots dijo:

    De todas maneras es un caso atipico... es la primera vez q oigo q sin opcache va mejor que con

    Es lo que yo pensaba, pero al actualizar a ps 1.6.1.20 empecé a hacer pruebas y vi que sin cache me iba mejor, los test como el que ha nombrado gusman126 me suelen dar entre 2 y 3 seg, algunos como pingdom menos de 2 seg. De momento lo dejaré así; ya tendré tiempo de cambiar si veo que empeora.

     

  5. Hola, quiero guardar la ip de los usuarios en la tabla ps_cart cuando crean un carrito, y he creado una función sencilla que lo hace. Esta función es un override que amplía la función init de la clase FrontController.

    Casi funciona, digo casi por que al añadir el primer producto al carrito no hace nada, pero si lo borras, añades un segundo producto o pasas al checkout ya sí que guarda la ip y funciona perfecto. Entiendo desde mi ignorancia que esto debe ser por que el carrito no se crea en la clase FrontController, pero mi pregunta es:

    ¿donde tengo que poner la mencionada función para guarde la ip al momento de crear el carrito?

    PD: tengo prestashop 1.6

    Gracias de antemano.

  6. hace 30 minutos, TâGô dijo:

    Que bien, agradezco tu ayuda y la colaboración de todos. Como es la primera vez que uso el Foro, no sé como darlo por cerrado, ya conseguí lo que buscaba. Una vez más gracias a todos los que dedicaron su tiempo en ayudarme.

    Estaría bien que pusieras cual fue la solución finalmente, eso puede ayudar a otros.

    Si das por finalizado el hilo, edita tu primer post y pon solucionado en el título.

  7. Si se trata de prestashop 1.6 hay un modulo gratuito que hace lo que pides y más cosas, se llama Order reference change mod.

    Si como supongo se trata de prestashop 1.7, dale un vistazo a estos enlaces:

    https://www.sunnytoo.com/11784/change-order-reference-to-number-in-prestashop-1-7

    Edito: el modulo que comentaba para ps 1.6 ahora dicen que está funcionando en ps 1.7, es este.

  8. Con esta modificación indicamos en el listado de pedidos si hay algún mensaje relacionado con el pedido y si el cliente tiene alguna anotación privada.

    Nosotros utilizamos bastante la nota privada de la ficha del cliente, entre otras cosas anotamos cuando un cliente devuelve un pedido contra reembolso, para no enviarle más pedidos por ese mismo método de pago, sin embargo hace poco se nos escapó uno por que no vimos la nota del cliente, así que me puse con ello y creo que ha mejorado, al menos ahora está mucho más visible y sale indicado en el listado de pedidos.

    Modificación fácil, probado en prestashop 1.6.1.20 y pienso que debería valer igual en todas las versiones 1.6.1

    1) Mejorar la visibilidad en la ficha del pedido del admin.  Abrimos el archivo admin/themes/default/template/controllers/orders/helpers/vew/view.tpl

    Buscar:

    <div class="col-lg-12">
    											<textarea name="note" id="noteContent" class="textarea-autosize" onkeyup="$(this).val().length > 0 ? $('#submitCustomerNote').removeAttr('disabled') : $('#submitCustomerNote').attr('disabled', 'disabled')">{$customer->note}</textarea>
    										</div>

    Sustituir por:

    <div class="col-lg-12">
                                            {if isset($customer->note) && $customer->note}
                                                <textarea style="background-color:#F00; color:#FF0; font-weight:600" name="note" id="noteContent" class="textarea-autosize" onkeyup="$(this).val().length > 0 ? $('#submitCustomerNote').removeAttr('disabled') : $('#submitCustomerNote').attr('disabled', 'disabled')">{$customer->note}</textarea>
                                            {else}
                                                <textarea name="note" id="noteContent" class="textarea-autosize" onkeyup="$(this).val().length > 0 ? $('#submitCustomerNote').removeAttr('disabled') : $('#submitCustomerNote').attr('disabled', 'disabled')">{$customer->note}</textarea>
                                            {/if}
    										</div>

    2) Mejorar la visibilidad en la ficha del cliente del admin.  Abrimos el archivo admin/themes/default/template/controllers/customers/helpers/vew/view.tpl

    Buscar:

    <div class="col-lg-12">
    							<textarea name="note" id="noteContent" onkeyup="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea>
    						</div>

    Sustituir por:

    <div class="col-lg-12">
                              {if isset($customer_note) && $customer_note}
    							<textarea style="background-color:#F00; color:#FF0; font-weight:600" name="note" id="noteContent" onkeyup="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea> 
                              {else}
                                <textarea name="note" id="noteContent" onkeyup="$('#submitCustomerNote').removeAttr('disabled');">{$customer_note}</textarea>
                              {/if}
                                
    						</div>

    3) Poner indicador de nota privada en el listado de pedidos del admin, y ya que estamos ponemos también el indicador de mensaje del cliente relacionado con el pedido.

    Descomplimir el zip adjunto y copiarlo en la carpeta override/controllers/admin. Comprobar que no exista un archivo con el mismo nombre en esa carpeta, si lo hubiera hay que editarlo y añadir el contenido del adjunto.

    Y esto es todo, espero que os sea útil como a nosotros.

    AdminOrdersController.zip

    • Like 1
  9. Con el siguiente código en override consigo ver la nota privada completa en el listado:

    class AdminOrdersController extends AdminOrdersControllerCore
    {
    
        public function __construct() {
    
            parent::__construct();
    		$this->_select .= ', c.note as `note`';
    		$this->_join .= 'LEFT JOIN '._DB_PREFIX_.'customer_thread ct ON ct.id_order=a.id_order';
            
            $this->fields_list['note'] = array(
                    'title' => $this->l('Note'),
                    'havingFilter' => true,
                 );
        }
    }

    Quiero recortarla que en lugar de ver la nota completa se vean solo 20 o 30 caracteres, pero hasta aquí he llegado. Lo intento con mb_substr y con mb_strimwidth, pero no se hacerlo.

    Alguien que me eche un cable please.

  10. Hola,

    Quiero poner una columna en el listado de pedidos que me diga si el cliente tiene alguna nota privada, pero no lo consigo.

    He llegado a crar el sql y la columna, pero me muestra el contenido de la nota, todo el texto. Lo que quiero es simplemente que me indique si el cliente tiene nota, un SI/NO o un 0/1 me da igual.

    Alguna idea de como puedo hacerlo?

    Gracias de antemano.

  11. hace 6 horas, gusman126 dijo:

    bueno parece que este modulo esta volviendo a dar problemas.

    no lo he probado, pero parece que sea este el problema

    en los ficheros tpl ponen "redsys" 

    como se soluciona?

    entramos en la carpeta del servidor /modules/redsysoficial/views/templates/hook

    Aqui hay varios ficheros .tpl

    editad con un editor de ficheros o el editor del explorador del servidor

    buscad 

     mod='redsys'

    donde pone redsys cambiad a redsysoficial, importante dejad las '

    {l s='Pagar con tarjeta' mod='redsys'} ---> {l s='Pagar con tarjeta' mod='redsysoficial'}

    Con esto ya deberia poder cambiar los idiomas a otros que no sean el Español.

     

     

    Eres un Crack!

    Mira que he pasado veces por los ficheros del módulo y no me había dado cuenta que el nombre ha cambiado de redsys a redsysoficial, pero lo de los de Redsys no tiene calificativo, son ellos los que lo cambian, un año dandole vueltas al tema y no se enteran.

  12. hace 11 horas, forcobayspain dijo:

    Hola!

    Encontrasteís la solución al tema de la traducción de la parte visible por el Cliente del modulo oficial de Redsys?

    Puestos en contacto con el Soporte técnico de Redsys, la solución ha sido............"cambie el idioma de su navegador" .....DE TRACA!!!!

    Gracias!

    Un saludo!

     

    Hola, lo que dije más arriba, hacer la traduccion directamente en los ficheros del módulo, eso no falla.

    Edito: gusman 126 ha puesto la solución aquí.

    • Like 1
  13. hace 5 horas, freiserk dijo:

    Gracias.

    Pues a probar se ha dicho !!!

    Saludos.

    Te pongo este enlace por si te sirve de ayuda: https://stackoverflow.com/questions/43675696/add-field-in-product-prestashop-1-7

    Además creo recordar que hay un modulo que permite cambiar la fecha de alta y está para ps 1.7, si lo encuentro pongo el enlace.

    Edito: Este es el modulo al que me refería, la verdad es que tiene un precio muy asequible.

    • Like 1
  14. Esta es una de esas cosas que tenía pendientes y hoy ha sido el día.

    A veces nos ocurre que reponemos algunos artículos que se han agotado y nos interesa mostrarlos, pero no como nuevos si no como "Reposiciones" y eso es lo que hace este aporte, adjunto imagenes de como se verían nuevo y reposición. Para ello utilizaremos la opción de productos nuevos de prestashop, lo que también nos sirve de contador de tiempo para mostrar la etiqueta de "Reposición".

    Todo esto está hecho y probado en prestashop 1.6.1.20 y el tema por defecto, para otras versiones 1.6 no se como quedaría y para prestashop 1.7 no vale.

    1) Paso 1: Lo primero de todo es poner la tienda en mantenimiento y hacer una copia de la bd, así mismo conviene mantener una copia de cualquier archivo que se modifique. 

    2) Paso 2: Como utilizamos la funcionalidad de productos nuevos, debemos tener la posibilidad de modificar la fecha de alta del producto para que prestashop lo considere producto nuevo, para ello hay que tener instalado el siguiente aporte: 

     

    3) Paso 3: Acceder al hosting e ir a phpmyadmin y crear la columna "restock" en las tablas ps_product y ps_product_shop, para ello ejecutar las siguientes consultas sql:

    ALTER TABLE `ps_product` ADD `restock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
    ALTER TABLE `ps_product_shop` ADD `restock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';

    Comprobar que efectivamente se han crado las columnas.

    4) Paso 4: En el zip adjunto van los archivos AdminProductsController.php y Product.php; subirlos a las carpetas override/controllers/admin/ y override/classes/ respectivamente. Mirar que estos archivos no se encuentren ya en las mencionadas rutas, en caso de tenerlos hay que editarlos y añadir o modificar el contenido de los adjuntos.

    5) Paso 5: Crear los checkbox en el admin para marcar los productos como reposición, podemos crear el check en la pestaña Precio o en la pestaña Información, cualquiera de las opciones es válida, pero utilizar solo una.

    Opción A: crear el checkbox en la pestaña Precio, para ello abrir el archivo admin/themes/default/template/controllers/products/prices.tpl y buscar este bloque:

    	<div class="form-group">
    		<div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="on_sale" type="default"}</span></div>
    		<label class="control-label col-lg-2" for="on_sale">&nbsp;</label>
    		<div class="col-lg-9">
    			<div class="checkbox">
    				<label class="control-label" for="on_sale" >
    					<input type="checkbox" name="on_sale" id="on_sale" {if $product->on_sale}checked="checked"{/if} value="1" />
    					{l s='Display the "on sale" icon on the product page, and in the text found within the product listing.'}
    				</label>
    			</div>
    		</div>
    	</div>

    Sustituir por:

    <div class="form-group">
            <div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="restock" type="default"}</span></div>
    		<label class="control-label col-lg-2" for="restock">&nbsp;</label>
    		<div class="col-lg-9">
    			<div class="checkbox">
    				<label class="control-label" for="restock" >
    					<input type="checkbox" name="restock" id="restock" {if $product->restock}checked="checked"{/if} value="1" />
    					{l s='Mostrar el icono "Reposición" en la página del producto y en el catálogo de productos.'}
    				</label>
    			</div>
    		</div>
    		<div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="on_sale" type="default"}</span></div>
    		<label class="control-label col-lg-2" for="on_sale">&nbsp;</label>
    		<div class="col-lg-9">
    			<div class="checkbox">
    				<label class="control-label" for="on_sale" >
    					<input type="checkbox" name="on_sale" id="on_sale" {if $product->on_sale}checked="checked"{/if} value="1" />
    					{l s='Display the "on sale" icon on the product page, and in the text found within the product listing.'}
    				</label>
    			</div>
    		</div>
    	</div>

    Opción B: crear el checkbox en la pestaña Información, para ello abrir el archivo admin/themes/default/template/controllers/products/informations.tpl y buscar este bloque:

    <label class="control-label col-lg-2" for="available_for_order">
    					{l s='Options'}
    				</label>
    				<div class="col-lg-9">

    Sustituir por:

    <label class="control-label col-lg-2" for="available_for_order">
    					{l s='Options'}
    				</label>
    				<div class="col-lg-9">
                        <div class="checkbox">
    				        <label for="restock" >
    					        <input type="checkbox" name="restock" id="restock" {if $product->restock}checked="checked"{/if} value="1" />
    					{l s='Mostrar el icono "Reposición" en la página del producto y en el catálogo de productos.'}
    				            </label>
    			        </div>

    6) Paso 6: Incluir el código para visualizar el resultado en los correspondientes listados, para ello modificaremos los archivos product.tpl y product-list.tpl de nuestro tema.

     En product.tpl buscar:

    <div class="pb-left-column col-xs-12 col-sm-4 col-md-5">
    			<!-- product img-->
    			<div id="image-block" class="clearfix">
    				{if $product->new}
    					<span class="new-box">
    						<span class="new-label">{l s='New'}</span>
    					</span>
    				{/if}

    Sustituir por:

    <div class="pb-left-column col-xs-12 col-sm-4 col-md-5">
    			<!-- product img-->
    			<div id="image-block" class="clearfix">
    				{if $product->new}
                            {if $product->restock == 1 && $product->new == 1}
    							<span class="new-box">
    								<span class="restock-label">{l s='Reposición'}</span>
    							</span>
    						{else}
    							<span class="new-box">
    								<span class="new-label">{l s='New'}</span>
    							</span>
    						{/if}
                    {/if}

    En product-list.tpl buscar:

    {if isset($product.new) && $product.new == 1}
    							<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
    								<span class="new-label">{l s='New'}</span>
    							</a>
    						{/if}

    Sustituir por:

    {if isset($product.restock) && $product.restock == 1 && isset($product.new) && $product.new == 1}
    							<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
    								<span class="restock-label">{l s='Reposición'}</span>
    							</a>
    						{/if}
                            {if isset($product.restock) && $product.restock == 0 && isset($product.new) && $product.new == 1}
    							<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
    								<span class="new-label">{l s='New'}</span>
    							</a>
    						{/if}

    7) Paso 7: Crear el css para la etiqueta "Reposición".

    Abrir el archivo global.css de nuestro tema y añadir al final el siguiente código:

    .restock-label {
      font: 700 12px/10px Arial, Helvetica, sans-serif;
      color: #fff;
      background: #008e01;
      text-transform: uppercase;
      padding: 10px 0 8px;
      text-shadow: 1px 1px rgba(0, 0, 0, 0.24);
      width: 130px;
      text-align: center;
      display: block;
      position: absolute;
      left: -33px;
      top: 16px;
      z-index: 1;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
      .restock-label:before {
        position: absolute;
        bottom: -3px;
        right: 5px;
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: 4px 4px 0px 4px;
        border-color: #007101 transparent transparent transparent;
        content: ".";
        text-indent: -5000px;
        -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        transform: rotate(225deg); }
      .restock-label:after {
        position: absolute;
        bottom: -3px;
        left: 3px;
        width: 0px;
        height: 0px;
        border-style: solid;
        border-width: 4px 4px 0px 4px;
        border-color: #007101 transparent transparent transparent;
        content: ".";
        text-indent: -5000px;
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg); }

    Ya solo queda borrar el archivo cache/class_index.php, limpiar la cache de smarty y también la del navegador por si acaso. Con esto ya debería funcionar, recordad que todo se refiere al tema por defecto, para otros temas puede que el resultado no sea el esperado.

    Espero que a alguien le sirva.

    nuevo.JPG

    reposicion.JPG

    Product-repo.rar

    • Thanks 1
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More