Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. This is the email sent to the admin for a new order? Bring up that template for editing. If you are using CC648 or later, you will be using a code editor. Earlier than CC648, you will be using a WYSIWYG editor that must be switched to Source mode. At about the 24th line: Find: {/if}{$SHIPPING.line1|capitalize}<br> Change to: {/if}<span style="{if $SHIPPING.line1 != $BILLING.line1}color:red;font-weight:bold;{/if}">{$SHIPPING.line1|capitalize}</span><br> Save and make a new order to see what the result is.
  2. The CKEditor is still included with CubeCart (so far). It is used when designing Newsletters, composing the Offline and Copyright content in Store Settings, and composing the product, category, and document descriptions. So, if one really wants to use CKEditor for editing email templates, a simple edit to an admin skin template would do that.
  3. With CC648, the email template editor was switched from the CKEditor4 to the ACE editor. There are various reasons for this, and significantly is that CKEditor4 has presented various problems dealing with Smarty syntax. Moving to CKEditor5 would probably not solve those issues. The Plain Text Content tab does not use an editor. Here, a simple textarea accepts content that respects line endings and spaces. On the HTML Content tab is a Test button that gives you a look at what the HTML content looks like when rendered in a browser (or email reader), except, of course, the Smarty syntax and macros makes it look a bit weird. The unfortunate consequence is that you will need to know HTML coding. Or find and use a third-party WYSIWYG web page builder. With respect to claimed "HTML5-compliant" editors, when Smarty syntax gets involved, the level of compliance goes down the drain.
  4. "and all come up but this one." So, it is not that the product isn't getting added, it is that the product isn't showing up in the list of suggestions. The code that returns suggested products limits the query to 15 records. I suggest that if you know what the target product is, use its exact product code. If that code has dashes in it, the result might be empty. If so, try again. If it still fails, try using a backslash to 'escape' it. For example (if necessary): Product Code: WAN-DER Search for: WAN\-DER
  5. It's a bug. The "uri" column needs to be, and is, UNIQUE (Github issue #3383), but the comparative listing in the PHP script 'maintenance.index.inc.php' still has it as KEY. I will post a bug report. You can ignore this.
  6. Let's look at a couple of the skin's templates. Look at the template main.php. Probably within the first 50 lines of HTML, there will be: this: {foreach from=$HEAD_JS item=js}{$js}{/foreach} or this: {include file='templates/element.js_head.php'} If the template has the {include} statement, look for a template named element.js_head.php, or whatever the include file is. In the GA plugin settings panel, there should be a checkbox that says "Collect Stats Regardless of Cookie Permission". This is necessary if, in admin, Store Settings, Extra tab, 'Cookie Compliance Dialog' setting, is not checked, then 'Collect Stats' must be checked. Please give us a web address where we can look for the GA code.
  7. This is what I want you to try. Go to CubeCart's Marketplace and download the Google Analytics plugin. You may prefer to use a Thunderbolt Icon token. In CubeCart's admin, Store Settings, Features tab, blank the Google Analytics ID text field, Save. In Manage Extensions, enter the Thunderbolt token value to fetch and install the plugin. Once installed, click the Edit icon to access the plugin's Settings page. Hopefully, you have a GA code suitable for your purposes. Enter that code, click the Enable checkbox, and Save. Click the flashing orange button in the top-right corner to clear CubeCart's cache. Test (as best you can).
  8. "How did someone add an IP address to my listing like that?" It was probably a web crawler. A less-than competently programmed crawler. The web server receives a data packet addressed to it by the server's IP address. The web server starts examining the packets that follow, where those packets have the HTTP Header array. Nearly everything in those HTTP Headers can be customized. The HTTP header element named 'HTTP_HOST' can be anything. Usually, the HTTP_HOST is the domain name of the site being requested. But it doesn't have to be. In a development environment, often times, the IP address of the development server box is used, perhaps, because there is no domain name set up on the internal network. Sometimes, the name of the server box can be used, including the name 'localhost'. There is more to it, of course, especially when HTTPS gets involved.
  9. According to this: https://php.watch/versions/8.0/gd2-gd-windows the actual file has been renamed. So the question is: what actual version of PHP is in that environment? PHP4, PHP5, PHP7, PHP8? Find the actual folder where all the actual extensions are located, and verify the actual name of the GD library file. Make sure the filename is spelled in the PHP.INI file exactly as it appears in the directory listing.
  10. Yes. Please review whatever control panel you have to manage the stack - specifically the PHP version and the extensions enabled within it. Did you mention a XAMPP stack? The stack controller should have this functionality to enable PHP extensions. An Internet search suggests that XAMPP has a file editor. That editor is to be used to edit the PHP.INI file. In the PHP.INI file, find the statement in the [Extensions] block that has "extention=gd.dll" (or something like that) and delete the semicolon in front of it. Then restart the web server.
  11. Working on it. In the admin skin template 'products.index.php', find: Near line 109: <td>{$product.price}</td> Add after: <td>{$product.sale_price}</td> Near line 75: <th nowrap="nowrap">{$THEAD.price}</th> Add after: <th nowrap="nowrap">Sale</th> This is a quick solution. As such, this column is not sortable, and reflects only what the product's sale price is specific to the product. That is, this sale price is not a calculation based on the global percentage sale mode.
  12. The SFWS products are not available anymore. Without a copy, the best I can do is create a difference report, specific to what affected the GA code, for Foundation from the version that matches CC625 to the version that matches CC653, then we work on trying to apply those changes to the SFWS skin.
  13. The error notice posted above might have been from Amzin. There was found to be a syntax error in version 1.05 (that took PHP8 to reveal it). Amzin 1.06 fixed it. I do believe CBurst has been made to work with PHP8. And Basix I haven't tried recently, but I believe it should work as it has the new capability of ElasticSearch.
  14. Many skins have been kept up to date. Obviously, not the skin being tried. Which skin is it?
  15. A new product or an existing product. There is no setting, per se. Once CubeCart is aware that there is a Digital Option assigned, either from the file picker or a manually entered Custom File Path (including a full web address), then that product is considered a "digital product".
  16. If the traffic chart on the dashboard does not have a comparable way to limit the results to Customers Only, then perhaps your solution is to rewrite the custom code to add more to the WHERE clause: AND `session_last` > `session_start`
  17. I would think you would have the same problem. "I would like to weed out any sessions that I don't need to track." Where are you tracking sessions? In admin, Statistics, Users Online tab? If so, is there a link above the table to Display Customers Only? The database table CubeCart_sessions gets trimmed of records that are older than seven days.
  18. I have no idea why 'location' is varbinary. CubeCart uses that column to store the web address used to access the site, including any querystring. Nothing in that textual string would require the table column to handle binary (that is, non-textual) data. Let's review what you actually need to accomplish. What is the nature of the content that is in the 'location' column that contains 2022?
  19. Using CubeCart's Database class, the statement would be: Database::getInstance()->delete('CubeCart_sessions', array('location' => "~2022")); The third parameter (false) is not necessary. It defaults to an empty string. That third parameter limits how many records get deleted.
  20. Please try: https://cubecart.zendesk.com/hc/en-gb/articles/360003831497-How-can-I-create-a-plugin-using-the-code-hooks-system
  21. The phrase "Please enter a value less than or equal to" is from the skin's jquery.validate.js vendor plugin. It's a message related to the quantity input form element that has a max attribute, which appears only if there is in the product's details specify a "Maximum Quantity Purchase" value, and that value is greater than or equal to the min attribute's value. However, in admin, the product details screens, Pricing tab, the "Maximum Quantity Purchase" says to 'Leave blank to disable'. And the database table CubeCart_inventory has a default value of null for the 'maximum_quantity' column. However, for me, at least, my database shows that column has a zero as the value - which is what shows on the Pricing tab. Blanking that field does cause that form element to POST as a zero-length string, but still ends up in the database as a zero, not a null. So, still researching the situation.
  22. Please provide a web address where we can see this.
  • Create New...