Jump to content
thirty bees forum

Pedalman

Members
  • Posts

    417
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Pedalman

  1. I had always thought that a proper pdf template for slips would do the trick. I had to edit my pdf templates during Prestashop times and migrated them to TB two years ago. Anyway, this is not how it should be done and the core system should work flawless in this case. So, I really vote for a proper guide how to use these (old) functions a)RMA a) partial refund (that can also fully refund^^) with the relates order statuses and possible emails going out to customer with nice screenshots for dumb merchants as me.
  2. I need to create 6500 chars long order message. I tried to override ordermessage with an increased max allowed chars but I had to learn that I can only override functions and no definitions. Can you help me here? */ public static $definition = [ 'table' => 'order_message', 'primary' => 'id_order_message', 'multilang' => true, 'fields' => [ 'date_add' => ['type' => self::TYPE_DATE, 'validate' => 'isDate' ], 'name' => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 128 ], 'message' => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isMessage', 'required' => true, 'size' => 6500], ], ];
  3. It is a hijack but I still dream about an order edit / credit-slip edit / order status delete/add/edit function for orderid in TB. Would be very handy in many situations.
  4. Hello since I am lazy and since I am also looking for the best way to optimize my off line seo I thought about a way to combine shor and long description of products. For compatiblity reasons both database entries should still be used but in a template it could be solved differently. Moreover via module's like Datakick's that also integrate into backoffice product edit form it might be possbile to annex those fields and graft on them into one form. So I could happily enter one! product description like it is naturally to my writing style and thinking about a product and the template could split the description via js in order to satisfy customers used way to scan a product page and seo as google feed etc. modules that derive data from both or either db field could be used the usual way. In short, I stumbled about this online shop that shows it: https://www.louis.de/artikel/packsack-vintage/10027813?filter_article_number=10027813&list=cc66f11b0cf530dc3a73743738346e6e#description What do you think about it and is this doable via module?
  5. And now since I know that Petr has an adress in L.A. 😊 while doing tests I can tell you that our orders for Sep. and Oct. increased three times while the numer of open carts decreased by two times in comparission to last year. I am confident that this is mainly due to Petr's CHEX module. Thank you to all who tested and for Datakick's constant development of his modules.
  6. And in addtion it is good to know that when you go to translations in your back office and choose to translate/edit emails you choose your template. Then these alterations are constricted on the files in the /themes/yourtheme/mails .
  7. I am going to run my shop now with CHEX and am very excited about how things go. At the moment I am only missing an option to set the CHEX UI apart from the then "background" front-end of the shop. In our case we would certainly benefit if the normal front-end of our shop would get an opaque layer since it does visually distract the customer from the CHEX UI and its forms. For example if you scroll down a bit in CHEX on a PC you will see the footer area of the front-end and it distracts...
  8. Hello I am still missing a tutorial how to use the core updater module. I am running now stable Thirtybees V1.1.0 and I understand that bleeding edge version refers to the version that can be testest and might improve things. But might also introduce new issues. So it is reflecting latest developing step but is meant for testing. But what are the 'new' versions called "issue-..." ? Are they meant to be applied by merchants that prefer to run the stable version? So, they are patches we should install? If so, I guess we start with lowest number?
  9. Hello I did some testing today an I think there might be a bug or the image settings in backoffice need more explaining. Everybody seriously into selling products online needs high quality images that are at the same time not to big in size... I got some product images from my supplier. I do not know if these are already compressed but judging from size I say no. Original jpg is 514K Lossless compression of the same: 412K Lossy compression (85-90% Qual.) of original: 65K Settings in Thirtybees backoffice for images are: Use PNG only if there is a PNG 🙂 JPEG Qual: 100 !! PNG Qual: 0 I use this settings since I like to compress files my own with my own software (Riot Image compression tool and FileOptimizer). Then I uploaded images via backoffice and found that the source file, e.g. 3766.jpg, remains untouched as far I can say. Then this one is resized due to image settings in backoffice (theme). My problem is I do not understand why the resulting images 3766-home_default.jpg, 3766-home_default2x.jpg, 3766-large_default.jpg, 3766-large_default2x.jpg are always of the same size? I mean the lossy source variant is 8 times smaller. I can testify that there is small difference for bigger images like 3766-thickbox_default.jpg but not worth to mention. So, either the settings for images compression in backoffice are not working or there is a functionality/process I do not get. At the moment it looks to me that it hardly makes no sense to compress and optimize files before I upload them (also since I use Webp on the frontend but this need better sources else quality gets blurry). Another point I noticed. If you delete product images from backoffice mostly all 2x images and some other remain on the host in the folder structure /img/p/...
  10. I have and found no issues (except entering custom css in Theme Editor of Warehouse goes without 'formatting' but it is no issue at all). All is working great and I am super happy. PS: Nevertheless I will buy Panda since it is superbly supported by Johnny and I like to try new stuff 🙂 and also the same with Niara and a nice page builder I am still looking for.
  11. I am in a hurry but I think the following information might be relevant. It is about the way how passwords are sent via email. Might be that Thirtybees handles this now different than Presta did once but I do not know. I use this Module form Saxtec : "https://www.youtube.com/watch?v=FiDsiwDQzLM https://addons.prestashop.com/de/sicherheit-brechtigungen/31295-rechtssicheres-kundenkennwort.html
  12. I want to mention that I shamefully forgot to say thank you! Thank you to everyone who commited her/himself so much to get Thirtybees so far. I am really happy to have come to known of it and to use it. It is a great project!
  13. I could slap myself. If I knew how to delete my post above I'd do. Sorry 😞 I did a bit more googling and really found the culprit. A Firefox extension 😞 WTF https://addons.mozilla.org/en-US/firefox/addon/image-info-1/reviews/ If that is installed you get this coded added each time into your forms and there fore UX and SEO hampered.
  14. Each time I enter something into html/css forms unkown html code is added! I have this issues for at least a month and I have no clue where it comes from. This means it is not related to the great Thirtybees V1.1.0 since my shop was already on the branch up to git commits dating to 18th January 2018. For a long time I thought this was a problem with latest changes to TB and Warehouse theme from IQUIT since I noticed it when I entered my custom CSS code into the relating form. Now I noticed to my horror that each time I edited a product, category or ... this code has been added. Since I do most stuff in the module StoreCommander I thought that it is a problem between SC and TB but after I digged the sweeping amount of this code I had already in my 'frontend' data I did a test. I created a new product in Thirtybees BO and went to the form description. It was empty as expected but then I hit the 'css code' button in tinymce? and saw the code already there?! I googled it and found that Wordpress users had the same problem and found this snipped already two years ago 😞 <p></p> <div id="ir-ext-ui" style="color: #000000; font-size: 16px; line-height: 16px; background-color: #f7f7f7; border: 1px solid #999999; border-radius: 1px; bottom: 1px; left: 1px;"> <div class="ir-ext-dimensions"><span class="ir-ext-rendered" title="Rendered image dimensions (after any scaling/resizing has been applied)"> <span data-ir-ext-width=""></span>x<span data-ir-ext-height=""></span> </span> <span class="ir-ext-natural" title="Natural image dimensions (without applying any scaling/resizing)"> (<span data-ir-ext-width=""></span>x<span data-ir-ext-height=""></span>) </span></div> <div class="ir-ext-filesize"><span data-ir-ext-value=""></span> <span data-ir-ext-unit=""></span></div> </div> How can I get rid of that and be sure my shop isn't starting to grow an autonomouse life?
  15. Hello If I remember a year or so ago Prestashop and Thirtybees had some problems with passwords. Part of the solution was to move a table or all to utf8mb4. Anyhow should my DB's charset be 'upgraded?: Today I wanted to have a closer look at the superb Thirtybees module PRESTOOLS and I got the warning: Char set is 'utf8' instead of 'utf8mb4'.Collation is 'utf8_general_ci' instead of 'utf8mb4_unicode_ci'.
  16. At least I know that in Warehouse you only have the option of either top or bottom. Here, Waka, adds a module that allows both ! Advantage? Better UX and SEO perhaps. You start with small cat descrpt. at top and continue at bottom without "JS more..." button. That it I think it is about.
  17. I am having issue with latest V3.40 Mollie payment module. They changed stepped from 3.35 to 3.4 and the new version can no more send order confirmation to Thirtybees 1.1. I just reinstalled V3.35 and orders are coming in. No orders/transfers are being booked in TB anymore. Very annoying since over the weekend some dozend oders have been booked on Mollies side but not in our orders section 😞 Since Mollie still supports PS1.6 their might be a conflict between Mollie V3.4 and TB1.1. It would be very great and helpful if someone could look into this since I supect that the Mollie support won't be interested to do so. PS: There seems to a new person in charge for the repo on GIT now.
  18. I am having issue now since I updated to TB 1.1. latest with Mollie. No orders/transfers are being booked in TB anymore. Very annoying since over the weekend some dozend oders have been booked on Mollies side but not in our orders section 😞 Moreover, I updaed with TB Mollie too. From 3.35 to V3.4. So what triggers the problem I do not know. Very annoying 😕
  19. Great Petr that you still find the time to support our needs and your fine modules and the rapid development and polishing of Thirtybees.
  20. When I install the pre1.1 and I want to have the latest fixes on GIT... I thought I could use the CoreUpdater module set to bleeding edge. This seems not to be the case. Why?
  21. Hello I could get it working again after totally deleting module's folder and also! /img/belvg_stickerspro. Eventually I could install it as new module and stickers appeared again. I want to add that resetting and normal deinstall did not work. So, all is fine at the moment. Thank you
  22. Hello I do not know whether there is a difference between PS1.6 and TB's image controller but my BELVG Sticker PRO module fails to create my "sticker badges" on product thumb. Here is code of two admin controller overrides it needs: AdminImportController.php <?php class AdminImportController extends AdminImportControllerCore { public function __construct() { parent::__construct(); if (Tools::getValue('entity') == $this->entities[$this->l('Products')]) { $this->available_fields['belvg_stickerspro'] = array('label' => $this->l('Belvg StickersPro')); } } public function productImport() { parent::productImport(); $this->receiveTab(); $handle = $this->openCsvFile(); for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, $this->separator); $current_line++) { if (Tools::getValue('convert')) { $line = $this->utf8EncodeArray($line); } $info = AdminImportController::getMaskedRow($line); if (Tools::getValue('forceIDs') && isset($info['id']) && (int)$info['id']) { $product = new Product((int)$info['id']); } elseif (Tools::getValue('match_ref') && array_key_exists('reference', $info)) { $datas = Db::getInstance()->getRow(' SELECT p.`id_product` FROM `'._DB_PREFIX_.'product` p '.Shop::addSqlAssociation('product', 'p').' WHERE p.`reference` = "'.pSQL($info['reference']).'" '); if (isset($datas['id_product']) && $datas['id_product']) { $product = new Product((int)$datas['id_product']); } else { $product = new Product(); } } elseif (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product')) { $product = new Product((int)$info['id']); } else { //$product = new Product(); continue; } //Belvg StickersPro logic $belvg_stickerspro_module = Module::getInstanceByName('belvg_stickerspro'); if (is_object($belvg_stickerspro_module) && $belvg_stickerspro_module->id) { $stickers = explode($this->multiple_value_separator, $info['belvg_stickerspro']); if (count($stickers)) { $ids_stickers = array(); foreach ($stickers as $sticker) { if ($sticker) { $ids_stickers[$sticker] = 1; } } if (count($ids_stickers)) { $sticker_flag = TRUE; $sticker_flag &= BelvgStickersProProduct::deleteDataForProduct((int)$product->id, $ids_stickers, Context::getContext()->shop->id); $sticker_flag &= BelvgStickersProProduct::setDataForProduct((int)$product->id, $ids_stickers, Context::getContext()->shop->id); if ($sticker_flag) { $sticker_flag &= $belvg_stickerspro_module->applyStickersToImage($product->id, $ids_stickers); if ($sticker_flag) { $sticker_flag &= BelvgStickersProIndexer::deleteItemsByProductId((int)$product->id); } } } } } } $this->closeCsvFile($handle); } } AdminImagesController.php class AdminImagesController extends AdminImagesControllerCore { /** * AdminImagesController::__construct() * * @return void */ public function __construct() { require_once (_PS_MODULE_DIR_ . 'belvg_stickerspro/classes/Belvg_StickersPro.php'); parent::__construct(); $this->fields_list['stickers'] = array( 'title' => $this->l('Stickers'), 'width' => 50, 'align' => 'center', 'type' => 'bool', 'callback' => 'printEntityActiveIcon', 'orderby' => FALSE); //Belvg StickersPro $this->_select .= 'belvg_sit.stickers'; $this->_join .= ('LEFT JOIN `' . _DB_PREFIX_ . 'belvg_stickerspro_image_type` belvg_sit ON (a.`id_image_type` = belvg_sit.`id_image_type`)'); $this->fields_form['input'][] = array( 'type' => 'switch', 'label' => $this->l('Stickers'), 'name' => 'stickers', 'required' => FALSE, 'class' => 't', 'is_bool' => TRUE, 'hint' => $this->l('This type will be used for stickers feature.'), 'values' => array( array( 'id' => 'stickers_on', 'value' => 1, 'label' => $this->l('Enabled')), array( 'id' => 'stickers_off', 'value' => 0, 'label' => $this->l('Disabled')), )); //Belvg StickersPro } /** * AdminImagesController::renderForm() * * @return */ public function renderForm() { if (is_object($this->object)) { $stickerspro_values = BelvgStickersProModel::getImageTypesData($this->object-> id); if (!empty($stickerspro_values)) { $this->fields_value['stickers'] = $stickerspro_values['stickers']; //$this->fields_value['sticker_height'] = $stickerspro_values['sticker_height']; //$this->fields_value['sticker_width'] = $stickerspro_values['sticker_width']; } } return parent::renderForm(); } /** * AdminImagesController::postProcess() * * @return */ public function postProcess() { $return = parent::postProcess(); //$id_image_type = Tools::getValue('id_image_type'); $stickers = Tools::getValue('stickers'); $products = Tools::getValue('products'); if (empty($this->errors)) { $is_add = Tools::getValue('submitAddimage_type'); if ($is_add) { //$is_exists = BelvgStickersProModel::checkExistsByImageTypeId($id_image_type); //if (!$is_exists) { $object = $this->loadObject(); if (!$products) { $stickers = 0; } BelvgStickersProModel::addTypeByImageTypeId($object->id, $stickers['stickers']); //} } } return $return; } /** * AdminImagesController::processDelete() * * @return bool */ public function processDelete() { $return = parent::processDelete(); $id_image_type = Tools::getValue('id_image_type'); BelvgStickersProModel::deleteTypeByImageTypeId($id_image_type); return $return; } public function renderList() { $html = parent::renderList(); $this->context->smarty->assign(array( 'belvg_stickerspro_submit' => $this->context->link->getAdminLink('AdminStickersPro'), 'belvg_stickerspro_list' => BelvgStickersProIndexer::getItems(0, 0), 'belvg_stickerspro_last_records' => BelvgStickersProIndexer::getItems(0, 5), )); $html .= $this->context->smarty->fetch(_PS_MODULE_DIR_ . '/belvg_stickerspro/views/templates/admin/indexer.tpl'); return $html; } } Can someone see on the run if there is a conflict or might provide a solution?
  23. Warehouse theme comes with iquitcontenteditor module for custom builds of start page. It allows to enter html boxes and also custom hooks as content. I would like to add Datakick's Revw in a caertain way. I want to show a customer review of a certain product (or a selection of them in slider form^^): {hook h='displayRevwsReview' review=2} I fail to make it work with Warehouse. Can someone help out pls?
  24. Sorry, I asked too early and could solve it for now. If it is correct so or the best way I do not know but seems to work for now. I switched the two info parts that were embraced into divs to spans and put the whole block into one div. Html learning course 1st. class 1. hour <div class="tax_infos_aeuc"> {* "Tax Inc/Exc" Price Hook templating *} {if isset($smartyVars.price) && isset($smartyVars.price.tax_str_i18n)} <span class={if isset($smartyVars.price.css_class)} "{$smartyVars.price.css_class|escape:'htmlall'}" {else} "aeuc_tax_label" {/if}> {$smartyVars.price.tax_str_i18n|escape:'htmlall'} </span> {/if} {* "Shipping CMS content" Price Hook templating *} {if isset($smartyVars.ship) && isset($smartyVars.ship.link_ship_pay) && isset($smartyVars.ship.ship_str_i18n)} <span class="aeuc_shipping_label"> {*es war ITO 23.10.18 <a href="{$smartyVars.ship.link_ship_pay}" class="iframe" } *} <a href="{$smartyVars.ship.link_ship_pay}" class="iframe" rel="nofollow"> {$smartyVars.ship.ship_str_i18n|escape:'htmlall'} </a> </span> {/if} </div>
×
×
  • Create New...