Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/30/2018 in Posts

  1. 1 point
    Tu n'as évidement aucun droit de mettre un code sous license sur le forum et ne dois jamais le faire. Ma remarque voulait juste t'expliquer pourquoi nous ne pouvons t'aider. En aucun cas une demande de divulgation du code.
  2. 1 point
    Placez le prestashop 1.6.1.20 via ftp dans le repertoire /admin/autoupgrade/download. Dans votre mdule 1 click upgrade passez en mode expert Puis selectionner mise a jour a partir d'une archive Voila le detail de la doc qui est mise en ligne a ce sujet http://doc.prestashop.com/pages/viewpage.action?pageId=23069393
  3. 1 point
    Thank your for sharing your progress That looks like the classic module-integration nightmare: you have 3 people that need to talk to each other to make the whole thing work (Paypal, 202ecommerce who makes the module and prestashop who runs the module) and each of them tell you to go talk to the other one I have seen this many times unfortunately, not only for prestashop ...
  4. 1 point
    Bonjour, Avez-vous vidé les caches ? Ctrl F5 pour google + les caches prestashop dans le backoffice Serge Https://www.ksl.eu
  5. 1 point
  6. 1 point
    Bonjour Ced17, Y'a pas de RGPD dessus? Côté performance, y'a mieux mais ne sachant pas si le site est deja en prod ou pas...
  7. 1 point
    Hello, le thème est vraiment sympas, j’aime assez bien. Il faut modifier votre balise H2 en H1 et optimiser votre titre, car le mot bienvenue pour Google sera incompréhensible sur votre thèmatique. Si vous concevez des bijoux faits mains, opter pour un titre optimisé, comme par exemple : « Création de bijoux artisanaux : De jolis bijoux créatifs faits mains ! » Vous pouvez aussi ajouter depuis votre texte, quelques liens qui pointent sur vos catégories ou sur un produit... Pour vos fiches produits, c’est très faible niveau qualité rédactionnelle, vous ne serez jamais positionner ! Pourquoi ne pas raconter une histoire avec un joli texte ? avec des mots attrayants ? faut faire rêver les utilisateurs et notre amis Google. Voici un exemple de titre et de description pour https://crealyd17.com/inclusion/8-inclusion-abstrait.html : Jolie bague artisanale en argent - Bague abstrait ovale « Découvrez cette jolie bague artisanale aux multiples effets ! Une bague au style abstrait, au bleu profond, qui vous fera voyager au coeur d’une galaxie, d’une plus d'étoiles et de comètes. Ce bijoux en argent massif, d’une forme ovale et d’une dimension 2.5 x 1.8 cm est une création originale fait à la main » En espèrent que cela puisse vous aider Jérémy
  8. 1 point
    Bonjour Il faut ajouter les méthodes PUT et DELETE à PHP. Cela est dépendant de votre solution d'hébergement/configuration PHP. J'ai mis pour directadmin, puisque j'utilise celui-ci. Vous avez le même type de solution pour plesk, cpanel...
  9. 1 point
    Ce qui est surtout conseillé, c'est de virer le nom de la catégorie de la "route des produits" (Préférences, SEO & URL"). Ainsi, tu auras des URLs plus courtes, plus simples. D'aucun diront qu'il y aura moins de mots clés (la catégorie) dans l'url, mais pour faire simple, on s'en branle, c'est infiniment moins important que le contenu de ta page pour le référencement. L'avantage surtout, c'est que tu pourras déplacer tes produits de catégories sans que l'url change (la stabilité c'est important, ça évite des redirections). Note aussi que de toute façon, même si tu mets un produits dans 10 catégories et que tu laisses la catégorie dans l'url, c'est la (seule et unique) catégorie par défaut qui sera contenue dans l'url. Ce qui veut dire que par exemple si tu as mis un disque dur dans la catégorie "3 1/2" et "composants", mais que ça catégorie par défaut est "3 1/2", le visiteur qui est dans la catégorie "composants" verra le produit avec "3 1/2" dans l'url, ce qui ne correspondra pas à la catégorie dans laquelle il était, ce qui renforce encore l'intérêt de simplifier l'url en retirant la catégorie. Ne pas oublier qu'une url, ce n'est pas un fil d'ariane !
  10. 1 point
  11. 1 point
    To make it clear to everyone. This is more easy than we can thought, so forget to override classes/controllers or copy the files on admin folder For PS1.6 and above (I didn't check on PS.15) The function dedicated to fetch the template is createTemplate from Helper Class take a look for more details, or other specific situations. Basic example to override helper form.tpl, just create the file on the next folder. Override the helper form of your module: /modules/module_name/views/templates/admin/_configure/helpers/form/form.tpl Override the helper form of your module controller: /modules/module_name/views/templates/admin/controllername/helpers/form/form.tpl That's all.
  12. 1 point
    Taka rada dla użytkowników Presty 1.7 Jeśli ktoś utworzył w panelu presty plik robots.txt to google uznaje jego sklep za taki, który nie jest stworzony pod urządzenia mobilne. Można to sprawdzić tu https://search.google.com/test/mobile-friendly Ponieważ 1.7 nadal serwuje wam babola w postaci blokowania googlebota w robots.txt zedytujcie ten plik ręcznie. Konkretnie blokowany jest dostęp do pliku theme.css. Czyli google nie może sprawdzić, że strona jest responsywna pod urządzenia mobilne. Z robots.txt w katalogu głównym na serwerze trzeba skasować linijkę Disallow: * / css /
  13. 1 point
    You can remove validation for this field. In file /classes/Product.php change definition of `name` field: ... 'name' => array('type' => self::TYPE_STRING, 'lang' => true, /*'validate' => 'isCatalogName',*/ 'required' => true, 'size' => 128), ...
  14. 1 point
    I experienced similar problem with Prestashop 1.6.1.1 I did little research in code, and found out that: 1) only orders that have invoice counts so if you don't invoice order (e.g. you use external software to generate PDF invoice) 2) you only need to put this override to override/controllers/admin/AdminStatsController.php : <?php class AdminStatsController extends AdminStatsControllerCore { public static function getTotalSales($date_from, $date_to, $granularity = false) { if ($granularity == 'day') { $sales = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, SUM(total_paid_tax_excl / o.conversion_rate) as sales FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o').' GROUP BY LEFT(`date_add`, 10)'); foreach ($result as $row) { $sales[strtotime($row['date'])] = $row['sales']; } return $sales; } elseif ($granularity == 'month') { $sales = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 7) as date, SUM(total_paid_tax_excl / o.conversion_rate) as sales FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o').' GROUP BY LEFT(`date_add`, 7)'); foreach ($result as $row) { $sales[strtotime($row['date'].'-01')] = $row['sales']; } return $sales; } else { return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT SUM(total_paid_tax_excl / o.conversion_rate) FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } } public static function getOrders($date_from, $date_to, $granularity = false) { if ($granularity == 'day') { $orders = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o').' GROUP BY LEFT(`date_add`, 10)'); foreach ($result as $row) { $orders[strtotime($row['date'])] = $row['orders']; } return $orders; } elseif ($granularity == 'month') { $orders = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 7) as date, COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o').' GROUP BY LEFT(`date_add`, 7)'); foreach ($result as $row) { $orders[strtotime($row['date'].'-01')] = $row['orders']; } return $orders; } else { $orders = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } return $orders; } public static function getPurchases($date_from, $date_to, $granularity = false) { if ($granularity == 'day') { $purchases = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, SUM(od.`product_quantity` * IF( od.`purchase_supplier_price` > 0, od.`purchase_supplier_price` / `conversion_rate`, od.`original_product_price` * '.(int)Configuration::get('CONF_AVERAGE_PRODUCT_MARGIN').' / 100 )) as total_purchase_price FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o').' GROUP BY LEFT(`date_add`, 10)'); foreach ($result as $row) { $purchases[strtotime($row['date'])] = $row['total_purchase_price']; } return $purchases; } else { return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT SUM(od.`product_quantity` * IF( od.`purchase_supplier_price` > 0, od.`purchase_supplier_price` / `conversion_rate`, od.`original_product_price` * '.(int)Configuration::get('CONF_AVERAGE_PRODUCT_MARGIN').' / 100 )) as total_purchase_price FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } } public static function getExpenses($date_from, $date_to, $granularity = false) { $expenses = ($granularity == 'day' ? array() : 0); $orders = Db::getInstance()->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, total_paid_tax_incl / o.conversion_rate as total_paid_tax_incl, total_shipping_tax_excl / o.conversion_rate as total_shipping_tax_excl, o.module, a.id_country, o.id_currency, c.id_reference as carrier_reference FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'address` a ON o.id_address_delivery = a.id_address LEFT JOIN `'._DB_PREFIX_.'carrier` c ON o.id_carrier = c.id_carrier LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); foreach ($orders as $order) { // Add flat fees for this order $flat_fees = Configuration::get('CONF_ORDER_FIXED') + ( $order['id_currency'] == Configuration::get('PS_CURRENCY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['module']).'_FIXED') : Configuration::get('CONF_'.strtoupper($order['module']).'_FIXED_FOREIGN') ); // Add variable fees for this order $var_fees = $order['total_paid_tax_incl'] * ( $order['id_currency'] == Configuration::get('PS_CURRENCY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['module']).'_VAR') : Configuration::get('CONF_'.strtoupper($order['module']).'_VAR_FOREIGN') ) / 100; // Add shipping fees for this order $shipping_fees = $order['total_shipping_tax_excl'] * ( $order['id_country'] == Configuration::get('PS_COUNTRY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['carrier_reference']).'_SHIP') : Configuration::get('CONF_'.strtoupper($order['carrier_reference']).'_SHIP_OVERSEAS') ) / 100; // Tally up these fees if ($granularity == 'day') { if (!isset($expenses[strtotime($order['date'])])) { $expenses[strtotime($order['date'])] = 0; } $expenses[strtotime($order['date'])] += $flat_fees + $var_fees + $shipping_fees; } else { $expenses += $flat_fees + $var_fees + $shipping_fees; } } return $expenses; } } And remember to delete /cache/class_index.php. That fix is cheking stats based on order add date and not invoice date.
  15. 1 point
    Estimado Misterio, Revisa esto: https://github.com/PrestaShop/PrestaShop/commit/8d7196daf3b39d280c631882f0e3ebe473233d07
×
×
  • Create New...

Important Information

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