Jump to content

jotaele

Members
  • Posts

    27
  • Joined

  • Last visited

Profile Information

  • Location
    Murcia
  • Interests
    Web design and development, e-business, start-ups, social media,
  • Activity
    Developer

jotaele's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Muchísimas gracias por el aporte, tu solución me ha salvado. Saludos.
  2. Hola, te comento mis avances y conclusiones desde ayer: - Probando la velocidad media de un Prestashop 1.6 recién instalado con 6 artículos o incluso ninguno en distintos proveedores (Arsys, 1and1) e incluso lanzando tests de velocidad a la propia demo de Prestashop (http://demo.prestashop.com/es/?view=front), no baja de los 8 segundos y la media está sobre ese mismo tiempo de carga, con lo que concluyo que la versión 1.6 es lenta por naturaleza incluso ANTES de cargar los artículos - He conseguido cargar la home en 9.13 seg después de desactivar un módulo de "categorytabs" que llevaba la plantilla que estoy usando y que identificamos como el causante de una consulta sql que tardaba 13seg - El tema buscador es otra guerra ya que haciendo una sql directamente sobre la tabla donde se guardan los términos de búsqueda (ps_search_word) ha tardado 23.5 segundos arrojando 455 resultados sobre 1.127.852 registros (sin hacer relaciones con join para sacar el id producto, su nombre, etc). - Vamos a valorar conseguir velocidad a través de hardware (tiene buena pinta el proveedor A2 que figura como proveedor oficial en la página de Prestashop). Seguimos en ello y esperando alguna pista sobre la que trabajar. Saludos.
  3. Hola a todos, Tengo una instalación 1.4 con 850.000 artículos con una velocidad razonable (2,27 seg para 2,3Mb) pero en una nueva versión con la que estoy trabajando basada en la 1.6, optimizada al máximo con los consejos habituales e incluso con un módulo específico de caché (v1.2.11-pm_cachemanager) la velocidad para la página principal es de 20 segundos para 1Mb de peso total, el número de artículos en este caso son 950.000. El buscador se queda casi muerto ejecutando las búsquedas. Las 2 tiendas están en el mismo servidor y con los mismos recursos (RAM, etc.). ¿Por qué hay tanta diferencia de velocidad/rendimiento entre una versión y otra de Prestashop? ¿Qué cosas se pueden hacer para mejorar o ir depurando la carga? Gracias y saludos.
  4. Para ser "Addict" como tú entonces habría que escribir al menos 900 mensajes... Gracias por la respuesta. Saludos.
  5. Hola, ¿Alguien puede decirme cuáles son los distintos títulos posibles de los usuarios de este foro y de qué depende tener tal título? He visto que hay apprentice, newbie, legend, fanatic... Gracias y saludos.
  6. Una de las tiendas de mi cliente tras una migración a otro servidor tiene problemas para realizar la indexación de los productos de la tienda. Son muchos registros (621.000) y en el mejor de los casos sólo llega hasta 199.000, a nivel de configuración ya hemos ampliado todos los parámetros que podrían afectar a este proceso (mysql:interactive_timeout = 28800 wait_timeout = 28800 / php: max_execution_time = 6000 / apache:Timeout = 6000) pero NO mejoran los resultados y tampoco se produce ningún mensaje de error, simplemente llega hasta un número determinado de registros indexados y ya no avanza más (tampoco si posteriormente se usa la opción de "Añadir productos que faltan al índice".) Antes del cambio de servidor este proceso funcionaba correctamente y no se han realizado modificaciones de código relacionadas (la versión es 1.4.7.0).
  7. Por si le sirve a alguien, en algunas tiendas yo he usado un javascript llamado CookieLawer que aunque no es específico para Prestashop, incluyéndolo en el header.tpl de la plantilla hace su función perfectamente: impide que se cargue ninguna cookie hasta que el usuario ha aceptado expresamente la política de cookies del sitio. Sólo deja pasar una cookie de sistema (sesión de PHP) que al incluir el script dentro del header no hay manera de evitar. El enlace: http://cookielawer.blogspot.com.es/ (vale 5 pavos).
  8. Hola Antonio, actualmente tengo el mismo problema que tú. No puedo traducir los módulos de una plantilla que he instalado, la respuesta que me ha dado el proveedor y que en principio funcionó (por eso te la comento) fue eliminar a mano todos los archivos de idioma XX.php de las carpetas que están en blanco. Si encontraras otra solución, coméntala por aquí. Saludos.
  9. I had the same problem with a new template which has 2 views of product list: grid view y list view, the last one showed the error message. The solution was to edit the product-list.tpl file, line 51 in my theme333 template (in your template it will be other line...): {if isset($comparator_max_item)} The original line which produced the error did not have the isset function... Regards.
  10. Hi, I was having the same problem with ps_search_index table because I am generating the search index from an external application. I have finally solved creating the table this way: CREATE TABLE ps_search_word ( `id_word` int( 10 ) unsigned NOT NULL AUTO_INCREMENT , `id_lang` int( 10 ) unsigned NOT NULL DEFAULT '3', `word` varchar( 100 ) NOT NULL , PRIMARY KEY ( `id_word` ) ) ENGINE = MYISAM DEFAULT CHARSET = utf8;
  11. <?php require_once(_PS_SMARTY_DIR_.'Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = _PS_THEME_DIR_.'tpl'; $smarty->compile_dir = _PS_SMARTY_DIR_.'compile'; $smarty->cache_dir = _PS_SMARTY_DIR_.'cache'; $smarty->config_dir = _PS_SMARTY_DIR_.'configs'; $smarty->caching = false; $smarty->force_compile = true; // to pass "false" when put into production $smarty->compile_check = false; //$smarty->debugging = true; $smarty->debug_tpl = _PS_ALL_THEMES_DIR_ . 'debug.tpl'; function smartyTranslate($params, &$smarty) { /* * Warning : 2 lines have been added to the Smarty class. * "public $currentTemplate = null;" into the class itself * "$this->currentTemplate = Tools::substr(basename($resource_name), 0, -4);" into the "display" method */ global $_LANG, $_MODULES, $cookie, $_MODULE; if (!isset($params['js'])) $params['js'] = 0; if (!isset($params['mod'])) $params['mod'] = false; $msg = false; $string = str_replace('\'', '\\\'', $params['s']); $key = $smarty->currentTemplate.'_'.md5($string); if ($params['mod']) { $iso = Language::getIsoById($cookie->id_lang); if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$params['mod'].'/'.$iso.'.php')) { $translationsFile = _PS_THEME_DIR_.'modules/'.$params['mod'].'/'.$iso.'.php'; $modKey = '<{'.$params['mod'].'}'._THEME_NAME_.'>'.$key; } else { $translationsFile = _PS_MODULE_DIR_.$params['mod'].'/'.$iso.'.php'; $modKey = '<{'.$params['mod'].'}prestashop>'.$key; } if (@include_once($translationsFile)) $_MODULES = array_merge($_MODULES, $_MODULE); $msg = (is_array($_MODULES) AND key_exists($modKey, $_MODULES)) ? ($params['js'] ? addslashes($_MODULES[$modKey]) : stripslashes($_MODULES[$modKey])) : false; } if (!$msg) $msg = (is_array($_LANG) AND key_exists($key, $_LANG)) ? ($params['js'] ? addslashes($_LANG[$key]) : stripslashes($_LANG[$key])) : $params['s']; return ($params['js'] ? $msg : Tools::htmlentitiesUTF8($msg)); } $smarty->register_function('l', 'smartyTranslate'); function smartyDieObject($params, &$smarty) { return Tools:($params['var']); } $smarty->register_function('d', 'smartyDieObject'); function smartyShowObject($params, &$smarty) { return Tools:($params['var']); } $smarty->register_function('p', 'smartyShowObject'); function smartyMaxWords($params, &$smarty) { $params['s'] = str_replace('...', ' ...', html_entity_decode($params['s'], ENT_QUOTES, 'UTF-8')); $words = explode(' ', $params['s']); foreach($words AS &$word) if(Tools::strlen($word) > $params['n']) $word = Tools::substr(trim(chunk_split($word, $params['n']-1, '- ')), 0, -1); return implode(' ', Tools::htmlentitiesUTF8($words)); } $smarty->register_function('m', 'smartyMaxWords'); function smartyTruncate($params, &$smarty) { $text = isset($params['strip']) ? strip_tags($params['text']) : $params['text']; $length = $params['length']; $sep = isset($params['sep']) ? $params['sep'] : '...'; if (Tools::strlen($text) > $length + Tools::strlen($sep)) $text = Tools::substr($text, 0, $length).$sep; return (isset($params['encode']) ? Tools::htmlentitiesUTF8($text, ENT_NOQUOTES) : $text); } $smarty->register_function('t', 'smartyTruncate'); function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false, $charset = 'UTF-8') { if ($length == 0) return ''; if (Tools::strlen($string) > $length) { $length -= min($length, Tools::strlen($etc)); if (!$break_words && !$middle) { $string = preg_replace('/\s+?(\S+)?$/u', '', Tools::substr($string, 0, $length+1, $charset)); } if(!$middle) { return Tools::substr($string, 0, $length, $charset) . $etc; } else { return Tools::substr($string, 0, $length/2, $charset) . $etc . Tools::substr($string, -$length/2, $charset); } } else { return $string; } } $smarty->register_modifier('truncate', 'smarty_modifier_truncate'); $smarty->register_modifier('secureReferrer', array('Tools', 'secureReferrer')); global $link; $link = new Link(); $smarty->assign('link', $link); ?>
  12. Gracias por la rapidez. No he encontrado esas líneas en mi versión de PS. En cualquier caso, me faltaba localizar también la cadena #c3284d# En principio parece que ya no inyecta ningún código, sólo me falta revisar un par de tiendas más afectadas por lo mismo y pedir revisión a Mr Google... Saludos.
  13. Hola, estoy teniendo un problema similar con la inyección de código entre esas etiquetas <!--/c3284d-->. En principio he limpiado todo el sitio localizando el código con WindowsGrep, pero sigue saliendo el código. Mi Prestashop afectado es la versión 1.3.7. ¿como puedo forzar la compilación desde esta versión ya que no aparece esa opción en el backend?
  14. A mí también me ha resuelto la papeleta... Gracias.
×
×
  • Create New...