Jump to content

bsmither

Member
  • Posts

    18,014
  • Joined

  • Last visited

  • Days Won

    605

Posts posted by bsmither

  1. It seems SemperFi is no longer participating in the CubeCart universe.

    As coded, CubeCart has no provision to directly create new Email Contents templates. There is a provision to create a new Email Template.

    An Email Template can be considered as pre-printed stationary, while the Email Contents are pre-printed Boilerplate paragraphs of various fill in the blanks subject matter.

    Plugins can provide their own fill in boilerplate contents and collect the data for those blanks.

    I am looking into if the Import function can provide a means of getting incorporated new subject matter content - but there is no way short of code snippets and plugins to find and process the data to fill in the blanks.

     

  2. Actually having made a purchase?

    Or "seeming" able to buy because the option (or option combination) is presented to the customer?

    CubeCart is not coded to dynamically update the remaining options if one chosen option means certain combinations are out of stock.

    In admin, Store Settings, Stock tab, is "Allow out-of-stock purchases" enabled?

     

  3. On the product's Options tab, the table of options has an Options Matrix column. For each option (combination) you wish to track distinct stock levels, check the box.

    Then click Save & Reload.

    When the page comes back, there will be an Options Matrix table. Set your stock levels here (as well as other distinctive parameters).

     

  4. There is a CSS rule that is setting the max-height of the logo.

    .main-logo img {
      display: block;
      max-width: 100%;
      max-height: 60px;
    }

    I can't really determine where this rule is at, but it can be overruled by adding a style attribute to the <img> tag:

    <div class="col-xs-7 col-sm-3">
      <a href="{$ROOT_PATH}" class="main-logo">
        <img src="{$STORE_LOGO}" alt="{$CONFIG.store_name}" style="min-height: 120px;">
      </a>
    </div>

    Edit the main.php and main.checkout.php templates.

    • Like 1
  5. When I said "CubeCart sends a 302 Bounce back to the site", I mean that there is code in CubeCart that will tell the browser what to do after CubeCart has processed the data submitted by a form (the Add to Basket button).

    The browser is told to fetch the page at "cherrycreeksoaps.com/store/index.php".

    The image above shows an entry in Current Redirects, which that entry might be the cause of this issue. (I don't understand what this tool in your hosting control panel actually does.)

    I also have to wonder why the initial page request is working.

    That's what is (was) happening on your site.

    But I see now that something got fixed. It seems to be working.

    The Add to Basket is supposed to be an ajax POST, with only the HTML that draws the shopping basket contents box gets returned.

  6. Somewhere along the way, after the POSTed data has been dealt with (Add to Basket),  CubeCart sends a 302 Bounce back to the site.

    In your case, the Location: header  of the 302 Bounce response is specifying your web address without the www. part. (Doing so is called "Cross-Origin Resource Sharing" and is blocked by modern browsers by default.)

    So, please determine if there is any .htaccess file that may have a rewrite rule that rewrites a URL to strip off the www. prefix.

    What is the exact version of CubeCart you are running?

  7. No Store Overview tab on the Dashboard? Hmmm...

    Do you have in admin, a Maintenance link at the bottom of the left side navigation panel? In Maintenance, Upgrade tab, there will be a clue as to what the codebase should be. The codebase will most likely match the the date of the highest "CubeCart Version". Note, however, this "CubeCart Version" is the related schema version of the database and is not a direct reference to the version of the codebase being executed.

    In the file ini.inc.php, there will be a line of code that will indicate the version of this codebase.

     

  8. The timezone error is a known situation that is best solved by having your hosting provider load the MySQL Server with timezone data into a certain system table.

    I am just seeing the GET part of a page request. If this is a screenshot immediately after attempting to save some data, that suggests that the version of CubeCart in use is earlier than CC629 which will not show the POST component. Please let us know the exact version of CubeCart you are running.

     

     

  9. In admin, Store Settings, Advanced tab, enable the Debug mode and enter your workstation's IP address in the adjacent field (www.showmyip.com).

    Then, in the AIOS module, Save some changes.

    On the next page shown, at the bottom will be a grey section showing debug info. There will be two iterations: when data was processed from the POST, and when new data was collected to be shown on the next screen.

    Find the POST: list in the first iteration of debug data. There could be a complicated array, but what you are looking for is a 'token' element at the bottom of the POST: list.

    If it is not there, we need to find out why.

    If it is there, then compare it with SESSION:, '__system', 'token_acp'. (Mine isn't changing after every POST for some reason.)

     

  10. A CSRF warning will happen if the collection of key/value pairs in the POST (what gets sent back to CubeCart when you click Save) exceed the number of pairs allowed by PHP - thus cutting off the final key/value pair that contains CubeCart's security key.

    This module is known for having an elaborate array of shipping rates that could easily exceed 1000 key/value pairs when only a few dozen rate tables are created amongst a few shipping zones.

    The solution to this is to configure PHP to accept more key/value pairs in POST. However, there are several ways to do this and depending how your environment is setup, only some of the methods will work. So, you may need to get your hosting provider involved.

    What you want is PHP's config key max_input_vars to have a value of 5000 (currently, defaults to 1000). This setting is available in PHP.INI, and can also be made in .user.ini, and/or .htaccess depending how PHP interacts with the server (CGI/FastCGI or Apache mod).

    If you have cPanel as your hosting account's control panel, there may be this:

    Quote

    # To make changes to .htaccess, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
    # For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)

    Look for that panel.

  11. Please access your site's folders and files (FTP, Cpanel, etc). View the /modules/plugins/ folder, and download the problematic extension's folder to your workstation (if you don't already have a local copy). Then delete the folder containing the extension.

    It is a fact that a few of the extension authors require the use of ionCube for their extensions to function.

     

  12. Welcome jkevin! Glad to see you made it to the forums.

    Crosshatch is a nice skin! (I personally prefer Kurouto, but, hey...)

    Crosshatch was built for and shipped with CubeCart 5. The approach at that time was to make fixed-width skins, and rely on a separate skin designed specifically for mobile screens. (CubeCart has the necessary coding to detect and auto-switch to this Mobile skin.)

    Still, the CC5 skins "for the most part" work with CC629. Unfortunately, CC6 features will not get back-ported to these CC5 skins. (Google's reCaptcha is the most immediately obvious feature that misbehaves.)

    We can hope someone takes on the task.

     

  13. Do NOT use Windows' Notepad. It will add what is known as the Byte Order Mark (BOM) which will cause a problem.

    You may have a programmer's text editor available as a tool in your hosting control panel (Cpanel, for example).

     

  14. Please examine the Foundation skin template element.js_foot.php. There is a <script> tag as the last line.

    Find this part of that <script> tag:
    
    $('.bxslider').bxSlider({auto:true,captions:true});
    
    Change just that part to:
    
    $('.bxslider').bxSlider({auto:true,captions:true,pause:##1,speed:##2});

    So, ##1 is the delay in milliseconds (default 4000) between a transition. And ##2 is the time expended in milliseconds (default 500) in performing that slide transition.

    See more options at: https://bxslider.com/options/

×
×
  • Create New...