Jump to content

bsmither

Member
  • Posts

    18,012
  • Joined

  • Last visited

  • Days Won

    605

Posts posted by bsmither

  1. Please know that 99.99% of these errors are caused by a combination of a particular school of programming style and PHP8.1 -- and are harmless.

    Everything that mentions "Undefined variable", "Undefined array key", and a few others can be ignored.

    You might hit one or two situations that would cause some apparent weirdness, but nothing catastrophic.

     

  2. In admin, near the bottom of the left-pane navigation, click 'Redirects'.

    Here, you will be able to add obsolete URLs to point to the new URL. CubeCart will tell the browser there is a 301 Redirect.

    For example, "wormhole-generator.html" redirects to "wormhole-generator" (knowing that, now, CubeCart manages the inclusion of ".html" internally).

    Hopefully, you have a list (from a database backup?) from the table CubeCart_seo_urls of the obsolete URLs.

     

  3. Asking the web server to show the contents of a folder as a list requires the web server to populate a "directory list" template.

    A default template is part of the web server internals, and some web servers have an external module available that adds just a bit more layout and styling.

    Please review the hits from this internet search:

    https://duckduckgo.com/?q=web+server+index+listing+styling&ia=web

    CubeCart has no role in gathering, formatting, styling, and displaying contents of a folder to a customer. (In admin, of course, you need a list of images, digital downloads, backup files, etc, but what is shown to the admin is not a direct listing.)

  4. The CubeCart programmers decided that 38 characters would be the limit (40, if you counted the '...' added at the end) for the product name when being displayed in a "panel". A panel is what you get in a "grid view" of three by however many rows is needed. (This is opposed to the "list view" of wide blocks in a single column, where there is plenty of room for a long title.)

    In the template content.category.php, near line 143, begins a <div> block having the class "product_grid_view". A few lines later is an <h3> heading tag holding the $product.name , but with a modifier to truncate the phrase to 38 characters, plus the ellipsis.

    You can customize the skin template by changing that value, but realize that a customized template will get overwritten on the next upgrade.

    Also realize that the "panel" is only so wide. But it will get to be as tall as needed.

     

  5. For download? That is, download - not viewing within a web page - but perhaps still using a web browser?

    If actually fetching an image by a web browser, it will be the browser's responsibility to scale the image to fit the screen.

    Same for a plain text file - which has no styling.

    If the files are PDF's, then that text has already been styled and laid out, where the browser, with its internal PDF viewer, has only the option to zoom in/out but likely cannot reflow the text to fit the screen.

    So, what is the nature of the files?

     

     

  6. You would make a timestamp value using PHP's time() function.

    You would use the timestamp value as an argument in PHP's date() function to display a human-readable result.

    And, yes, the 'live-from' column is a product's date that, until up to that time, the product is not revealed to the customer.

  7. "when I go to the website and [hover the mouse over] the links, they all show up without the .html"

    That's how it's supposed to work.

    But you say none of them work. In what way do they not work?

    That fact that you have to add the .html extension to the web address in the browser in order for the web server to pass the rewritten URL to Cubecart suggests that the rewrite directive in the .htaccess file is not correct.

    The directive I posted above must be exactly as it is in the .htaccess file, and there must be no other directive in that .htaccess file mentioning 'seo_path'.

     

  8. Please examine carefully this directive in the .htaccess file:

      RewriteRule ^(.*)?$ index.php?seo_path=$1 [L,QSA]
    
    It is just right above:
    
    </IfModule>

    This directive does not have .html as part of it.

    Please examine the database table Cubecart_seo_urls. If the values in the 'path' column have .html as a suffix, that suffix must be removed.

    The easiest way to do that is in admin, Maintenance, Rebuild tab, the "Clear all custom defined SEO URL's" and "Clear all auto generated SEO URL's" checkboxes to be checked, then click Submit.

  9. Download the CC651 package to your workstation. Unzip.

    FTP the files and folders (and their contents) to your site.

    Run /setup/index.php, choosing to upgrade (NOT a fresh install).

    Are you running PHP8.1?

  10. Here are the complete, relevant directives in .htaccess:

    ### Rewrite rules for SEO functionality ###
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase / 
      
      ##### START v4 SEO URL BACKWARD COMPATIBILITY #####
      RewriteCond %{QUERY_STRING} (.*)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule cat_([0-9]+)(\.[a-z]{3,4})?(.*)$ index.php?_a=category&cat_id=$1&%1 [NC]
    
      RewriteCond %{QUERY_STRING} (.*)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule prod_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=product&product_id=$1&%1 [NC]
    
      RewriteCond %{QUERY_STRING} (.*)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule info_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=document&doc_id=$1&%1 [NC]
    
      RewriteCond %{QUERY_STRING} (.*)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule tell_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=product&product_id=$1&%1 [NC]
    
      RewriteCond %{QUERY_STRING} (.*)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule _saleItems(\.[a-z]+)?(\?.*)?$ index.php?_a=saleitems&%1 [NC,L]
      ##### END v4 SEO URL BACKWARD COMPATIBILITY #####
    
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !=/favicon.ico
      RewriteRule ^(.*)?$ index.php?seo_path=$1 [L,QSA]
    </IfModule>
    
    ### Default store 404 page ###
    ErrorDocument 404 /index.php
    
    ## Override default 404 error document for missing page resources ##
    <FilesMatch "\.(gif|jpe?g|png|ico|css|js|svg)$">
      ErrorDocument 404 "<html></html>
    </FilesMatch>
    ##### END CubeCart .htaccess #####

    You say you had to add the previously mentioned four lines. Now I have to ask that you verify that all the above lines are present.

    If there is still the hard 404 direct from the web server ( as opposed to CubeCart showing a Kurouto page with a 404 advisory), then please investigate if the web server is recognizing the mod_rewrite module.

    I would have to say it is, because otherwise, /switching-power-supply.html would not work at all.

     

     

  11. But now I see that using, for example:

    https://volteq.com/plating-rectifiers

    results in a hard 404.

    That suggests that the web server has incorrect or missing rewrite URL directives.

    Traffic analysis says you are using the Apache web server. So, make sure the directives in the .htaccess file in CubeCart's root folder include the following:

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !=/favicon.ico
      RewriteRule ^(.*)?$ index.php?seo_path=$1 [L,QSA]

     

  12. In admin, Store Settings, Search Engines tab, "SEO URL Extensions", verify that the setting chosen is .html.

    The Shop By Category is constructed and cached. If, CubeCart's settings then say to not use any document suffix (that is:

    https://volteq.com/custom-rectifiers

    without the .html suffix), CubeCart will not find that category. The solution is to either:

    1. Have CubeCart clear its internal cache, causing CubeCart to rebuild the Shop By Category listing using the current SEO suffix, or

    2. Configure CubeCart to expect to see, and furthermore use, an .html suffix.

     

  13. CubeCart does auto-detect a visitor's "User-Agent String", and if that string satisfies a regular expression (used to find key sequences that indicate a mobile device), then CubeCart will automatically use the designated Mobile skin.

    From visiting your site, having my browser in "Responsive Design Mode" using a User-Agent String of:

    Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-G973U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.2 Chrome/87.0.4280.141 Mobile Safari/537.36

    everything is working as expected.

  14. Hopefully, your hosting provider's technical support can determine why the SSL Certificate mismatch is happening.

    The message comes from the file /classes/ajax.class.php, near line 449:

    return "
    <div class=\"mail_modal\">
      <h3>Testing ".$method_name."</h3>
      <p>It isn't possible  to get a definitive test result for the &quot;PHP mail() Function&quot; method.</p>
      <p>We have attempted to send a test email to &quot;".$GLOBALS['RAW']['POST']['email_address']."&quot;
        with the subject of &quot;".$subject."&quot; Please note that it can take ten minutes or even longer for
        a busy mail server to deliver email. Don't forget to check your spam folder!</p>
      <p>This method can fail if the server hasn't been configured properly and may refuse to send mail from
        &quot;untrusted&quot; sources such as Hotmail, Yahoo, AOL etc&hellip;. We recommend using an email
        address from a domain hosted on this server such as sales@".parse_url(CC_STORE_URL, PHP_URL_HOST)."
        for example and this may need to be setup form within your web hosting account.</p>
    </div>
    ";

    The test result message uses the website's FQDN (which is held in the constant CC_STORE_URL) as part of the example email address. (It's a bit misleading, for sure.)

    Did you say you have other apps that use GMail's server's?

    Hopefully, your host allows for the use of external SMTP servers.

    This conversation may of interest:

    https://forums.cubecart.com/topic/57861-paid-help-required-please-gmail-setup/

     

  15. Even though CC651 says it will run under PHP7.1+ (that statement is a bug), we very much recommend running PHP7.4, and highly recommend PHP8.1.

    That "unexpected =" error is from the new (as of PHP7.4) 'null coalescing assignment' operator.

    https://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.core.null-coalescing-assignment-operator

     

    • Thanks 1
×
×
  • Create New...