Jump to content
thirty bees forum

datakick

Administrators
  • Posts

    3,102
  • Joined

  • Last visited

  • Days Won

    478

Everything posted by datakick

  1. This is related to delivery_date field on order. This date is populated when order goes through status that generates delivery slip. Check your statuses configuration.
  2. This is google being stupid, that's all. This warning is displayed when product doesn't have any reviews yet. We obviously can't write any metadata about review (author, content, rating) because none is written yet. We also can't write any metadata about aggregateRating - because what is the average of nothing? Allowed value for this field is in range of 1 to 5. If we used 0, then google would complain that this not a valid value we could put some value from the allowed range, but which? 1 -- that's not good, because then the page would be displayed with 1 star in search 5 -- that's better, but we would be lying -- nobody gave us 5 stars yet. And google could, and would penalize your site for that. The only solution here, in my opinion, is omit the information completely.
  3. This was introduced in 1.3.0
  4. In smarty templates you can only use variables that were passed by controller. id_shop doesn't seems to be one of them You can call static methods from templates, though. You could add following line at the top of your template to declare this variable: {$id_shop = Context::getContext()->shop->id} And then use your original code (you don't need need isset() check anymore)
  5. Did you correctly set the robots.txt when you installed the module ?
  6. Who knows? You can test, and let us know. You can quite easily add lines with your custom smtp settings here: https://github.com/thirtybees/tbphpmailer/blob/08954acba40520d5d30e7514d122808ea9f04ec7/src/PhpMailerTransport.php#L103 For testing, there is no need for UI config in module settings page.
  7. This is not a simple customization where you can change one line and it will work. You need to look into your theme, find out relevant elements and attach onchange event listener to them. In event callback function you need to perform dom manipulation = figure out what colour is currently selected (see code above), and change the label of input group accordingly. If you are unsure how to do that, then you need to either study on the topic, or hire somebody to do that for you.
  8. Alternative, and maybe better, solution would be to move the message field from Address form to Carrier Selection form modify the override and save message during Carrier Selection form save
  9. The address (second) step of this checkout flow contains two forms. form for address selection + message form for carrier selection The first form is never submitted -- the submit button was removed to facilitate this illusion of 3 steps. The address selection works because of attached ajax call to 'Choose a delivery address:' field. Message field, however, is not saved. To make this work, you need to: 1) add some onchange handler and submit message data to server. For example: <div id="ordermsg" class="form-group"> <label>{l s='If you would like to add a comment about your order, please write it in the field below.'}</label> <textarea class="form-control" cols="60" rows="2" name="message" id="message">{if isset($oldMessage)}{$oldMessage}{/if}</textarea> </div> <script> $('#message').on('change', () => { $.ajax({ type: 'POST', headers: { 'cache-control': 'no-cache' }, url: "{$link->getPageLink($back_order_page, true)|escape:'html':'UTF-8'}" + '?rand=' + new Date().getTime(), async: false, cache: false, dataType: 'json', data: 'ajax=true&method=updateMessage&message=' + encodeURIComponent($('#message').val()) + '&token=' + static_token, }); }); </script> 2) handle this ajax request on server. Modify the OrderController override that comes with this theme to look like this: public function initContent() { // save cart message if (Tools::isSubmit('ajax') && Tools::isSubmit('method') && Tools::getValue('method') === 'updateMessage') { $this->_updateMessage((string)Tools::getValue('message')); $this->ajaxDie(true); } parent::initContent(); switch ((int) $this->step) { case OrderController::STEP_ADDRESSES: $this->_assignCarrier(); //assigns carrier to address page step break; } }
  10. On product page you can function getCurrentCombinationAttributes and use it to find color name in javascript variable attributesCombinations Something like this: const selectedColorName = getCurrentCombinationAttributes() .map(id => attributesCombinations.find(obj => obj.id_attribute == id)) .filter(obj => obj.group === 'color') .map(obj => obj.attribute) .join(','); console.log(selectedColorName);
  11. No, it's not. Neither core, nor niara/community-theme loads fonts from google apis in maintenance mode. It's your theme, or some module.
  12. I've moved this discussion to separate thread, as it has not much to do with 1.5.1 release announcement 🙂
  13. Not easily, no. The product name displayed in checkout is supposed to be short text (not html), including customization data would make it very unreadable.
  14. You have to set mailqueue as your default email transport in Email settings, otherwise the system will send it immediately.
  15. not thirty bees core / theme related
  16. That's true, chex does not have such functionality. Newest version of stripe let you sort stripe payment methods, so that can help.
  17. I'm afraid none. As far as I know, there's hardcoded logic for PS_OS_CANCELED and PS_OS_ERROR statuses, and that's it. https://github.com/thirtybees/thirtybees/blob/6c9db328c27a93be59b7ed8d32cef8deb0169105/classes/order/OrderHistory.php#L174-L217
  18. There is some (probably module/override) code that access this property on front-office controllers. You have to figure out what code is that, and fix it -- it should probably work with back-office controllers only. Look at stacktrace for this error to figure out what code attempts to access the property.
  19. First line should look like this: public function &__get($name)
  20. At the time of payment order does not exists yet. We could store cart id there, though.
  21. Latest module of stripe uses api 2023-10-16 -- if you use stripe only with thirty bees, you should set this version as default in your stripe dashboard
  22. Native mollie modue is coming soon. It will have it's library dependencies namespaced / prefixed, so the problems I wrote above will not be present. The module is based on latest mollie version for prestashop backported to thirtybees - some functionality had to be stripped because they utilized ps17 features, but most of it survived.
  23. Mollie module, like many other modules, depends on third party libraries. These libraries are part of module zip file. And module contains some specific version of the library. For example, mollie it can contains on guzzle v6.0 while stripe can contain guzzle v7.0. These libraries are load on demand using autoloader. The first module that is used will load its version of library. For example, if the stripe module hook is called first, then system will use guzzle v7. If the mollie hook is called first, system will use guzzle v6. What's worse, system can use different library versions for different requests. So, if the module works on not may depend on existence (and installation order) of other modules in the system. Crazy. There is nothing tb core can do to prevent this. We can implement some detection mechanism and warn user if there are two (or more) versions of the same library on classpath. But that's about that.
  24. Anybody having issues with new version of stripe module so far? I personally encountered problem with P24 payment method -- sometimes stripe redirects customer back before the payment is marked as processed. Redirect handler then fetches payment status from stripe api, and fails because the transaction is not validated yet. In my opinion, this is bug on stripe side -- they should redirect only after the payment process is finalised, but sometimes they don't do that. My store successfully processed few P24 payments already, but yesterday there was one that failed. We will need to implement more robust validation methods (cron / webhooks) and not rely on redirects so much in the future. That will take some time to implement, though
  25. inspect zip file if it's valid theme. Sometimes it contains doc + another zip file with actual theme zip file.
×
×
  • Create New...