Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/27/2022 in all areas

  1. 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
  2. Thank you so much for your replies - I think I will take up your offer in the New Year for sure after my Christmas rush is over.
    1 point
  3. I understand. Thanks!
    1 point
  4. Since upgrading to version 6.5.2 we have the following issue: For reference our shop is located at https://www.airbornesappers.org.uk/shop/index.php We do have products with a Sale price entered, which are less than retail and greater than zero In Store Settings - Features we have Sales Mode set to Per Product, with Number of sale items to display set to 20 I don't know if the upgrade to 6.5.2 has caused this, all I can say is that prior to the upgrade Sale Items were displayed in the Sale Items category I've searched other topics and checked as much as I know what to check but can't fix this error Any help appreciated Thank you
    1 point
  5. A 'throbber' (spinning circle) that does not go away indicates that the javascript that is supposed to cancel the throbber and make the browser proceed to the next step, has crashed, failed to start, or failed to load. Failing to load could be caused by a browser extension that prohibits fetching javascript from non-whitelisted sources. While stuck on the CloudFlare page, examine the browser settings menu for a "Developer" section, then view the browser 'console'. It will indicate the cause of being stuck on the CloudFlare page.
    1 point
  6. Using a programmer's text editor, please make this edit. In /classes/catalogue.class.php, near line 893: From: $GLOBALS['catalogue']->searchCatalogue((int)$_GET['cat_id'], $page, $catalogue_products_per_page); To: $GLOBALS['catalogue']->searchCatalogue($_GET['cat_id'], $page, $catalogue_products_per_page); The variable $_GET['cat_id'] could actually contain the value 'sale'. Should this text value be cast to a numerical type, it equals 0, for which there is nothing to be found. The use of (int) was added in an attempt to solve some other problem.
    1 point
  7. Hm. We can see that right away CubeCart is told to use fr-FR, but the phrases are not coming from that language pack. (See Debug Messages[0]) Please examine the following and try the suggested action: In admin, Languages, take note of any actual entries in the Domain column (not the slightly greyed-out suggested examples). If there are actual entries, blank them out and Save. Have CubeCart clear its internal cache. Did anything change?
    1 point
  8. Have done that for you on Github now. Hopefully that can be sorted, as those skins are a big plus.
    1 point
  9. In shipping.class.php: Find near lines 237-240: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); } else { Change to: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); $closest_match_zone_id = $this->_all_zones[$i]['id']; break; } else { The above is the exact same edit as was posted earlier, just the line numbers have changed.
    1 point
  10. 1 point
  11. Please bring up the extension for viewing the settings in admin, Extensions, find Card Capture and click the Edit icon. On the next page shown, what does the Description field show?
    1 point
  12. Please reload this forum conversation. I made a mistake on the last line of the new code.
    1 point
  13. Yes, you can. Having different content implies having a distinct and separate database - or, at least a distinct table prefix (can be on the same database server).
    1 point
  14. I'm only running All in One Shipping v 1.0.24, Card Capture v 1.0.12, and Google Base v 1.0.3. So far, so good, but I'll keep an eye on them.
    1 point
  15. During the running of 'setup', CubeCart makes some tests: certain folders must exist and be writable, and key PHP extensions must be initialized. For CubeCart 6.5+, PHP 7.4+ (8.2 recommended but will probably be required for CC652+), the extensions include: MySQLi, GD Image library, Simple XML parser, cURL, ZipArchive, and the MultiByte String library. The test during setup is reported as a list of Pass/Fail line items on the second page shown. Setup will not proceed to the third page if any item shows as failed. CubeCart continuously checks to make sure the version of PHP is compatible, so should PHP change versions (7.4 downgrade to 7.3, for example), CubeCart will make complaints. However, CubeCart does not do continuous compliance checks for the presence of required extensions.
    1 point
  16. Image compression? CubeCart takes a source image, typically PNG or JPG, 750x750 pixels for example, then creates sized variants specific to the intended layout area and page. The source is uploaded to /images/source/, and CubeCart's variants are saved in /images/cache/. The specific variants are coded in the skin's config.xml file. Take a look a Foundation's config.xml file in a programmer's text editor. Here, you will find image nodes with the reference attribute indicating where the image is used. The product page uses 'medium' and 'gallery'. The maximum attribute specifies the length of the longest side, maintaining proportionality, but never longer than the original. (That is, if the source is 450x450 pixels, variants could be smaller, but will never be larger than that.) And, of course, the browser can scale the image to fit the layout's placement if the HTML coding allows it. Note also the quality attribute. For many image formats, there is the 'compression ratio', expressed as a 'quality' -- 100 being very lightly compressed, if at all, and 10 looking like crap. I have visited web pages that initially show a super-blurry image (high compression), then eventually, under javascript control, fetches a high-quality (large filesize) image to replace the blurry one. Currently, CubeCart does not do this.
    1 point
  17. In admin, Email Templates, click the language of the email you wish to edit. On the next screen, on the HTML Content tab, note that in the list of Available Macros, there is {$DATA.customer_comments}. Add this to the HTML of the email wherever you wish. For example: Find: <p><a href="{$DATA.link}">{$DATA.link}</a></p> Add after: <p>Your comments about this order: &quot;{$DATA.customer_comments}&quot;</p>
    1 point
  18. Please post a PM with your email address and I will send a ZIP file having the "Previous Purchase" plugin.
    1 point
  19. It sounds like you may be encountering a technical issue while trying to generate a token. Without additional information, it's difficult to provide specific troubleshooting advice. However, one possible solution could be to clear your browser cache and cookies, and then try generating the token again. Regarding your question about the tracking ID, it depends on which version of Google Analytics you are using. If you are using the newer Google Analytics 4, then you would enter the g-tag number (e.g. G-0K5RYTYZ11) as the tracking ID. If you are still using the older Universal Analytics, then you would enter the UA number (e.g. UA-26600668-1) as the tracking ID. UPSers Login
    1 point
  20. You are getting the address items from the admin, Order Summary page? If so, try the following: In the admin /sources/orders.index.inc.php: Near line 419, find: $overview_summary['country'] = is_numeric($overview_summary['country']) ? getCountryFormat($overview_summary['country'], 'numcode', 'name') : $overview_summary['country']; After that, add: $overview_summary['state_abbrev_d'] = is_numeric($overview_summary['state_d']) ? getStateFormat($overview_summary['state_d'], 'id', 'abbrev') : $overview_summary['state_d']; $overview_summary['state_abbrev'] = is_numeric($overview_summary['state']) ? getStateFormat($overview_summary['state'], 'id', 'abbrev') : $overview_summary['state']; In the admin template orders.index.php: Near lines 163-164, from: {$OVERVIEW_SUMMARY.town_d|upper}<br> {if !empty($OVERVIEW_SUMMARY.state_d)}{$OVERVIEW_SUMMARY.state_d|upper}, {/if}{$OVERVIEW_SUMMARY.postcode_d}<br> To: {$OVERVIEW_SUMMARY.town_d|upper}&nbsp; {if !empty($OVERVIEW_SUMMARY.state_abbrev_d)}{$OVERVIEW_SUMMARY.state_abbrev_d|upper}, {/if}{$OVERVIEW_SUMMARY.postcode_d}<br> Near lines 174-175, from: {$OVERVIEW_SUMMARY.town|upper}<br> {if !empty($OVERVIEW_SUMMARY.state)}{$OVERVIEW_SUMMARY.state|upper}, {/if}{$OVERVIEW_SUMMARY.postcode}<br> To: {$OVERVIEW_SUMMARY.town|upper}&nbsp; {if !empty($OVERVIEW_SUMMARY.state_abbrev)}{$OVERVIEW_SUMMARY.state_abbrev|upper}, {/if}{$OVERVIEW_SUMMARY.postcode}<br>
    1 point
  21. Nice idea! In admin, Maintenance, Rebuild tab, there is a means to "Reset all product view counts". "Views" is one of the choices on what criteria to base a query for "Best Sellers" (aka Popular Products). But resetting Views might be overkill for some. I have in mind a text box next to Store Settings, Layout tab, "Source data for popular products" saying, "Within the past [###] days." This won't be a date range, but will this suffice for your needs?
    1 point
  22. I added more to my post above. Please reload this forum page. There is no urgency in removing the debugging code. It does not affect how CubeCart runs.
    1 point
  23. This is the one I wanted to see: [14] HookLoader::_build_hooks_list:451:Hooks: class.cubecart.display_gateways => Array ( [paypal_commerce] => Array ( [hook_id] => 248 [plugin] => paypal_commerce [hook_name] => Display Gateway or Make Payment [enabled] => 1 [trigger] => class.cubecart.display_gateways [filepath] => [priority] => 0 ) ) More to come.
    1 point
  24. You can check your "includes/global.inc.php" file it will have the link to the admin page in it, $glob['adminFile'] = 'admin_xxxxx.php';
    1 point
  25. This appears to be the summary view of the order in admin, correct? If so, I agree that the summary should indicate both what the shipping would otherwise have been, but that has been reduced because of some other function. (That function should be mentioned in the Notes tab.) I think this is not directly related: https://github.com/cubecart/v6/issues/2998 Let me see what I can find.
    1 point
  26. You might be able to set identifier exists = false in the feed rules on Google's end:
    1 point
  27. Please create the error log: https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/ There may be clues to what is happening.
    1 point
  28. 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
  29. A Zone, for whatever purpose (i.e., having countries), but no shipping rates for that zone, will not have any rates to offer the customer to choose. Yes, the zone will match (Canada, for example), but there will be no rate available -- neither because, for any of the rates that could be supplied, none fit the conditions, nor because there are no rates at all. Thus (in later versions of AIOS), the module will try to match a rate's conditions listed in "Rest of World". So, short answer, a zone with no rates is as good as being disabled (suspended), and as good as having been deleted, and as good as not having been created at all. The point of the "Uncheck to Suspend" feature is to keep the zone with its list of rates intact, but to not use them.
    1 point
  30. According to this issue in the Github: https://github.com/cubecart/v6/issues/2754 a zone cannot be created against countries and counties/states that are not enabled. However, the question remains, what if a country is later disabled, after a zone has been created for it? Will CubeCart still offer any shipping to a customer whose delivery address contains a disabled country/county/state? Regardless, a means to enable/disable each already created zone is a nice idea. Be back soon.
    1 point
  31. Regarding the template syntax error, an issue has been posted in the Github. https://github.com/cubecart/v6/issues/3126 3. Check the code in the admin skin file filemanager.index.php, near lines 122-129: {if $FILE.type == 1} <div> <label for="alt">{$LANG.filemanager.alt}</label> <span> <input type="text" id="alt" name="details[alt]" class="textbox" value="{$FILE.alt}"> </span> </div> {/if} Also in this file, make this change: Lines 117-119, from: <select name="details[move]" id="move" class="textbox"> <option value="">{$LANG.form.please_select}</option> </select> To; <select name="details[move]" id="move" class="textbox"> <option value="">{$LANG.form.please_select}</option> {if isset($DIRS)}{foreach from=$DIRS item=dir} <option value="{$dir.path}"{$dir.selected}>{$dir.path}</option>{/foreach}{/if} {* #3121 *} </select> 1. Is this what CubeCart reports in admin, Dashboard, Store Overview tab? Or is this aspect of the server environment being shown somewhere else?
    1 point
  32. On my development system, I am trying Amzin 1.05 on CC647 running under PHP8.1. (Found a bug in a template.) But the links appear correct. I have not yet installed CC649. But analyzing code differences between CC647 and CC649 shows no likely source of this situation.
    1 point
  33. The package of files that has been offered to replace a few existing troublesome files did have a change in the one file (ini.inc.php) that declares the version (now 6.4.9). Replacing these troublesome files does not require that setup be run again. This package contains no changes to be made to the database or the database contents. Hence, normally, setup makes an entry in the database table CubeCart_history with the version "processed" and the timestamp when it happened. But simply replacing these troublesome files did not also make the appropriate entry in the CubeCart_history table. Using an external database utility, view CubeCart_history and change the value "6.4.8" to "6.4.9".
    1 point
  34. Please try this edit: In /classes/language.class.php, line 106: From: if(ADMIN_CP == false && isset($d[$url['host']]) && !empty($d[$url['host']])) { To: if( (!defined('ADMIN_CP') || ADMIN_CP == false) && isset($d[$url['host']]) && !empty($d[$url['host']])) {
    1 point
  35. Did you follow the steps in method 1? https://support.cubecart.com/hc/en-gb/articles/360003794198-How-do-I-upgrade-from-CubeCart-v6-to-latest-v6-
    1 point
  36. We are in the middle of developing a plug-in to cover both these areas of functionality. It is a big job to do it fully so have no release date yet but will be in the first half (hopefully first quarter) of next year. If you want to register as a client at our website and open a support ticket asking about this, we are interested in people’s views on functionality and we can keep you updated regarding progress
    1 point
  37. An enhancement regarding Gift Cards allows: the admin to assign a collection of images to the Gift Card system. One image is the default (master). the admin to have a text editor to add more content to the Gift Card purchase page. the customer to choose an image when purchasing a Gift Card. for the additional content to appear on the Gift Card purchase page. At checkout, a small-sized image of the chosen image appears in the list of basket items. For a physical Gift Card, the card can be (pre)printed with the chosen image. For an emailed notice, the HTML content can now include a link to the image the customer chose. For example, the collection of images may include birthday, Mother's day, Winter holiday, Valentine's day, Thank You, and other themes. This enhancement is not a plugin. It involves hard code edits.
    1 point
  38. 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
  39. 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
  40. 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
  41. Please make the following change: {literal} <!-- Google tag (gtag.js) --> ... all the javascript code ... </script> {/literal} That is, surround the supplied code with Smarty's "Take this literally!" command. Otherwise, Smarty will try to interpret anything between braces as commands for itself.
    1 point
  42. Currently, no. But, CubeCart has the ability to respect a custom API call that a "cron job" would execute on schedule, as well as hooks that could be used every time that a web page is requested to update if a specified amount of time has elapsed since the last update.
    1 point
  43. Decided to persist with getting the wamp server to work in a ssl mode, so I could use PayPal commerce working offline with CubeCart. Well it has gone 10pm now and after looking at lots of variations on other sites and lots of trial and error, I have FINALLY got the PayPal Commerce extension working fully in wamp, meaning I can develop my sites offline and upload to live servers when completed... Yay.!!! This is the difference with working with outfits like CubeCart, you get help rather than sarcasm and assistance rather than bitter critique. Forwards and onwards..... Thanks Al
    1 point
  44. Thank you. By way of a bit of background for you. In the early stages of our online shop journey we checked out many different platforms including some of the well known names such as ZenCart. We found the setup of these other platforms to be quite difficult and certainly not as well organised and intuitive as CubeCart. The ease of setup and the organised admin area were the main reasons for us deciding to go with CubeCart, a good decision and we look forward to using it for a long time to come. These forum pages have been a big help, we really appreciate you being there and the assistance you provide, keep up the good work because no doubt I'll be back
    1 point
  45. 1 point
  46. I think nearly all of the log entries matching the examples shown in the document provided, relate to the parts of the skin template system you have stripped out (Language chooser, Featured box, Sale Items box, Newsletter box, Live Help, Debug, and Skin chooser). Looking at the source HTML delivered to my browser, I see that there is a removed text entry field for the person's phone number. This will cause the form to not even be submitted if the form validation fails. In the file /skins/ho/js/3.cubecart.validate.js, at lines 66-97, there are the rules for the contact form. Remove 92-94: }, 'contact[phone]': { phone: $('#validate_phone').text() Remove 83-85: }, 'contact[phone]': { phone: true What I do not know is this: How smart is the Validator? If the Validator does not find a text entry input field having the name contact['phone'], even with a rule referencing it, will the validator still submit the form? According to this, the Validator does not check non-existing fields (from five years ago): https://forum.jquery.com/topic/jquery-validate-check-that-a-field-exists-before-validating In other words, I do not know if this edit will fix things. FYI: The core code in cubecart.class.php, says only that 'email', 'name', 'subject', 'enquiry' are the only required fields. So maybe an issue will get posted in the Github that compares the Validator rule for the phone being required, but the core code does not.
    1 point
  47. I had issues with SendinBlue. I don't recall the exact scenario, but it went along the lines of them rejecting my mailing campaign half way through sending. I quickly spent my credits and went elsewhere. Moosend is perfect for our requirements, although they are fussy with certain address uploads.
    1 point
  48. 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
  49. Hi, Wish to make the sales report with the product details, which sql should I edit on? "product_code" is a new attributes that I add in, since it is not inside the table "CubeCart_order_summary". Actually, it is from table "CubeCart_order_inventory". And, How to sum the product_code? As the product code is in integer, digit form. The below code is from admin_LsSCSi/sources/reports.index.inc.php $fields = array( 'title', 'cart_order_id', 'product_code', 'order_date', 'status', 'subtotal', 'discount', 'shipping', 'total_tax', 'total', 'customer_id', 'first_name', 'last_name', 'company_name', 'line1', 'line2', 'town', 'state', 'country', 'postcode', 'title_d', 'first_name_d', 'last_name_d', 'company_name_d', 'line1_d', 'line2_d', 'town_d', 'state_d', 'country_d', 'postcode_d', 'phone', 'email', 'gateway' ); foreach ($GLOBALS['hooks']->load('admin.reports.order.pre') as $hook) include $hook; $orders = $GLOBALS['db']->select('CubeCart_order_summary', $fields, $where); foreach ($GLOBALS['hooks']->load('admin.reports.order.post') as $hook) include $hook; if ($orders) { ## If we are wanting an external report start new External class if (isset($_POST['external_report']) && is_array($_POST['external_report'])) { $module_name = array_keys($_POST['external_report']); $external_class_path = 'modules/external/'.$module_name[0].'/external.class.php'; if (file_exists($external_class_path)) { include $external_class_path; $external_report = new External($GLOBALS['config']->get($module_name[0])); } } ## Tally up totals $tally = array(); $i = 0; foreach ($orders as $order_summary) { $order_summary['status'] = $lang['order_state']['name_'.(int)$order_summary['status']]; foreach ($order_summary as $field => $value) { if (in_array($field, array('subtotal', 'discount', 'shipping', 'total_tax', 'total'))) { if (!isset($tally[$field])) $tally[$field] = 0; $tally[$field] += $value; } } $order_summary['country'] = (is_numeric($order_summary['country'])) ? getCountryFormat($order_summary['country']) : $order_summary['country']; $order_summary['state'] = (is_numeric($order_summary['state'])) ? getStateFormat($order_summary['state']) : $order_summary['state']; $order_summary['country_d'] = (is_numeric($order_summary['country_d'])) ? getCountryFormat($order_summary['country_d']) : $order_summary['country_d']; $order_summary['state_d'] = (is_numeric($order_summary['state_d'])) ? getStateFormat($order_summary['state_d']) : $order_summary['state_d']; $order_summary['date'] = formatTime($order_summary['order_date'],false,true); ## Run line of external report data if (isset($external_report) && is_object($external_report)) $external_report->report_order_data($order_summary); unset($order_summary['order_date'], $values); foreach ($order_summary as $field => $value) { if ($i == 0) $headers[] = $field; $values[] = (is_numeric($value) || !strpos($value, ',')) ? $value : sprintf('"%s"', addslashes($value)); } if ($i == 0 && $add_headers) $data[] = implode(',', $headers); $data[] = implode(',', $values); $smarty_data['report_date'][] = $order_summary; $i++; } $GLOBALS['smarty']->assign('REPORT_DATE', $smarty_data['report_date']); if (isset($_POST['download']) || (isset($_POST['external_report']) && is_array($_POST['external_report']))) { $GLOBALS['debug']->supress(true); if (isset($_POST['download'])) { $file_content = implode("\r\n", $data); $file_name = $lang['reports']['sales_data'].' '.$download_range; } else { $file_content = $external_report->_report_data; $file_name = ucfirst($module_name[0]).' '.$lang['reports']['data'].' '.$download_range; } deliverFile(false, false, $file_content, $file_name.'.csv'); exit; } ## Show table footer $tally['orders'] = count($orders); foreach ($tally as $key => $value) { $tallyformatted[$key] = ($key=='orders') ? $value : sprintf('%.2F', $value); } $smarty_data['tally'] = $tallyformatted; $GLOBALS['smarty']->assign('DOWNLOAD', true); ## Get external module export code $where = array('module' => 'external', 'status' => '1'); ## Start classes for external reports if (($module = $GLOBALS['db']->select('CubeCart_modules', 'folder', $where)) !== false) { foreach ($module as $module_data) { if(file_exists(CC_ROOT_DIR.'/modules/external/'.$module_data['folder'])) { $module_data['description'] = ucfirst(str_replace('_',' ',$module_data['folder'])); $smarty_data['export'][] = $module_data; } } $GLOBALS['smarty']->assign('EXPORT', $smarty_data['export']); } } else { if (isset($_POST['download'])) httpredir(currentPage()); $smarty_data['tally'] = array('orders' => 0); } $GLOBALS['smarty']->assign('TALLY', $smarty_data['tally']); $GLOBALS['smarty']->assign('POST', $report_filter); foreach ($GLOBALS['hooks']->load('admin.reports.order.filter') as $hook) include $hook; Thanks~
    1 point
  50. Hi For the UK, it is a legal requirement (and one that Trading Standards take seriously and can and do prosecute for breaches) to show prices including VAT if selling to consumers. Most businesses if selling to other businesses would want to show ex VAT. As most websites are likely to sell to both businesses and consumers, the ability to choose which price (inc or ex VAT) is shown as default and with the ability to switch between the two is very important. There is a simple mod available for V4 stores from a third party developer but they have said they have no plans to develop a V5 plugin and anyway, I feel strongly that this should be part of core as it is a legal requirement. Ian
    1 point
×
×
  • Create New...