Jump to content


  • Posts

  • Joined

  • Last visited

About compsoul.dev

  • Birthday 02/29/2016

Contact Methods

Profile Information

  • Activity
    Web Development Agency

Recent Profile Visitors

387 profile views

compsoul.dev's Achievements


Contributor (5/14)

  • Reacting Well Rare
  • First Post Rare
  • Collaborator Rare
  • Dedicated Rare
  • Conversation Starter Rare

Recent Badges



  1. There was a customer group in the previous shop that is not present in the current shop. And all accounts have an empty customer group ticked. Thank you for your answer, do you perhaps know which columns are mandatory to transfer when migrating customers using the database?
  2. Ok, I have resolved the error. After moving the ps_customer column, the users are not assigned to the customer group. Which results in an empty value being passed to SQL. There should be an if with an exception there. Can someone kindly tell me if this is enough to move the customer database? Or do I still need to remember something. Everything seems to be working. It's just that I don't want to manually assign several thousand to a group. And in the database I'm getting a little bit of a chicken.
  3. I have two databases, one is from PS 1.7 the other is the latest database from PS 8. I have now moved the ps_customer column. I can see all the users in BO, I can log in, but when logging in I get this error: Fatal error: Uncaught PrestaShopDatabaseException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') GROUP BY c.`id_category` ORDER BY c.`level_depth` ASC , categ...' at line 10<br /><br /><pre> SELECT c.*, cl.* FROM `ps_category` c INNER JOIN ps_category_shop category_shop ON (category_shop.id_category = c.id_category AND category_shop.id_shop = 1) LEFT JOIN `ps_category_lang` cl ON c.`id_category` = cl.`id_category` AND cl.id_shop = 1 LEFT JOIN `ps_category_group` cg ON c.`id_category` = cg.`id_category` RIGHT JOIN `ps_category` c2 ON c2.`id_category` = 9 AND c.`nleft` >= c2.`nleft` AND c.`nright` <= c2.`nright` WHERE 1 AND `id_lang` = 1 AND cg.`id_group` IN () GROUP BY c.`id_category` ORDER BY c.`level_depth` ASC , category_shop.`position` ASC </pre> in public_html/classes/db/Db.php:769 Stack trace: #0 / in public_html/classes/Hook.php on line 998 Do I need to move any other columns?
  4. But is there a universal theme js file? Does each skin use its own? Probably if you write a skin for PS then you download the theme.js file.
  5. Hey, I don't use webpack. My question is, should I update the theme.js file in my theme from time to time and where should I download it from?
  6. Testowałem na wersji 1.7 więc powinno wszystko działać. Jak jednak wiadomo 1.7 != 1.7
  7. Hello, I wrote a free module that stores price history. It was created so that your store can meet the omnibus directive. The downsides of my solution, is that you need to scan all products using the module configuration, or every time you change the price, in addition, the module does not collect prices for different currencies, customers or region. I described the installation on the blog, links in the module configuration or in a private message. Possibility of paid implementation, link to my store in the footer. The module is in the test phase, test and share your comments in the comments. This is a revised version, one of the forum users helped me to adapt it to the requirements of the modules I had no idea about, thanks. compsoulomnibus.zip
  8. Witam, napisałem darmowy moduł przechowujący historię cen. Został on stworzony aby Twój sklep mógł spełnić dyrektywę omnibus. Minusy mojego rozwiązania, to to że trzeba skanować wszystkie produkty za pomocą konfiguracji modułu, lub każdorazowo po zmianie ceny, dodatkowo moduł nie zbiera cen dla różnych walut, klientów czy regionu. Instalację opisałem na blogu, linki w konfiguracji modułu lub w wiadomości prywatnej. Możliwość płatnego wdrożenia, link do mojego sklepu w stopce. Moduł jest w fazie testowej, przetestuj i podziel się uwagami w komentarzu. To wersja poprawiona, jeden z użytkowników forum pomógł mi go dostosować do wymogów modułów o których nie miałem pojęcia, dzięki. compsoulomnibus.zip
  9. If you are working on PS software. You need to start thinking like someone who doesn't care about programming dogma. Additionally, remember that moderators can have two links in the footer and you can have one. In your case you should rename the class you are extending. Why? Because... My case: class CompsoulNavFeaturedModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $this->setTemplate('module:compsoulnavfeatured/views/templates/front/ajax.tpl'); } } The code above doesn't work, throws an error: But this code is already working: class compsoulnavfeaturedajaxModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $this->setTemplate('module:compsoulnavfeatured/views/templates/front/ajax.tpl'); } }
  10. Because I thought that changing the PHP version would solve my problem.
  11. After change PHP version to 8.1 I have a error in the same place: Fatal error: Uncaught Error: Call to undefined function proc_open() in /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:291 Stack trace: #0 /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(54): Swift_Transport_StreamBuffer->establishProcessConnection() #1 /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(143): Swift_Transport_StreamBuffer->initialize() #2 /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php(50): Swift_Transport_AbstractSmtpTransport->start() #3 /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php(65): Swift_Transport_SendmailTransport->start() #4 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/Mail.php(627): Swift_Mailer->send() #5 /home/compsoul/domains/skate.compsoul.pl/public_html/modules/ps_emailalerts/ps_emailalerts.php(529): MailCore::send() #6 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/Hook.php(968): Ps_EmailAlerts->hookActionValidateOrder() #7 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/Hook.php(407): HookCore::coreCallHook() #8 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/Hook.php(903): HookCore::callHookOn() #9 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/PaymentModule.php(558): HookCore::exec() #10 /home/compsoul/domains/skate.compsoul.pl/public_html/modules/ps_wirepayment/controllers/front/validation.php(63): PaymentModuleCore->validateOrder() #11 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/controller/Controller.php(308): Ps_WirepaymentValidationModuleFrontController->postProcess() #12 /home/compsoul/domains/skate.compsoul.pl/public_html/classes/Dispatcher.php(503): ControllerCore->run() #13 /home/compsoul/domains/skate.compsoul.pl/public_html/index.php(28): DispatcherCore->dispatch() #14 {main} thrown in /home/compsoul/domains/skate.compsoul.pl/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php on line 291
  12. I do not add my solutions, because the rules of the forum are not clear to me. But in this case I guess I can: <?php if (!defined('_PS_VERSION_')) { exit; } class CompsoulMainVariants extends Module { public function __construct() { $this->name = 'compsoulmainvariants'; $this->tab = 'front_office_features'; $this->version = '1.0.0'; $this->author = 'compsoul.pl'; $this->need_instance = 0; $this->ps_versions_compliancy = [ 'min' => '1.7.6', 'max' => _PS_VERSION_, ]; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('Compsoul Main Variants'); $this->description = $this->l('Description of my module.'); $this->confirmUninstall = $this->l('Are you sure you want to uninstall?'); if (!Configuration::get('COMPSOUL_MAIN_VARIANTS')) { $this->warning = $this->l('No name provided'); } } public function install() { if (Shop::isFeatureActive()) { Shop::setContext(Shop::CONTEXT_ALL); } return ( parent::install() && $this->registerHook('displayCompsoulMainVariants') && Configuration::updateValue('COMPSOUL_MAIN_VARIANTS', 'my friend') ); } public function uninstall() { return ( parent::uninstall() && Configuration::deleteByName('COMPSOUL_MAIN_VARIANTS') ); } public function hookDisplayCompsoulMainVariants($params) { $product = $this->getProductById($params['product']->id_product); $attributes = $product->getAttributesInformationsByProduct($params['product']->id_product); $attributesList = $this->getAttributesIdList($attributes, $params['product']->id_product); $atributesGroup = array(); if(!$attributesList) return false; foreach ($attributesList as $key => $value) { $atributesGroup[$key] = $this->getAttributesGroupById($params['product']->id_product, $value); foreach ($atributesGroup[$key] as $index => $result) { $atributesGroup[$key][$index]['url'] = $this->getProductAttributeLink($params['product']->id_product, $result['id_product_attribute']); } } $this->context->smarty->assign([ 'compsoul_main_variants_name' => Configuration::get('COMPSOUL_MAIN_VARIANTS'), 'compsoul_main_variants_link' => $this->context->link->getModuleLink('compsoulmainvariants', 'display'), 'compsoul_main_variants_atributes' => $atributesGroup, 'compsoul_main_variants_listing' => $params['listing'] ]); return $this->display(__FILE__, 'compsoulmainvariants.tpl'); } public function getAttributesIdList($attributes = null, $idProduct = null ) { if(!$attributes || !$idProduct) return false; $attributesIdList = array(); foreach ($attributes as $key => $value) { $attributesIdList[$key] = $value['id_attribute_group']; } return array_unique($attributesIdList); } public function getAttributesGroupById($idProduct = null, $idAttributeGroup = null) { if(!$idProduct || !$idAttributeGroup) return false; $idLang = $this->context->language->id; $checkStock = !Configuration::get('PS_DISP_UNAVAILABLE_ATTR'); if (!$res = Db::getInstance()->executeS( ' SELECT pa.`id_product`, pac.`id_product_attribute`, ' . ($checkStock ? 'SUM(IF(stock.`quantity` > 0, 1, 0))' : '0') . ' qty, a.`id_attribute`, al.`name`, color, IF(color = "", a.id_attribute, color) group_by FROM `' . _DB_PREFIX_ . 'product_attribute` pa ' . Shop::addSqlAssociation('product_attribute', 'pa') . ($checkStock ? Product::sqlStock('pa', 'pa') : '') . ' JOIN `' . _DB_PREFIX_ . 'product_attribute_combination` pac ON (pac.`id_product_attribute` = product_attribute_shop.`id_product_attribute`) JOIN `' . _DB_PREFIX_ . 'attribute` a ON (a.`id_attribute` = pac.`id_attribute`) JOIN `' . _DB_PREFIX_ . 'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = ' . (int) $idLang . ') JOIN `' . _DB_PREFIX_ . 'attribute_group` ag ON (a.id_attribute_group = ag.`id_attribute_group`) WHERE pa.`id_product` IN (' . $idProduct . ') AND ag.`id_attribute_group` = '. $idAttributeGroup .' GROUP BY pa.`id_product`, a.`id_attribute`, `group_by` ' . ($checkStock ? 'HAVING qty > 0' : '') . ' ORDER BY a.`position` ASC;' ) ) { return false; } return $res; } public function getProductById($id = null) { if($id) $id = new Product($id, $this->context->language->id); return $id; } public function getProductAttributeLink($idProduct = null, $idProductAttribute = null) { $link = new Link(); $url = null; if($idProduct && $idProductAttribute) { $url = $link->getProductLink( $idProduct, null, null, null, $this->context->language->id, null, $idProductAttribute, false, false, true ); } return $url; } }
  13. Ok I solved this problem by using: --translate: calc(50% + 0.875em); transform: translate(var(--translate), var(--translate));
  14. After turn on the CCC function, CSS is generating in bad way: Before convert: transform: translate(calc(50% + 0.875em), calc(50% + 0.875em)); After convert: transform: translate(calc(50% + 0.875em),); You can check this error here: http://skate.compsoul.pl/en/ in the .module-cart-summary .cart-products-count class.
  15. Like I wrote, I use default PS 8 modules. There is a template code: {block name='customer_form'} {block name='customer_form_errors'} {include file='_partials/form-errors.tpl' errors=$errors['']} {/block} <form action="{block name='customer_form_actionurl'}{$action}{/block}" id="customer-form" class="module-form js-customer-form" method="post"> {block "form_fields"} {foreach from=$formFields item="field"} {block "form_field"} {form_field field=$field} {/block} {/foreach} {$hook_create_account_form nofilter} {/block} {block name='customer_form_footer'} <footer class="form-nav"> <input type="hidden" name="submitCreate" value="1"> {block "form_buttons"} <button class="form-button button-second" data-link-action="save-customer" type="submit"> {l s='Save' d='Shop.Theme.Actions'} </button> {/block} </footer> {/block} </form> {/block} This is exactly the same code which I used in 1.7 version but in 8.0 it does not wanna run. This is a default code, so I send the same parameters like everyone. On this shop working: shop.compsoul.pl On this one does not working: skate.compsoul.pl You Can check by order something without account.
  • Create New...