Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/29/2015 in all areas

  1. Can you believe that CubeCart has been around since 2003? What started out as a small project has snowballed powering thousands of stores globally. If you have a success story you would allow us to publish we would be truly very grateful if you could share it with us. We need new merchants to realise the potential they have using CubeCart. This will help contribute to further growth, new features and an all round brighter future for everyone. Please feel free to email me personally at [email protected] with your company name, store URL and short success story of upto say 300 words. Many thanks to you all for your support.
    4 points
  2. In the skin's config.xml, find the <image reference="category">. It is set for 800 pixels on the longest dimension. Change this to 900. It will auto-scale down to fit the container (which is 848 px wide). Next, you will need to find the CSS rule (I do not know where it would be.): .cat-hdr-img img { margin: 0px auto 5px; } Change to: .cat-hdr-img img { margin: 0 0 5px; } This CSS change will remove the margin that the browser adds to either side of the image, in equal part, to center the image in the slightly wider container. Be sure to clear Cubecart's cache.
    2 points
  3. The developer will probably / should be releasing a new version of the skin to take account of all of the skin changes included in this recent version. However, if you are using a modified version, then that update will not automatically apply to your store and you should chat to the developer about this. If you dont make all the front end skin changes then you wont be able to take advantage of any fixes / new functionality that has been added - you may say that you dont need this functionality but it is always best to stay fully up to date because the situation simply gets worse and worse with each upgrade that is released - this is the problem with having custom changes
    2 points
  4. Try this: In includes/ckeditor/config.js, at the bottom, find: config.allowedContent = true; }; Change to: config.allowedContent = true; config.coreStyles_italic = {element : 'em'}; config.extraAllowedContent = 'i[*]{*}(*)'; }; CKEDITOR.dtd.$removeEmpty = '{i: 0}'; The same added statements can be used for other HTML tags used in unorthodox ways.
    2 points
  5. Email routing will automatically be set to "Automatic" or sometimes "Local Mail Exchanger" which in 99.99% of cases will be the same thing. You only need to set it to Remote if you are using external MX records pointing away from your hosting company which is effectively what Godaddy are forcing you to do by closing email ports. Some people choose to use gmail or other email service providers, but why should you have to ? Disabling php mail() is standard practice now for security reasons (WHM built in security advisor flags this as a high security risk if it is enabled !) and SMTP should always be used and configured to use SSL / TLS. Email sent via SMTP is much more secure, more likely to be delivered and not rejected or put into spam and isnt complicated to use. So much so, I would recommend that php mail() is removed as an option in CubeCart as it is very likely to disappear as an option in the near future Ian
    2 points
  6. For anyone that uses git with CubeCart (or any other packages for that matter), cPanel have been adding a huge amount of functionality which will be included in V68 - see https://features.cpanel.net/topic/allow-users-to-install-websites-from-version-control V68 is already in Edge release status so most people will not have access to it yet, but V68 should be into general release in a few months (V66 has just been released in the last week) Ian
    2 points
  7. This is the first time using this cart. Like it a lot, easy to work with and the CMS feature is excellent, my previous cart didn't have that. Didn't customize too much but happy with the way it came out. Don's Vintage Audio Feedback welcome!
    2 points
  8. The 'top menu' is the "Navigation" bar (or sometimes "Shop by Category" box). The menu is built from all the categories (enabled and unhidden) there are. There are also three special items: Home, Sale Items, and Gift Certificates. To add any other links to this group would require editing the skin template "box.navigation.php".
    2 points
  9. There will be some problems with PHP 8.0+. There are several incompatible changes compared to earlier PHP version families. PHP 7.3 is in the same situation as PHP 5 - end of life. I think PHP 7.4 would work without too much trouble for CC642, - again, end of life.
    1 point
  10. Yes please use SagePay-1.0.13.zip. It should be fine with PHP 7.2 but 7.4 would be safer.
    1 point
  11. Why, why, why you have to be so smart @bsmither? That's exactly what the issue was, since initially they both had the same route /powerball the system added a re-direct when leaving blank, creating the redirection. Is there a module, under product page, tab #product spec, to have custom stuff? I could jam everything into the actual product page but it would be cool to add some custom stuff, in our case we don't need to specify the code or if it's new or used. Thanks again kid, Happy Thanksgiving of whatever you celebrate today!
    1 point
  12. Please post a PM with your email address and I will send a ZIP file having the "Previous Purchase" plugin.
    1 point
  13. Yes. That data item is found in {$PRODUCT.use_stock_level}. The code sequence: {if $PRODUCT.use_stock_level}Extra language{/if} will need to be in template code (as opposed to the "Description" content of the product's data).
    1 point
  14. My solution was to remove the registration page link from my skin and form fields within the registration page. I only have the the option to create an account on the checkout, therefore users and spammers will need to place an order to create an account, genuine users will do so but the spammers wont proceed. Has worked well for me for 2 years, no fake accounts created. I believe they create fake accounts so your shop sends registration emails or password resets to their targets & used to spam people and will give your store/email a bad reputation, some users may report these emails as spam and accounts like google mail will auto junk any future mail you send or your report your site to your hosting provider for sending spam.
    1 point
  15. This may be related to an open issue: https://github.com/cubecart/v6/issues/3057 If the error was copied from CubeCart's admin, System Error Log, if you hover the mouse over the error, there may be a popup that gives the trace PHP made to get to the code that errored. If that popup appears, try to copy/paste the contents to a reply here.
    1 point
  16. As per Al's comments on the github issue you raised, this is almost certainly down to a faulty or partially completed upgrade
    1 point
  17. Chaps.. This situation is embarrasing, I'm getting female members of my team telling me that they are receiving explicit messages from one of our contact forms. Can anyone suggest how I get invisible working, failing that I'll have to employ the services of a dev to write something which works.
    1 point
  18. The All in One Shipping module has a Debug setting. Choose to see a Very Verbose explanation. The debug analysis will show why there were no shipping rates found to satisfy the required conditions.
    1 point
  19. My bad. Replace that other new code with this new code: if (!empty($item['product_options'])) { $product['product_options'] = array(); if (($list = unserialize($item['product_options'])) !== false) { foreach ($list as $value) { $product['product_options'][] = $value; } } else { if(method_exists($order,'unSerializeOptions')) { $options = $order->unSerializeOptions($item['product_options']); } else { if(empty($item['product_options'])) { $options = array(); } else if(($options = cc_unserialize($item['product_options'])) !== false) { } else if (($options = cc_unserialize(base64_decode($item['product_options']))) !== false) { } else { $options = explode("\n", $item['product_options']); } } foreach ($options as $option) { $value = trim($option); if (empty($value)) continue; $product['product_options'][] = $value; } } $product['product_options'] = implode("\n", $product['product_options']); }
    1 point
  20. Hey @radman Pretty sure i have gotten to the bottom of it. Due to a recent change with CubeCart the Sale Items / Gift Certificates links don't appear to work in the way that they used to which in turn affects the way that i used them in the template. So, as a solution if you like them above the search box i would suggest you hard code them. If this is a route you would like to take please find the instructions below: in skins > amzin > templates > main.php around lines 74 - 79 find {if $CTRL_CERTIFICATES && !$CATALOGUE_MODE} <li><a href="{$URL.certificates}" title="{$LANG.navigation.giftcerts}"><i class="fas fa-gift"></i> {$LANG.navigation.giftcerts}</a></li> {/if} {if $CTRL_SALE} <li><a class="sale-link" href="{$URL.saleitems}" title="{$LANG.navigation.saleitems}"><i class="fas fa-tag"></i> {$LANG.navigation.saleitems}</a></li> {/if} and simply replace them with <li><a href="https://mybikerleather.com/gift-certificates.html" title="{$LANG.navigation.giftcerts}"><i class="fas fa-gift"></i> {$LANG.navigation.giftcerts}</a></li> <li><a class="sale-link" href="https://mybikerleather.com/sale-items.html" title="{$LANG.navigation.saleitems}"><i class="fas fa-tag"></i> {$LANG.navigation.saleitems}</a></li> Sorry for any inconvenience caused by this oversight.
    1 point
  21. So, the browser did not find ORDER BY popularity DESC. The next step I would like for you to do is edit the skin template box.popular.php and at the very end of the file, add {debug}. Save the edited file. When you next ask for the Homepage, your browser will want to popup a window. Let it. (You may need to request the Homepage a second time if you need to give permission for the popup.) The popup contains all the variables assigned to the template. Scroll down to near the bottom and find $POPULAR in the left pane. If it is there, is there a value for it as shown in the right pane? It might be an array with 20 elements. (Do not post the array here. Just indicate if it is an array with 20 elements, or if the value is something else.)
    1 point
  22. What were your findings in admin, Store Settings, Layout tab? Verify that there exists a skin template named box.popular.php.
    1 point
  23. Thanks Nitfox. I offer you a beer for sharing .. thank you again ..
    1 point
  24. Hey, I can't offer any guarantees as i don't have access to the plugin and the developers demo site has been suspended (not sure if hes still active with cubecart). Looking at the plugin info and screenshots the only compatibility issues i predict is layout issues on the customer side. Providing the template side of things for the plugin are not encrypted this can be overcome by converting it over to bootstrap layout and adding any additional styling no problem.
    1 point
  25. Hey, By default the google analytics js is conditional to cookies been accepted so if you don't use the cookies notice or haven't accepted cookies then the code won't run. If you want to run google analytics regardless of if cookies have been accepted then you'll need to remove the conditional statement by skins > amzin > templates > element.google_analytics.php and remove line 1 and 13 like noted below: {if isset($smarty.cookies.accept_cookies) && $smarty.cookies.accept_cookies=='true'} <<< REMOVE THIS LINE {literal} <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '{/literal}{$ANALYTICS}{literal}', 'auto'); ga('set', 'anonymizeIp', true); ga('send', 'pageview'); </script> {/literal} {/if} <<< REMOVE THIS LINE
    1 point
  26. Find the CSS file cubecart.style04.css and add the following: .page-header-sec { background-image: url('xyz'); } where 'xyz' is the location of the image.
    1 point
  27. Two ways: FTP the folder that was extracted from the ZIP file to CubeCart's /modules/gateways/ folder, or obtain the lightning bolt token and enter it in CubeCart's admin, Manage Extensions page. It will automagically appear in the Extensions list.
    1 point
  28. Welcome Welshy! Glad to see you made it to the forums. The MarketPlace isn't a CubeCart store (at least, I don't think it is), so there isn't much other CubeCart users can help with this. I think contacting CubeCart HQ directly will be the quickest way to let them know of your difficulties. https://www.cubecart.com/contact
    1 point
  29. We don't have a partnership with Adyen but it's not required. They have exceptional documentation and the integration has been tested under their sandbox. Please do let us know how you get on. Where are you referring to when you say no documents on the CubeCart page? We will reach out to Adyen to see if we can get our integration certified.
    1 point
  30. In the Noodleman skin template main.php, find: Near line 26: <a href="{$ROOT_PATH}" class="main-logo"><img src="{$STORE_URL}/skins/noodleman_v6/images/noodleman/noodleman-logo.png" alt="{$CONFIG.store_name}"></a> Change to: <a href="{$ROOT_PATH}" class="main-logo"><img src="{$STORE_LOGO}" alt="{$CONFIG.store_name}"></a>
    1 point
  31. A problem with the AIOS module is that adding, editing, deleting rates will submit all the rates on the tabs, regardless even if they have not changed. This could lead to submitting a very large number of data points (key/value pairs). (This is because browsers submit arrayed keys even with empty values.) PHP has a default limit of 1000 key/value pairs of data input. Exceeding this limit will cause PHP to truncate the collection of data, including the security token that had been added at the end. No security token, nothing gets updated. This hack makes each tab of the administrative screen of AIOS to function as an independent form. This then drastically cuts down the number of key/value pairs. There is a consequence to doing this --- Each separate zone tab is a complete and distinct "form". This is different than any other admin settings area. That is, (as of CC611 and earlier) when editing a Product, all the various tabs and the content displayed for each tab is considered to be all on one single form -- the data from ALL tabs' contents are submitted all at once. Thus, you can progress through the various tabs making ALL the settings and properties for that one product. Clicking Save will save ALL the data from all the tab contents. If you are experienced with using your browser's waterfall diagnostics, you can verify what data gets sent out by the browser. NOT SO with this alternate template for the AIOS module. That is, making changes on the first zone tab (USA for example), then making changes on a second zone tab (Canada for example), then clicking the Save button while still viewing that second zone (Canada), will ONLY send the data on the second zone (Canada). The changes on the first zone tab (USA), not being visible, was NOT submitted. So please keep this in mind -- each zone tab is a separate form and only the data for the form being viewed will get submitted. Copy the existing file: /modules/shipping/All_In_One_Shipping/skin/admin/index.tpl to some other name, and using a programmer's text editor, make the following edits. The edits are made from the bottom up so as to not disturb line numbers. Line 314: From: </form> To: </form> *} Line 301 - 304: From: </fieldset> </div> {/if} <div class="form_control"> To: </fieldset> {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {/if} {* <div class="form_control"> Line 149 - 155: From: {include file='admin/shipping_rates.tpl'} </div> {/foreach} {/if} {/if} {if isset($DISPLAY_FORM)} <div id="All_In_One_Shipping" class="tab_content"> To: {include file='admin/shipping_rates.tpl'} {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {/foreach} {/if} {/if} {if isset($DISPLAY_FORM)} {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="All_In_One_Shipping" class="tab_content"> Line 140 - 145: From: </table> </div> {if $MULTIPLE_ZONES} {foreach from=$ZONES item=zone} <!-- TAB --> <div id="zone_{$zone.id}" class="tab_content"> To: </table> {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {if $MULTIPLE_ZONES} {foreach from=$ZONES item=zone} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="zone_{$zone.id}" class="tab_content"> Line 91 - 94: From: {/if} </div> <!-- TAB --> <div id="shipping_zones" class="tab_content"> To: {/if} {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="shipping_zones" class="tab_content"> Line 4 - 8: From: </style> <form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> {if isset($DISPLAY_RATES)} <!-- TAB --> <div id="All_In_One_Shipping" class="tab_content"> To: </style> {* <form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> *} {if isset($DISPLAY_RATES)} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="All_In_One_Shipping" class="tab_content"> In the AIOS module's language file: Find: <string name="save_all_changes"><![CDATA[Save all changes]]></string> Add After: <string name="save_this_tab"><![CDATA[Save this tab's settings]]></string> This is a change in a Smarty-powered template, so clear the skin cache. You can verify the reduction in the amount of data sent out by re-examining the waterfall.
    1 point
  32. hello, sorry if I'm not in the right section, but I can not write in the plugin discussion section about the plugin store collection, here is an improvement that would be interesting to add. when the customer decides to make an on-site pick-up, a schedule should be proposed so that the picker chooses a date on which he will pick up his goods Thank you
    1 point
  33. Much better - advertising was extremely intrusive but best is that many features that havent been working for a while are now back working
    1 point
  34. Somewhere, you have this: $('.bxslider').bxSlider({auto:true,captions:true}); Change to: $('.bxslider').bxSlider({autoStart:false,auto:false,captions:true});
    1 point
  35. If you now know what the current username and password is, then edit the file /includes/global.inc.php to have that new information.
    1 point
  36. That is a "signature block", or 'sig'. You can create your own. The personal sig appears with every post a forum user makes. Do not take it personally.
    1 point
  37. There is no "transferring over" CubeCart PHP code. An upgrade is "whole cloth". So, you now have a folder named /admin/ and a folder named /admin_hash/. I suggest you determine which folder has this latest update, rename the other one to something completely bogus, then rename the correct folder to the same name that is in the /includes/global.inc.php file. (Yes, I do understand that having implemented a derived name for the admin folder introduced a number of headaches.) Just to make sure, also force your browser to reload the admin page resources (javascript and css - new versions in CC6110 - and images.) This is usually done with CTRL-F5.
    1 point
  38. (I do not have a copy of GalaxyX, but) The Smarty code in probably all skins will be nearly the same. So, let's look at Foundation. content.category.php <h2>{$category.cat_name}</h2> {if isset($category.image)} <div class="row"> <div class="small-12 columns"><img src="{$category.image}" alt="{$category.cat_name}" class="marg-bottom"></div> </div> {/if} {if !empty($category.cat_desc)} <div class="row"> <div class="small-12 columns">{$category.cat_desc}</div> </div> {/if} {if isset($SUBCATS) && $SUBCATS} There is the category name, followed by a test for the presence of the category image. If there is an image (regardless of size), then show include the HTML to show it. Otherwise, do not include this HTML to show the image. This is followed by a similar test for the presence of the category's descriptive text. Then followed by a similar test to show the subcats. To absolutely not show the category image regardless whether there is one or not: From: {if isset($category.image)} To: {if false && isset($category.image)} Since a template has been modified, be sure to have CubeCart clear its internal cache.
    1 point
  39. Please try: In /classes/cubecart.class.php, near lines 2147-2151 (for CC618), find: $GLOBALS['smarty']->assign('REDIRECT_TO', $redir); $GLOBALS['smarty']->assign('URL', array( 'register' => $GLOBALS['seo']->buildURL('register'), 'recover' => $GLOBALS['seo']->buildURL('recover')) ); On the blank line after that, add: $meta_data=array('name'=>"Login",'path'=>null,'description'=>"Your Login Page",'keywords'=>"Login",'title'=>"Login",);$GLOBALS['seo']->set_meta_data($meta_data);
    1 point
  40. I found it! was in navigation.ss and .top-bar-section! I am so rusty on this kind of work! Thanks for the help
    1 point
  41. There is a gateway bug that you need to fix. I'll be right back with the link to the fix.
    1 point
  42. Welcome to the forums @twistedsymphony! Do you have Store Settings>Stock set to Reduce stock levels on Processing? Is Store Settings>Misc>Features set to Order Status send on Processing? Have you run the email TEST after saving all correct settings for Store Settings>Advanced>Email?
    1 point
  43. after reading this thread i can confirm its the same for me, tested on ff as a guest when i select secure payment it doesn't proceed, if i log in its fine. i am using/testing the invisible recaptcha recommended with site & secret key
    1 point
  44. Hello, I want to migrate all my shops to Cubecart ... why? Because i use it many years and it is f* amazing!!!! Everything is just out of the box ... other shipping carts can learn from it. Specially the clean coding and fantastic structure (just like linux hehe). BUT i have a question .... Is it possible to make SEO path like this: www.domain.com/category-of-the-product/product-name-here And of-course without the .HTML. Please tell me how to fix this. Then i will move all my opencart websites to cubecart! Thanks!!
    1 point
  45. This can be caused by the IonCube encoded version, php 7 requires the newest ioncube loaders and the module to be encoded using IonCube for PHP 5.6 with the latest encoders. It's for this reason I offer two downloads for all my modules, those for PHP 5.6 and above, and 5.5 and below.
    1 point
  46. Yes this is coming with 6.1.6 but skin edits will be required.
    1 point
  47. In the file /classes/order.class.php Near line 483, find: case self::ORDER_DECLINED: // Nothing to do, but leave the option here for hooks & such break; case self::ORDER_FAILED: // Email the customer to explain their order failed fraud review $content = $mailer->loadContent('cart.payment_fraud', $order_summary['lang'], $this->_order_summary); break; case self::ORDER_CANCELLED: // Cancelled $content = $mailer->loadContent('cart.order_cancelled', $order_summary['lang'], $this->_order_summary); break; Change to: case self::ORDER_DECLINED: // Nothing to do, but leave the option here for hooks & such break; case self::ORDER_FAILED: // Email the customer to explain their order failed fraud review $this->assignOrderDetails(); $content = $mailer->loadContent('cart.payment_fraud', $order_summary['lang'], $this->_order_summary); break; case self::ORDER_CANCELLED: // Cancelled $this->assignOrderDetails(); $content = $mailer->loadContent('cart.order_cancelled', $order_summary['lang'], $this->_order_summary); break; The related email templates will need to have the macros added -- you can copy the contents from another template.
    1 point
  48. The next upgrade will have the same fault as the upgrade code it baked into 6.1.5. It will only work after 6.1.6 to 6.1.7 etc.. To get the upgrade working from 6.1.5 to 6.1.6 that file will need replacing.
    1 point
  49. Well, it seems that for this specific part of the program, it does not include the sorter data. Let's fix that. In /classes/catalogue.class.php, near line 1571, find: if ($search_mode == 'fulltext' && $search_str_len >= $max_word_len) { Next, find: } else { that corresponds to the above if(). Next, find the statement that begins with: $q2 = "SELECT I.* FROM At the end of that statement, it should look like: AND I.status = 1 ".$whereString.$rlike; Change to: AND I.status = 1 ".$whereString.$rlike." ".$order_string;
    1 point
×
×
  • Create New...