Jump to content
thirty bees forum

Yabber

Trusted Members
  • Posts

    84
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by Yabber

  1. In thirtybees, the delete() method in the Language class has an bug and does not delete in the database the records of the deleted language. Below is the properly working code from PS 8: // Database translations deletion $result = Db::getInstance()->executeS('SHOW TABLES FROM `' . _DB_NAME_ . '`'); $tableNameKey = 'Tables_in_' . _DB_NAME_; foreach ($result as $row) { if (empty($row[$tableNameKey]) || !preg_match('/_lang$/', $row[$tableNameKey])) { continue; } $columns = Db::getInstance()->executeS('SHOW COLUMNS FROM `' . $row[$tableNameKey] . '`'); $idLangColumnExists = false; foreach ($columns as $column) { if ($column['Field'] == 'id_lang') { $idLangColumnExists = true; } } if ($idLangColumnExists === false) { continue; } Db::getInstance()->execute('DELETE FROM `' . $row[$tableNameKey] . '` WHERE `id_lang` = ' . (int) $this->id); } Db::getInstance()->execute('DELETE FROM ' . _DB_PREFIX_ . 'tag WHERE id_lang = ' . (int) $this->id); Db::getInstance()->execute('DELETE FROM ' . _DB_PREFIX_ . 'search_word WHERE id_lang = ' . (int) $this->id); If you already deleted a language, then repairing the method will not help anything anymore. You have to manually clear the database. 1. Open your SSH terminal application and login to your server. 2. Ensure you use your actual credentials for the following variables: hostname - your mysql hostname (for example: localhost) user - your database username database - your database name password - your database username's password 3. Run the following command: mysql -h hostname -u user -p database 4. Run this query to get lang tables (change "database" with your database name): SELECT table_name FROM information_schema.tables WHERE table_schema = 'database' AND table_name LIKE '%_lang'; 5. Copy the table names into a text editor. 6. Run this query to delete unused language data: DELETE FROM tb_attachment_lang WHERE id_lang = 3 OR id_lang = 5; DELETE FROM tb_attribute_lang WHERE id_lang = 3 OR id_lang = 5; DELETE FROM tb_attribute_group_lang WHERE id_lang = 3 OR id_lang = 5; DELETE FROM tb_cart_rule_lang WHERE id_lang = 3 OR id_lang = 5; DELETE FROM tb_cms_lang WHERE id_lang = 3 OR id_lang = 5; (and so on the other tables)
  2. The site map is generated by the "Sitemap" module, that is, the location /modules/sitemap/. Google is the biggest virus and spy of the internet 🙂 If you embed a PDF file on a CMS page or a product page, google will scrape its location from the code of the page in question and index it for sure.
  3. The sitemap can only contain URLs of pages, not URLs to some arbitrary files. In thirtybees, attachments do not have some individual pages of their own. Page URLs can contain additional information about images, video, and news, not about some arbitrary files embedded in the page. https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#xml
  4. Yabber

    linked orders

    Such a split order is created if each product in the order has a different carrier assigned to it.
  5. Opt Lasers - Laser Heads for CNC Engraving https://optlasers.com/
  6. You cannot copy translations from a theme to a module. There is a different syntax for phrases. In theme: $_MODULE['<{stripe}niara>stripe_ce7566d1d08cc094b74cf283cf9c56a5'] = 'Stripe'; In module: $_MODULE['<{stripe}prestashop>stripe_ce7566d1d08cc094b74cf283cf9c56a5'] = 'Stripe';
  7. For this you need any of these modules: https://addons.prestashop.com/en/473-reservation-rental-system?compatibility=1.6.1&
  8. In blockcart.tpl template code: {assign var='free_ship' value=count($cart->getDeliveryAddressesWithoutCarriers(true, $errors))} replace with: {assign var='free_ship' value=count($cart->getDeliveryAddressesWithoutCarriers(true))} And by the way, all themes from prestashop are not suitable for thirtybees, because they do not use the new thirtybees functionality. Such as, for example, support for WEBP images.
  9. Here nothing needs to be fixed, because it is related to the browser language. For a test, change language of your browser to English or to Chinese 🙂 And such a curiosity, firefox has these texts different as chrome.
  10. Input text type="file" does not come from thirtybees, they come from your browser. Example: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
  11. We have no influence on what google displays in the SERP, this is decided by google algorithms. If google's algorithms think the meta description doesn't match the content of the page, they reject it and take some content from the page. You have to experiment with the content of the meta description so that it pleases google.
  12. Information under "Server Requirements" at https://thirtybees.com/download/ is very out of date. TB 1.5.x and 1.6.0 work properly with MySQL 8 and PHP 8.3
  13. The names of the countries should be translated into all the languages we have in the store so that there are no misunderstandings with customers. In PS 8 they added a useful option - automatic translation of country names using CLDR. In thirtybees, unfortunately, there is no such thing and you have to translate manually.
  14. Sample modification of order-opc-new-account.tpl template:
  15. I have removed insertion of default country in the Country field. All these auto fillers only cause errors in shop, customer should choose the Country himself.
  16. By default, PaymentModule class does not pass the message variable to order_conf email. You must have modified PaymentModule class, maybe you have errors in this modification?
  17. Messages to orders in TB are working properly. If you don't have these messages in tb_customer_message table, it is a bug in your theme.
  18. With Stripe -> Przelewy24 integration, I already had problems in old version of module. Every few, several payments transaction was not confirmed. Therefore, I disabled this integration and in new version of module I did not enable it either.
  19. ThirtyBees 1.5 and 1.6 (bleeding edge) support PHP 8.3 and MySQL 8.
  20. Thank you. Payment has tested, works perfect 🙂
  21. And is it possible to add BLIK payments to the module? https://docs.stripe.com/payments/blik
  22. We have no way of forcing customers to provide an order number from our store in a bank transfer order. And the vast majority of customers do not provide order numbers. And what happens in such a case? Does the module somehow try to match the order to the payment? For example, by the customer's personal or address information.
  23. In OPC order mode, when customer logs in, the card data fields are not loaded. Only after refreshing page are these fields loaded. Old version of module does not have this error.
  24. I use this module: https://github.com/d1m007/gshoppingflux I reworked it a bit for my needs and adapted it to PHP 8.3
  25. If you download product data to GMC from an XML file generated in store, then you can force the download of this data at any time in "Data Sources" configuration. And with the standard GMC configuration, then google updates them once a day, too.
×
×
  • Create New...