Jump to content

oliiix

Members
  • Posts

    65
  • Joined

  • Last visited

Profile Information

  • Location
    Switzerland
  • Activity
    Web development agency

Recent Profile Visitors

2,359,286 profile views

oliiix's Achievements

  1. it's old i know but even in 2020 this feature would be nice to have. And if you ask me, using GEO location for this is quite bad habbit as it's not about where the customer is but where he wants to send the goods to. He could want to order the products to his home while being abroad, should be possible but geo location would prevent that. The only correct way to do this is by looking at the countries set in the adresses of the user, not geolocation.
  2. As the title says, I wonder why I cannot find anything related on google to the problem I'm facing in several different shops. If the quantity of a product is 0 and "allow order" is set in the quantities and someone orders this product the order status is set immediately to payment accepted instead of the order status that should present itself depending on the payment module used. This happens independent of which carrier or payment method I select. Any one got an idea where and how to fix it? And don't tell me to upgrade to the even buggier looking 1.7 version :'D I tried but the errors I get with the migration addon from Prestashop themselves are ridiculous already (who would have thought). Reminds me of the millions of bugs in 1.6... Guess I'll have to find something completely different at some point in time but we developed several other tools that depend on prestashop database layout so I'll stick with 1.6 as long as possible. Any helps much appreciated
  3. no need to rethink what an attribute is... in my case where we sell e-liquids I'm going to add a table to the description of each product that's a liquid with a certain amount of ml showing how much nicotine or base should be added to the liquid depending on the attribute which is either 60ml 50ml 40 or 30 ml... so there might be a good logical use for that functionality.
  4. It is clearly the reference field as DataKick said! Just view your source code. It's clearly visible that the reference code has the itemprop="sku" attribute.
  5. Is it somewhere possible to set the order of which price rule should be taken into consideration?
  6. Cool that you know a way, maybe be more specific about where and how to do so, so everyone could follow?
  7. It's an older thread so maybe this was good before, but nowadays: Tag manager code should be put in the HEAD tag, the further up the better. There's an additional but optional code that should be but right AFTER the body tag. But the main snippet goes into the head, not the body And especially not right before the body tag!
  8. stupiiiiiddddddd 😃 I will open a bug report for this... this should seriously be done different
  9. No it doesn't you were having a different problem!!
  10. It would be an excellent module if there'd be a simple option inside the quantities page of each product where you could actually set if the product should have qtys for all combinations or not. And this for every product! THAT would be excellent. This module just doesn't improve the quantity system, it just switches from the standard bad implementation to the other bad possibility of managing quantities. So you could call it useful but surely not excellent.
  11. There's actually a file called custom.css inside the assets folder.. Why not just use this one?^^
  12. The problem was actually due to another module (orderrefchange) which changes the order numbers. I removed it (after two days of searching somewhere else^^).
  13. Hello Everyone I have switched from a shared hosting to a VPS server. I use the same php version and the settings should also all be as they should for running prestashop. Now what is strange is that I cannot use any other payment methods than my bitcoin payment module and bankwire (i also have banktransfer which is a copy of bankwire but with additional fees on it for swiss customers). Everything works but the module universal payment methods didn't. I thought that's no problem I just have to use another module for the payment methods I created with univ. pay. But it looks as if the problem is bigger. When I try to complete the order with the universal payment method (I just added 1 payment option: cash on collection) OR when I try to use the "Cash on Delivery" module (after removing! the univ.pay module) from prestashop itself I get the following error message (URL: https://domain.tld/shop/de/module/cashondelivery/validation): [PrestaShopException] Property OrderPayment->amount is not valid at line 909 in file classes/ObjectModel.php The full error page is at the bottom I cannot find any information related to OrderPayment->amount not valid. I tried opening all the php files that are listed on this exceptions page and searched for variables with weird/wrong values, but couldn't find any. I replaced the ObjectModel.php class with an older one and I'm at an end of what I could do to try and solve this. As said, I even tried to use the standard "Cash on Delivery" module from prestashop and it's showing the exact same error. I also removed any modules which generate any overrides, but this also didn't help. Weird is that the order comes through and is listed in the backoffice under orders but without assigned order state. The payment method is correct, the PRICE is actually also correct (even though the exception lets me think it's about the amount of money that might be wrong). So I tried to hard code in the order state id to use but this also doesn't help. Does someone know where I might look to figure this out? Is there a PHP/Apache module missing or too much? Or tell me how you would investigate such an exception. I guess I have to start rebuilding the shop from scratch if there are no solutions to be found which would be quite some pain. Thanks a lot for trying to help!! Oli [PrestaShopException] Property OrderPayment->amount is not valid at line 909 in file classes/ObjectModel.php 904. } 905. 906. $message = $this->validateField($field, $this->$field); 907. if ($message !== true) { 908. if ($die) { 909. throw new PrestaShopException($message); 910. } 911. return $error_return ? $message : false; 912. } 913. } 914. ObjectModelCore->validateFields - [line 246 - classes/ObjectModel.php] 241. * @return array All object fields 242. * @throws PrestaShopException 243. */ 244. public function getFields() 245. { 246. $this->validateFields(); 247. $fields = $this->formatFields(self::FORMAT_COMMON); 248. 249. // For retro compatibility 250. if (Shop::isTableAssociated($this->def['table'])) { 251. $fields = array_merge($fields, $this->getFieldsShop()); ObjectModelCore->getFields - [line 652 - classes/ObjectModel.php] 647. 648. if (Shop::checkIdShopDefault($this->def['table']) && !$this->id_shop_default) { 649. $this->id_shop_default = (in_array(Configuration::get('PS_SHOP_DEFAULT'), $id_shop_list) == true) ? Configuration::get('PS_SHOP_DEFAULT') : min($id_shop_list); 650. } 651. // Database update 652. if (!$result = Db::getInstance()->update($this->def['table'], $this->getFields(), '`'.pSQL($this->def['primary']).'` = '.(int)$this->id, 0, $null_values)) { 653. return false; 654. } 655. 656. // Database insertion for multishop fields related to the object 657. if (Shop::isTableAssociated($this->def['table'])) { ObjectModelCore->update - [line 369 - modules/modrefchange/modrefchange.php] 364. $transaction_id = $order_payment->getByOrderReference($params['order']->reference); 365. $params['order']->reference = $this->generateReferenceFromID($params['order']->id, $params['cart']->id, $params['order']->reference); 366. if(count($transaction_id)){ 367. foreach($transaction_id as $transaction){ 368. $transaction->order_reference = $params['order']->reference; 369. $transaction->update(); 370. } 371. } 372. $params['order']->update(); 373. return; 374. } else { Modrefchange->hookactionValidateOrder - [line 587 - classes/Hook.php] - [1 Arguments] 582. } 583. } 584. 585. // Immediately return the result if we do not log performances 586. if (!Module::$_log_modules_perfs) { 587. return $module->{$method}($params); 588. } 589. 590. // Store time and memory before and after hook call and save the result in the database 591. $time_start = microtime(true); 592. $memory_start = memory_get_usage(true); HookCore::coreCallHook - [line 542 - classes/Hook.php] - [3 Arguments] 537. Tools::waitUntilFileIsModified($moduleInstance->push_filename, $moduleInstance->push_time_limit); 538. } 539. 540. // Call hook method 541. if ($hook_callable) { 542. $display = Hook::coreCallHook($moduleInstance, 'hook'.$hook_name, $hook_args); 543. } elseif ($hook_retro_callable) { 544. $display = Hook::coreCallHook($moduleInstance, 'hook'.$retro_hook_name, $hook_args); 545. } 546. 547. // Live edit HookCore::exec - [line 666 - classes/PaymentModule.php] - [2 Arguments] 661. Hook::exec('actionValidateOrder', array( 662. 'cart' => $this->context->cart, 663. 'order' => $order, 664. 'customer' => $this->context->customer, 665. 'currency' => $this->context->currency, 666. 'orderStatus' => $order_status 667. )); 668. 669. foreach ($this->context->cart->getProducts() as $product) { 670. if ($order_status->logable) { 671. ProductSale::addProductSale((int)$product['id_product'], (int)$product['cart_quantity']); PaymentModuleCore->validateOrder - [line 68 - modules/cashondelivery/controllers/front/validation.php] - [9 Arguments] 63. // echo '$customer->secure_key<br />'.$customer->secure_key."<br /><hr /><br />"; 64. // echo '(int)$this->context->cart->id<br />'.(int)$this->context->cart->id."<br /><br />"; 65. // echo '(int)$this->module->id<br />'.(int)$this->module->id."<br /><br />"; 66. // echo '(int)$this->module->currentOrder<br />'.(int)$this->module->currentOrder."<br /><br />"; 67. // die(); 68. this->module->validateOrder((int)$this->context->cart->id, 21, $total, $this->module->displayName, null, array(), null, false, $customer->secure_key); 69. Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder); 70. } 71. } 72. 73. /** CashondeliveryValidationModuleFrontController->postProcess - [line 178 - classes/controller/Controller.php] 173. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) { 174. $this->setMedia(); 175. } 176. 177. // postProcess handles ajaxProcess 178. $this->postProcess(); 179. 180. if (!empty($this->redirect_after)) { 181. $this->redirect(); 182. } 183. ControllerCore->run - [line 367 - classes/Dispatcher.php] 362. if (isset($params_hook_action_dispatcher)) { 363. Hook::exec('actionDispatcher', $params_hook_action_dispatcher); 364. } 365. 366. // Running controller 367. $controller->run(); 368. } catch (PrestaShopException $e) { 369. $e->displayMessage(); 370. } 371. } 372. DispatcherCore->dispatch - [line 28 - index.php] 23. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) 24. * International Registered Trademark & Property of PrestaShop SA 25. */ 26. 27. require(dirname(__FILE__).'/config/config.inc.php'); 28. Dispatcher::getInstance()->dispatch();
  14. This is because of your cron job setup and is absolutely no problem regarding your shops functionality, except when u run out of space because of it of course You possibly have wget commands in your cronjobs: "wget https://www.domain.tld/shop/url.php?attribute=attr1" wget downloads the html content that gets back from the server. Either try using "wget -q https://blablabla.com" for quiet mode (I haven't tested it! Might still save the files on your server). Or you can try to use the php runtime on your server instead of wget (if at all possible). Running upper wget command with php might look like: "/usr/bin/php https://www.domain.tld/shop/url.php attribute=attr1" "/usr/bin/php" must be replaced with your servers php runtime directory, ask your webhost if you don't know it. Watch the URL attributes! The "?" is being replaced by a " " (space)!
×
×
  • Create New...