Jump to content

Welcome, Guest!

By registering with us, you'll be able to discuss, share and private message with other members of our community.


Popular Content

Showing content with the highest reputation since 09/22/2019 in all areas

  1. 3 points
    It's not -- the format is hardcoded in smarty template. I managed to reproduce the display tax problem, and hopefully fixed it. Please download new version 0.6.1 and let me know if it works for you
  2. 3 points
    Social media really depends on what you are selling and whom you are targeting. The stores I manage are focused on B2B targeting a specific profession. Facebook and Twitter alike aren't bringing us any traffic. We tried facebook ads for the first time in july on a popular accessory that is often bought by both companies and employees. Turns out that it brought us a lot of sales on a 10$ product and it was one of our most profitable marketing campaign of the year. But we had the offer, the timing and we knew the target very well. From what I've seen, being active on facebook is more worthy if you have a physical shop and your e-commerce shop is a complement to it. Or if you are very popular and focusing on B2C like Zalando, Displate and many more. If you sell artistics / design products, you might want to create an Instagram account. I'm not very fond of social networks that are focusing on appearence and images, but in this case, they are definitely more relevant than Facebook and Twitter. If you are focused on selling technical products (car parts, computer parts, a tech product which require a specific setup process...) then maybe you should focus more on making youtube videos. It take a lot of time (or cost a lot if you have to hire someone). But you can integrate them in your product pages with a 30$ module. By making a tutorial on how to install the product properly, you bring something to the table that your competitors don't. And it's also reassuring for the customer. And if you make enough videos you may even gain a few subscriber on youtube (not that it's very useful though). Lastly sometime shops have a card appearing on the right of google search (like when you are looking for a bakery, hairdresser...), this gives useful tips like opening hours and days, phone number, physical address and so on. If that's the case for you, create a few accounts and leave positive reviews with comments in the field there (do them with a few weeks/months beetween each) and make them realistic (like talking about a product purchased, even adding a picture). It will help, and once there are a few comments, your customer might feel like leaving a comment too. By the way, never delete any comments with 1 star. It's better to answer them. People can't see deleted comments but the 1 star remain...
  3. 2 points
    Hi As we needed dynamic URLs in the Menu, CMS pages and TB HTML Block, and TB doesn't have this functionality natively out the box, I've decided to write a little 'workaround' / solution to try and fix this issue (at least temporarily until TB one day does this natively). Solution: Static URLs to Dynamic URLs maker + Smarty Tags in CMS, Menu and TB HTML Block The problem with static URLs is that they are a pain to maintain especially if everything you added to the site in the CMS is saved as a Static URL... So if you need to move the site from Local -> Staging -> Live and to another domain, you're going to have a bit of a problem. I've had to 'fix' this for the Top Menu, CMS page and TB HTML Block This solution also allows you to 'call' Smarty variables in the Admin BO CMS, Top Menu and TB HTML Blocks. How does it work and how to use? Add the code to either blocktopmenu.tpl, blockcms.tpl in your template file or tbhtmlblock.tpl - replacing the content generator: either {$MENU} or {cms->content} or {$customblock} Specify on which page (Menu/CMS/TB HTMLBlock) the code needs to appear {$MENU} or {cms->content} or {$customblock} The code replaces the "content generation" for the target page / section You need to specify the Static URLs you want to replace (remember to do this wherever the script is added). Static URLs normally for Local, Staging or Old Live addresses (can add 3 more if required) If you know what the Staging and Live Locations are going to be beforehand, then you do not need to update this again after the site has been moved / re-deployed. You can call a predefined Smarty variable in the Menu, CMS or TB HTML Block using the Smarty tag identifier {$content_dir} for example. When you add a link, you can either just use the full static path (as previously specified), or use the Smarty variable {$content_dir}blog/link-to-page If you add an image via the CMS RTE or even a link to an image, it will identify the Static URL and replace it with the Dynamic URL as set by $content_dir. So if you move the site to another address, all your Static URLs (if specified in the Menu, CMS or TB HTML Block) will be automatically updated - with no maintenance required from your side. Credits: This would not be possible without FullCircles - who way back in 2014, came up with the base solution. I've just modified it a bit. https://www.prestashop.com/forums/topic/372976-global-smarty-variables-used-in-cms-content/?tab=comments#comment-1855331 https://www.prestashop.com/forums/profile/720051-fullcircles/ Datakick supplied the correct Smarty variable name to be used as "BaseUrl" $content_dir Hope it helps. Instructions: Insert the following code in either "nameoftemplate/" blocktopmenu.tpl or blockcms.tpl or modules/tbhtmlblock/views/templates/hook/tbhtmlblock.tpl And make sure that it replaces the "page content generator" {$MENU} or {cms->content} or {$customblock} Configure as mentioned previously I've included a 'tester' code you can add to a CMS page to test that it's working properly Main Script (for tpl files): {* /// STATIC TO DYNAMIC URL MAKER - with 'Dynamic Tags' / 'Fake' Smarty Variables Functionality /// * v1.1 - last updated: 11/10/19 * To be used on BO Admin pages where Dynamic URLs are required * Automagically Replaces Static URLs on Runtime with 'dynamic' URL based on $content_dir * So if your site is on Local, Staging, Live or has been moved, this script has you covered * If you know what the Staging and Live Locations are going to be beforehand, then you do not need to update this again after the * site has been moved / re-deployed. * Just remember to change the 'Static URL Sources' whereever you've included this script * * CAVEAT: This does not save the updated safe URLs, it just replaces them on run-time for the front-end. * CAVEAT: The links and images pointing to the old URLS will still be 'broken' in BO Admin CMS until manually updated. * * Allows for the use of limited Smarty variable 'printing' within the 'code location' (CMS,TB HTML Block,Menu,etc) * I.e. using {$content_dir} in a CMS page will now work (like in a TPL file) * This code should be placed on the Target location's TPL file like "blocktopmenu.tpl, blockcms.tpl" within your theme * or for the TB HTML Block: modules/tbhtmlblock/views/templates/hook/tbhtmlblock.tpl * The Code Location must be changed accordingly below * Extendable by adding more Smarty variables or code locations * Note: If you want to have 'BaseUrl in a TPL page, just use the normal Smarty var $content_dir as this script is built for BO Admin pages * ie. <a href="{$content_dir}info/link-to-cms-page">cms page link</a> * * Credit to FullCircles for initial 'BaseURL' solution back in 2014. Without you, we'd be f'ed. Thanks bro :D * https://www.prestashop.com/forums/topic/372976-global-smarty-variables-used-in-cms-content/?tab=comments#comment-1855331 * https://www.prestashop.com/forums/profile/720051-fullcircles/ * * Credit to Datakick for the Smarty variable for the correct site domain path: $content_dir * * // To use: * Adjust the settings (values) below and add Smarty variables etc if you require * Replace the page's content generator tag, i.e. $cms->content, with this entire script block. * Refresh Cache * Static URLs as specified should now be replaced and 'dynamic' tags should be displayed * Note: the URLs come with a trailing slash (pagename/) so keep that in mind * *} {* /// Initial build, do not modify this one - Creates 6 available Static URL slots if you need them /// *} {assign var=s2d_specifysourceurls value=['placeholder-donotchangethis0','placeholder-donotchangethis1','placeholder-donotchangethis2','placeholder-donotchangethis3','placeholder-donotchangethis4','placeholder-donotchangethis5','placeholder-donotchangethis6']} {* /// /// *} {* /// Set Static URL Sources (array with 3 values for now - supports up to 56): /// - Remember to include trailing slash (pagename/) - Example array currently set for Local, Staging, Live Old - Example: {$s2d_specifysourceurls[0] = 'http://localhost/siteaddress/'} *} {* /// Set Local Address Source - Change this /// *} {$s2d_specifysourceurls[0] = 'http://localhost/siteaddress/'} {* /// Set Staging Address Source /// *} {$s2d_specifysourceurls[1] = 'http://www.stagingaddress.com/'} {* /// Set Old Live Address Source /// *} {$s2d_specifysourceurls[2] = 'http://www.liveaddress-old.com/'} {* /// Extendable if required - up to 6 available slots: (0-5) //*} {* {$s2d_specifysourceurls[3] = 'http://www.emptyslot4.com'} {$s2d_specifysourceurls[4] = 'http://www.emptyslot5.com'} {$s2d_specifysourceurls[5] = 'http://www.emptyslot6.com'} *} {* /// Set Dynamic URL source, leave as $content_dir for dynamic URL. Only 1 URL required /// *} {assign var=s2d_url_maker_target value="{$content_dir}"} {* /// Set Code Location /// - Set the Code Location by changing the value below accordingly: - CMS page: {$cms->content} - TB HTML BLOCK: {$customblock} - MENU: {$MENU} *} {assign var=s2d_url_maker_code_location value="{$MENU}"} {* /// Generator that does the work: /// - You can add more variables to the beginning of the source and target arrays below if required - Default list of available Smarty variables: - $content_dir, $base_uri, $base_dir, $base_dir_ssl, $img_dir (template img dir bytw), - $page_name, $logo_url, $shop_name, $shop_phone *} {* /// Generator /// *} {str_replace( array('{$content_dir}','{$base_uri}','{$base_dir}','{$base_dir_ssl}','{$img_dir}','{$page_name}','{$logo_url}','{$shop_name}','{$shop_phone}',$s2d_specifysourceurls[0],$s2d_specifysourceurls[1],$s2d_specifysourceurls[2],$s2d_specifysourceurls[3],$s2d_specifysourceurls[4],$s2d_specifysourceurls[5]), array($content_dir,$base_uri, $base_dir, $base_dir_ssl, $img_dir, $page_name, $logo_url, $shop_name, $shop_phone, $s2d_url_maker_target,$s2d_url_maker_target,$s2d_url_maker_target,$s2d_url_maker_target,$s2d_url_maker_target,$s2d_url_maker_target), $s2d_url_maker_code_location )} {* /// *** *** /// *} Tester Code: <h2>Static 2 Dynamic URL Maker with Limited 'Smarty' Tags in CMS Tester</h2> <br/> <b>Static URL Locations to be updated:</b> <br/> <br/> <b>Local: </b> http://localhost/siteaddress/ <br/> <b>Staging: </b> http://www.stagingaddress.com/ <br/> <b>Live old/prev: </b> http://www.liveaddress-old.com/ <br/><br/> <b>Smarty variable print:</b> <br/> <br/> <b>$content_dir:</b> {$content_dir} <br/> <b>$base_uri:</b> {$base_uri} <br/> <b>$base_dir:</b> {$base_dir} <br/> <b>$base_dir_ssl:</b> {$base_dir_ssl} <br/> <b>$img_dir:</b> {$img_dir} <br/> <b>$page_name:</b> {$page_name} <br/> <b>$logo_url:</b> {$logo_url} <br/> <b>$shop_name:</b> {$shop_name} <br/> <b>$shop_phone:</b> {$shop_phone} Script not active yet: Script activated, Static URLs + Smarty Tags updated + Menu Links updated
  4. 2 points
    You should upgrade to latest 1.1.0. That would actually solve this issue, as it contains new error handling code that does not emit notices or warnings to standard output Because you are experiencing so many issues, you should investigate what's wrong. Use core updater to detect modified files. Use Override check module to see what overrides you have installed. Use latest (unreleased) version of core updater 1.2.0 to find database differences, and possibly fix them, etc...
  5. 2 points
    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. 2 points
    Hi Traumflug, thanks for comment about the code. For me, and it appears for others as well, this is an actual problem, as resizing the browser window or clicking on another menu item to collapse the menu just feels unnecessary and frustrates the UX. In terms of the 'workaround' that you mentioned: as it seems that this problem has been around since many previous versions of PS 1.6 (if I recall) and TB - it appears that no one has come around to it as yet... Can you perhaps show us the workaround you suggested and where to update the code to implement? As it's so 'easy', and as the menu system is already pretty complex... many of us here are not as familiar with the system as yourself and the other senior TB devs here. Hence the reason I went with my 'solution' to fix this issue. For me, this solved a real problem and is nice to use until a better solution becomes available. Your workaround would be appreciated. Also, as the default behavior when a menu item is active, is to expand the submenu, not hover, thereby giving feedback on which sub item you're on (without having to hover on the parent menu item) - it's going to be interesting to see how your suggestion behaves / functions when it's implemented.
  7. 2 points
    In general I rewrite quite a lot of functions, since I became a much better coder than I was back then. This is changed: Expiration of loyalty points (but not the history way) Stats for total value of outstanding loyalty points Functionality to hide players from leaderboard Functionality to show possible actions in FO I am thinking of: adding email support referral/affiliate functionality better handling of history (for example for product returns, cancelled orders)
  8. 1 point
    And you will probably want to modify order-detail.tpl file as well to add breadcrumbs support. Add something like this to the very beginning of the file {capture name=path} <a href="{$link->getPageLink('my-account', true)|escape:'html':'UTF-8'}"> {l s='My account'} </a> <span class="navigation-pipe">{$navigationPipe}</span> <a href="{$link->getPageLink('history', true)|escape:'html':'UTF-8'}"> {l s='Order history'} </a> <span class="navigation_page"> {l s='Order %s' sprintf=[$order->reference]} </span> {/capture}
  9. 1 point
    @dynambee is correct. I can just add that this functionality still works correctly. As far as I can tell, there exists 3 restrictions for modules Disable on tablet / Disable on mobile / Disable on computer module preferences can be used to display modules on specific device types only Multistore restriction -- if you have multistore, you can enable module for specific shops only Customer group restriction - the one we are talking about All of these impact list of hooks that are being executed. You can also manually modify this hook list by removing specific hooks that you don't want to be displayed
  10. 1 point
    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.
  11. 1 point
    Hi, I just checked and my free Numeric Order Reference module works fine on thirtybees. This is a simple, but usefull override, allowing you to change this nasty order references to something nice. Maybe this kind of feature can be someday native in thirtybees? More about the module: http://greenmousestudio.com/en/numeric-reference (tried to attach it but it got blocked)
  12. 1 point
    Onsite factors within TB that are important: meta tags cross linking rich snippets (that's built in already, right?) speed mobile ready Offsite factors is reviews and reputation. This is becoming perhaps the single most important factor in SEO at the moment for commercial websites. I believe someone has created a review module for TB that chases down reviews from customers. If you see a company with 200 reviews (mostly 5 star) it will typically beat in the SERPs a company with 100 reviews even if the latter has far more back linking and better "traditional" on and off page seo. Back linking is slowly dying for commercial sites and reviews are becoming far more important. Expect to see the birth of spam review sites! SEO is a big area, is the plan to incorporate best in class seo techniques built in?
  13. 1 point
    Now that backoffice>preferences>custom code>add css allows you to tweak styles by default, more shopkeepers might want to shorten the default one page checkout. No changing of files is requried; it's all done from the back office where shopkeepers like me are happier making changes. The first step is to do everything possible from backoffice settings to simplify the checkout form. Backoffice>orders>general>order process type: set to "one page checkout". Enable guest checkout. Turn off everything else. Backoffice>modules...>modules..> "block cart" module. configure to turn off "ajax cart" and "upselling", then disable the module Backoffice>preferences>customers set "newsletter registration" and "opt in (to special offers)" to "No" Backoffice>localisation>translations expand all fieldsets and search for "New customer", changing to "Customer" Backoffice>localisation>translations > ORDER-OPC-NEW-ACCOUNT change "delivery address" to "delivery address copies customer name" change "save" to "check address and postage" The second step is to amend the default stylesheets. The trick is to right-click the part of the form you don't want, choose "inspector" in a browser like Chrome which has an option to "copy selector". You copy and paste it to backoffice>preferences>custom code>add css where you can add an extra {display:none;} or {display:block;}. This has worked for me so far. -------------------------------------------------------------------- /* CHECKOUT TWEAK for preferences custom code css section*/ #quantity_wanted_p {display: none !important;} /*quantity on product page can be removed*/ #cart_title {display: none;} /* saves space to encourage scrolling-down*/ #opc_account_choice {display: none !important;} /*for edge browser*/ #login_form {display: none;} /*everyone uses guest checkout so no login*/ #opc_account_form.unvisible {display:block !important;} /*guest checkout visible*/ #new_account_title {display: none;} /*customer heading*/ /* #customer_firstname label caught below */ #opc_account_form > div:nth-child(13) > label {display: none;} /* #customer_lastname label caught below */ #opc_account_form > div:nth-child(14) > label {display: none;} /* #company caught below */ #opc_account_form > div:nth-child(15) {display: none;} #discount_name.discount_name {display: none;} #voucher {display: none;} #cart-voucher {display: none;} #login_form .box {display: none;} /*includes most of the lines up till vat number */ .date-select {display: none;} /*order and date of birth form*/ #vat_number_block {display: none !important;} #checkoutLogin {display: none;} #logged_checkout {display: none;} #blockuserinfo-login {display: none;} #product_condition {display: none;} #phone {display: none;} #opc_account_form > div:nth-child(25) {display: none;} /*catches the label for phone */ #phone_mobile {display: none;} #opc_account_form > div:nth-child(26) {display: none;} /*catches the label for mobile*/ -------------------------------------------------------------------- The same technique can make payment methods such as a stripe or paypal module visible if enabled for your account and for the country selected. Details will be be different for each payment module. If in doubt, $17 buys the "show payment methods" module from Green Mouse Studio at https://codecanyon.net/user/greenmousestudio -------------------------------------------------------------------- Added 19/10/19 I didn't think of checking on a mobile emulator like https://www.brickandmobile.com/mobile-emulator/ until reading the post below. I've done a single quick test now, and the same code seems to work. -------------------------------------------------------------------- Added 21/10/19 I tested this guest checkout on Thirtybees 1.01 a few times with the same email address, and it accepts it round again. Yahoo rejected the confirmation emails ""554 5.7.9: Message not accepted for policy reasons" but I can live with that for now. Prestashop fails second time: "There is 1 Error(s): An account using this email address has already been registered.", and there are some years-old threads online where people look for a neat answer. This is a pity because there are CSS editing modules for Prestashop like the free one from DH42, and the same style sheet worked otherwise. -------------------------------------------------------------------- I hope this helps other shopkeepers, and if I have written it badly then improvements are welcome. Maybe it could be built into a future theme.
  14. 1 point
    I've always been under the impression it's a rounding issue....but whatever πŸ˜‰
  15. 1 point
    I think @musicmaster described the reason this happens pretty well. If the cart of the missing order isn't converted into an order in TB then the next order created will get the order number that was supposed to be used for the "missing" order. However this brings up another question, and another possible reason this could be happening: It takes time for people to complete checkout with PayPal. On the short side of things 10-20 seconds but in some cases it could take several minutes. (Person trying to find their PayPal password, doing password recovery, creating a new shipping address, or something like that.) If in fact Mollie is checking for the next available order number to send to PayPal (but not immediately creating the order on TB) then an order number collision could happen. Like this: Customer 1: Gets to the end of the checkout process and the Mollie module sends them off to PayPal to complete the checkout process. Before sending them, Mollie looks to see what the next available order number is. Let's say "513". Mollie sends this number to PayPal so the order number is included with the PayPal payment. Customer #1 takes some time to finish up with PayPal. Customer 2: Gets to the end of the checkout process before the previous customer completes their PayPal payment with Mollie. In this case when Mollie looks up the next available order number it will also find "513", and will send 513 to PayPal. Customer #2 heads off to PayPal to complete payment and completes payment very quickly. Mollie then converts their pending cart into an order using order #513. Customer 1: They finally complete their PayPal payment and are returned to TB. Mollie tries to convert the cart into an order but order #513 is now used by Customer #2's order. This results in a unique ID collision and Mollie fails to convert the cart into an order. In your case above where order #123 belongs to a manually created order, replace Customer #2 with your manual order creation. Same thing happens. The order number Mollie expected to be able to use ends up being used by your manually created order before Customer #1 completes their PayPal payment. The above is just speculation on my part as I do not know the internals of how Mollie works and I do not know if Mollie actually waits to convert the cart into an order until after the PayPal process completes. Someone like @datakick might have a better idea.
  16. 1 point
    I noticed this today. I had to revert to a backup of the db but I doubt it's the problem. I noticed few strings that I'm pretty sure were translated and when I click save nothing happens, the page reloads with normal success text and the translation is not saved. Tried disabling all caches, etc... Noting helped UNTIL I remembered the recent fix in template compilation. Please can somebody make a info text there saying " "Please enable Force compilation" when you make manual changes to the templates or translations through BO". This will help lot of merchants I think.
  17. 1 point
    Db::getInstance() calls doesn't add any measurable overhead. Once the connection is established this method returns existing instance from static pool. Of course, it's possible to extract it to variable like this to save couple of micro/nano seconds per loop $conn = Db::getInstance(); do { ... } while ($conn->getValue($sql));
  18. 1 point
    Got it. This small change to Core Updater fixes it: https://github.com/thirtybees/coreupdater/commit/56ef3e2e1eb0e7ab9175477d9365ae33e6167a4e
  19. 1 point
    Hi guys Problem: One some menus, screen resolutions and window sizes: I've encountered a niggling issue in the Admin menu (for me at least), where long Admin menu items can cause the next menu items to not be reachable (as there is no expand / contract or scrolling functionality on the menu). The only way to access the menu items below this menu (as far as I know) is to literary go to another menu item to force the large one to contract (wtf). Solution: For me this hampers the user experience a bit. And maybe because I'm used to accordion menus... To make my life easier, I've written a little jQuery solution that can be added to the Admin menu js. This solution creates an expand / contract icon next to an Active menu item (that has a submenu and when the menu is not in the collapsed state). And without having to navigate to another menu item, it expands / contracts the active menu accordingly. The hover / fly over menu is still available. This is my first attempt at writing some code for TB, and I've decided to share it with the community. Hope it provides some value. Instructions Go to admin***\themes\default\js\admin-theme.js Find: function navSidebar() { var sidebar = $('#nav-sidebar'); sidebar.off(); $('.expanded').removeClass('expanded'); $('.maintab').not('.active').closest('.submenu').hide(); After $('.maintab').not('.active').closest('.submenu').hide(); insert the following code: /// Expand Contract Icon for Active Admin Menu Items /// // Set text for expand / contract tooltip var tooltipcontract = 'Contract dropdown menu'; var tooltipexpand = 'Expand dropdown menu'; var expandicon = '+'; var contracticon = '-'; // Finds active admin menu item and generates expand/contract icon element in opened state $('.maintab.active.has_submenu').find('a:eq(0)').append('<div class="expandcontracticon expandcontracticon-open" title="' + tooltipcontract + '">' + contracticon + '</div>'); $('.expandcontracticon').attr('style', 'background-color: #2F3237; width: 10%; float: right; margin-right: 5px; display: block; text-align: center; font-weight: bold;'); // Binds expand / contract functionality to icon $('.expandcontracticon').on('click', function (e) { // Prevents the menuitem a element from opening the default link when the icon is clicked: e.preventDefault(); /// Ensures all submenus are hidden $('.maintab').removeClass('active'); $('.maintab').removeClass('hover'); // Checks open/closed state: var checkifopen = $(this).hasClass('expandcontracticon-open'); // Does sub menu work on menu item for active and not active states // Changes icon's +- text and title tooltip depending on state if (checkifopen == true) { // If the current state is opened, close the submenu and display 'expand/+' state $(this).html(expandicon); $(this).removeClass('expandcontracticon-open'); $(this).addClass('expandcontracticon-closed'); $(this).attr('title', tooltipexpand); } else { // If the current state is closed, show the submenu and display 'contract/-' state $(this).html(contracticon); $(this).parent('a').parent('li').addClass('active'); $(this).removeClass('expandcontracticon-closed'); $(this).addClass('expandcontracticon-open'); $(this).attr('title', tooltipcontract); } }); // Checks if the Sidebar is collapsed and hides / shows icon accordingly // Check on page load $('.page-sidebar-closed').find(".expandcontracticon").hide(); $("body").not('.page-sidebar-closed').find(".expandcontracticon").show(); // Check on Toggle Sidebar menu button action and hides the icon as it's not required on collapsed sidebar // Slight timeout to allow for page-side-bar-closed class to be applied first sidebar.find('.menu-collapse').on("click", function () { setTimeout(function () { $('.page-sidebar-closed').find(".expandcontracticon").hide(); $("body").not('.page-sidebar-closed').find(".expandcontracticon").show(); }, 100); }); /// *** *** /// Save, refresh and party πŸ˜„ Hope it helps πŸ™‚
  20. 1 point
    This error occurs because your browser user User Agent string is too large (129 characters) and database column can store only 128 characters. Current version of thirtybees silently ignores this, and database automatically truncate the string to 128 chars. In this particular case it's not really important, because who uses this field, right? But in general, this silent truncation is a bad thing, because it can lead to unwanted data loss. The question is what the right fix should look like we can increase column size for this field in CustomerMessage object model we can do explicit truncation as @yaniv14 suggested (probably better to use multibyte version of substr function) or we could introduce some new Object Model Field meta information to inform core that it's OK to automatically truncate the field, something like 'user_agent' => ['type' => self::TYPE_STRING, 'size' => 128, 'truncate' => true], I personally think #3 solution should be implemented.
  21. 1 point
    @datakick In the cart summary tile, if you can add an option to hide the "Total (Tax excl.)" line, it would be appreciated. Not really needed in the US and just adds clutter. If you can at least give it a dedicated class, I can hide it with CSS. Thanks.
  22. 1 point
    I would highly value the ability to create an optimized mobile experience for customers. Every year the percentage of traffic & sales from mobile phones increases but mobile site design still seems to take a back seat to desktop design in many cases. This is happening in the US now but in many places sales from mobile phones already exceed sales from desktops, and the gap is growing. I would also really appreciate being able to quickly & easily set standards for item types that are used across the site. Standard button design, standard button border color, etc. Then have the ability to override those standards for specific key items.
  23. 1 point
    edit override file, and change signature of Cart::getDeliveryOptionList method from current public function getDeliveryOptionList() { $carriers = parent::getDeliveryOptionList(); to public function getDeliveryOptionList(Country $defaultCountry = null, $flush = false) { $carriers = parent::getDeliveryOptionList($defaultCountry, $flush); The signature (and parent::getDeliveryOptionList) must match the signature in CartCore class
  24. 1 point
    I both agree and disagree πŸ™‚ . I will probably add some settings for individual merchants to decide Thirtybees only have printable format, and that's not the same as entry form format. I don't think it's a good idea to have different form layouts for different countries. It would be very confusing. Moreover, there can be custom fields that needs to be displayed in entry form. My idea, and end goal, is entry form layout designer in the back office. This way, everyone can design the layout they want to use. No
  25. 1 point
    @AndyC / @dynambee Here's a (pre-release) version that should somehow fix this address selection / creation issues. Could you please test and let me know if it works for you: chex-0_5_1.zip I must say I'm not 100% happy about the possibility to change delivery country/state in the address section(s). It can impact shipping cost, and even available payment options. And that can surprise customers -- they will need to go back to step 1 to ensure everything is still OK. It can disrupt the unidirectional flow I'm trying to achieve by this module. But, hopefully, not many customers will change country/state here
  26. 1 point
    I dont think it's installed by default..99% sure or so.
  27. 1 point
    Have you uninstalled that module AdvancedEUCompliance? Just to see what would happen....
  28. 1 point
    This is quite complicated area. Basically, the ideal solution would be to request only those information that actually participate on shipping costs. In standard thirtybees, this is country+state. But some of my clients have custom modules that modifies this -- for example, one of them has different shipping rates per postcode. And as you noticed, you can configure your thirtybees as you wish - some merchants might have flat rate for the whole country, and some even offer flat rate worldwide. In these case we don't really need to ask for shipping country / state at all... My module can't decide this automatically. So, the ultimate solution will be to allow merchants decide which info are necessary to be entered upfront in order to calculate shipping. I have this in my backlog. But due to the complexity of this task don't expect it anytime soon Again, this is already in my backlog. It's not particularly hard to implement, I just need to figure out a proper way to do this. My initial plan for this module was to show the final price as soon as possible (in the first step of the checkout), and this price would not change in subsequent form filling. But this ability to enter country/state will change that. But it's probably not a big deal -- if the country/state will be prepopulated, most customers will not change it.
  29. 1 point
    I'm running on 10.3.12-MariaDB without any issues
  30. 1 point
    Yes, I tried allow_url_fopen = On in the php.ini file among all the other likely things and then turned it off again before asking for help! The 1.07 installer worked, and the core update module then updated to 1.1, so all OK. My xilo.net server is the odd bit. It's very fast and cheap but I had to install a database for another program via an app installer - Installatron - before the TB1.07 installer recognized it.
  31. 1 point
    Here is a quick correction, but it will need to be modify in the source files too and updated on github with a proper fix.. but here you go for Niara : Find the /modules/beesblogrelatedproducts/beesblogrelatedproducts.php around line 164 modify the image name "home_default" to "Niara_home" 161: if ($products) { 162: foreach ($products as &$product) { 163: $product['link'] = $this->context->link->getProductLink($product['id_product']); 164: $product['image'] = $this->context->link->getImageLink($product['id_product'], $product['id_image'], 'Niara_home'); 165: } 166: } 167: Cache::store($key, $products); That will work, but like I said it should be fully modified for Niara or any theme name.. it's under consideration, be patient πŸ™‚ Thank you for the report by the way !
  32. 1 point
    There were quite a few missing 😳 https://github.com/thirtybees/thirtybees/commit/3ca6967dc8c44badd7e1d8b455320f6660a87b91
  33. 1 point
    The checkout page he is showing is what Niara does on mobile. It just uses the desktop checkout screen, and mobile users have to swipe back and forth to see anything or make any changes.
  34. 1 point
    YOu are not along in this and certainly not wrong.. I too hate ads especially youtube ads..
  35. 1 point
    Was this after following the second set of instructions I provided, the ones in this comment? If so then I don't know how to advise. @lesley, this seems to be something that needs to be rectified in a new release soon if it is blocking people from installing TB.
  36. 1 point
    @rubben1985 .. I found a site that helps with redirects and it gave me from the first / ... It worked fine Have to leave out https website address Been going though my old version of website on another hosting and found my last sitemap file , so will try and work from that
  37. 1 point
    TB is not related to that as it is only an instruction to the search engine. This is an example of one of my redirects (in red my old url) Redirect 301 /es/concepto-lesielle-cosmetica-personalizada/13 https://www.lesielle.com/es/concepto-lesielle-cosmetica-personalizada_13 You put one redirect per line in the htaccess file and that should work 100%
  38. 1 point
    The real problems happen, in my experience, when you have more than one item in the cart that don't have shared shipping options. When this happens the shipping total can often seem nonsensical, the presented shipping carriers can be strange, or the system can give errors about no carrier being available. We got around this problem with automation, a LOT of carriers, and some custom modules. We have five actual shipping carriers that we use. What we create are five shipping carriers per country that we ship to, complete with all the appropriate weight ranges. Then we use a custom module to limit carrier availability based on custom cart rules. We do not assign carriers to items as it makes things a huge mess. We manage free shipping by having near-zero weight items cost $0 to ship and then assigning a weight of 1g to those items. It's a hacked together system to get around the shipping system limitations, but it works.
  39. 1 point
    Without looking it up, I'd guess it indeed renames it from 'admin' to something else. This happens right after installation and the user gets notified about this. No idea why people would want to rename this folder to something less safe, like 'admin'. Just don't do it. Renaming it to something not starting with 'admin' breaks a shop installation as well. Don't do this either. It's an e-commerce software, not a funny-user-idea-healing toy πŸ™‚
  40. 1 point
    Hello, There is a news from Stripe: Strong Customer Authentication is a new European regulation coming into effect on September 14, 2019, which will require additional authentication for many online payments. You can learn more about SCA and the latest regulatory requirements in our guide, or in our upcoming webinar on March 27, 2019. Read our guide to learn more about what to expect from SCA March 19, 2019 source: https://stripe.com/blog/strong-customer-authentication-mar-2019 https://stripe.com/guides/strong-customer-authentication similar thing is regards Paypal and other payment gateways: https://www.paypal.com/uk/webapps/mpp/psd2 added: Currently, the most common way of authenticating an online card payment relies on 3D Secureβ€”an authentication standard supported by the vast majority of European cards. Applying 3D Secure typically adds an extra step after the checkout where the cardholder is prompted by their bank to provide additional information to complete a payment (e.g., a one-time code sent to their phone or fingerprint authentication through their mobile banking app). 3D Secure 2β€”the new version of the authentication protocol rolling out in 2019β€”will be the main method for authenticating online card payments and meeting the new SCA requirements. This new version introduces a better user experience that will help minimise some of the friction that authentication adds into the checkout flow. Other card-based payment methods such as Apple Pay or Google Pay already support payment flows with a built-in layer of authentication (biometric or password). These can be a great way for businesses to offer a frictionless checkout experience while meeting the new requirements. https://stripe.com/guides/strong-customer-authentication?utm_campaign=scamar2019&amp;utm_source=blog&amp;utm_medium=stub I don't see the modul support 3d secure 2. https://stripe.com/guides/3d-secure-2 Will you add support for 3d secure 2? Some more info: VISA and MasterCard will be mandating that the new version of 3D Secure (version 2.0) should be in place for issuers and merchants by April 2019 in preparation for the mass adoption in September 2019. https://www.barclaycard.co.uk/business/news-and-insights/guide-to-strong-customer-authentication
  41. 1 point
    You sound like you made the modifications needed to do this on a ps 1.6 site? If so, maybe you should do a pull request on tb...
  42. 1 point
    this should be ported back - without it, browsing Niara on mobile is really long run for your fingers.
  43. 1 point
    Regarding point one, with an older community theme, on mobile the side blocks are displayed as menus, which is a better user experience.
  44. 1 point
    Decided this afternoon it was time to set-up prestools and learn how to use it I now wish I had done this sooner. As after learning what I was doing wrong before. I got passed the install and set-up and managed to get in and use it for the first time. Just done about 3 days work in a couple of hours lol as opening every page in admin does take hours.. Also going to make my next project of meta titles and descriptions much much easier.. The only thing I see is it doesn't show you how many letters you are using , so will have to keep an eye on that.Going to have to install it on my shops as well sometime Thanks for the great tool
  45. 1 point
    @Traumflug you are right. Your commit fixes the problem if you use .jpg / .png files. I'm using .webp and for those the code in PageNotFoundController does not work. I've created the pull request to add .webp support: https://github.com/thirtybees/thirtybees/pull/1063 I have also reopened my original pull request https://github.com/thirtybees/thirtybees/pull/1057. It is somewhat redundant now, but I still think it's a good to have. Let me explain what happens if some module wrongly uses hardcoded image type 'home_default': Current situation: the html output will contain image link in a format 'http://domain.com/111-home_default/product-name.jpg' because home_default type does not exists, this request will be handled by PageNotFoundController controller will be able to re-map image type 'home_default' to 'home', and return correct image With my pull request: the html output will already contain correct image link: 'http://domain.com/111-home/product-name.jpg' if image exists, apache/nginx will return it directly without involving php So, basically, this pull request saves some php processing time, and allows for better static assets optimization
  46. 1 point
    Haha very funny, that yesterday I tried this πŸ˜‚ Search in your theme for product-sort.tpl and add: <option value="date_add:desc"{if $orderby eq 'date_add' AND $orderway eq 'desc'} selected="selected"{/if}>{l s='Newest first'}</option> Please respond, if this works out well for you.
  47. 1 point
    yes, working fine with warehouse theme, however you need to alter the file order-carrier.tpl around line 82 from {if $option.unique_carrier} {foreach $option.carrier_list as $carrier} <strong>{$carrier.instance->name|escape:'htmlall':'UTF-8'}</strong> {/foreach} {if isset($carrier.instance->delay[$cookie->id_lang])} <br />{l s='Delivery time:'}&nbsp;{$carrier.instance->delay[$cookie->id_lang]|escape:'htmlall':'UTF-8'} {/if} {/if} to {if $option.unique_carrier} {foreach $option.carrier_list as $carrier} <strong>{$carrier.instance->name|escape:'htmlall':'UTF-8'}</strong> {if isset($carrier.instance->delay[$cookie->id_lang])} <br />{l s='Delivery time:'}&nbsp;{$carrier.instance->delay[$cookie->id_lang]|escape:'htmlall':'UTF-8'} {/if} {/foreach} {/if} If you are using the OPC checkout process. Otherwise you face the error 500 (this might be the same problem in the Panda theme...)
  48. 1 point
    @vzex We will soon make the back office upgrade feature work. Currently you can manually upgrade your theme. Do remember to fully backup your site files and database before updating.
  49. 1 point
    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!
  50. 1 point
    @AndyC and @datakick Is this an en error from conseqs or something of my module krona? Btw: I haven't forgot about the expiration. It's still on my todo list. I just have too much other works, to do right now...
  • Create New...