Jump to content

bsmither

Member
  • Posts

    17,989
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. "If I change the .htaccess file name, the website will complain that the php version is too low, and the website will not work." I have not seen CubeCart do this. So, please verify that the complaint message is from CubeCart.
  2. The 406 comes from the web server, not PHP nor CubeCart. Additional investigation could be provided by your hosting provider. The default skin as selected in Store Settings is noted in a group settings array. Access the database directly, and look in CubeCart_config table. Find the row where the 'name' is "config". From that row, note the "array" value. It will be a very long sequence of seemingly random letters and numbers. This is the result of an array being serialized, then base64 encoded. You will need a utility to decode the value. Some programmer's text editors can do this, and maybe phpMyAdmin (perhaps the utility you are using to directly access the database). After decoding, 'skin_folder' and 'skin_style' is what you will be looking for. In admin, the first page displayed is the Dashboard. On the Store Overview tab, let us know what version of PHP is being used. We strongly recommend PHP 8.1+.
  3. CubeCart has three parts to the version: 5 or 6: Major Family 0,1,2,4,5: Feature Set 0-10+: Minor Features, Bug Fixes So, "CubeCart 6.1" is missing a part of the version number. Do you mean CubeCart 6.5.1 - the latest release? Upgraded from some version of the CubeCart 5 family?
  4. The path of div blocks (an 'xpath') mentioned by Google is created and put in place under javascript control via the jQuery 'Rating' plugin. Which is to say, you won't find these div's in the Foundation templates. If you can live without reviews, in admin, Store Settings, Features tab, disable "Product Reviews".
  5. Short answer, no. We very much recommend CC651 when running PHP8.1+.
  6. The "Off Canvas" is a feature of the Foundation skin, programmed by Zurb (not CubeCart's programmers). https://get.foundation/sites/docs-v5/components/offcanvas.html As such, I suppose one can experiment with using a different tag - instead of an <a> tag - but I do not know what that could be. Of course, I do not know why Zurb chose to use an <a> tag to effect a "click" event. (There is a disclaimer about Off Canvas vs. Accessibility on the above page.) Maybe one can add a title attribute to this particular link -- I do not know. (Line 104 in the template main.php and 73 in main.checkout.php.)
  7. The Foundation template file main.checkout.php, near line 38, there is: Note: Line split for readability: <div class="right text-center show-for-small"> <a class="left-off-canvas-toggle button trans tiny" href="#"> <svg class="icon icon-x2"><use xlink:href="#icon-bars"></use></svg> </a> </div> This shows only the 'hamburger bars' (a "menu" icon), but offers no discernable text or label for accessibility (screen readers).
  8. I used the guidelines at: https://dequeuniversity.com/rules/axe/4.4/button-name https://dequeuniversity.com/rules/axe/4.4/label to suggest changes in the issue I posted in the Github: https://github.com/cubecart/v6/issues/3312 "Cubecart automatically switches to the special mode for mobile device." If you mean the Category page that shows product panels in a grid, then it is javascript that shows/hides each of two separate sections: product_list_view and product_grid_view. If it is the grid view being shown, the javascript tests if the screen is at medium width or wider, and if so will add a CSS class to the list to make a three-across grid. If not at medium width or wider, the existing one-across grid stays in force. The 'path' elements are "breadcrumbs". Search through foundation.css to find everything related to breadcrumbs. You should overrule those CSS rules by adding your custom rules in cubecart.default.css, including its color. The 'path' is the sequence of Home through the category hierarchy to the name of the product. Constructing this chain is enabled by addBreadcrumb() in the GUI class file. Here, data is collected into an array. The data comes from everywhere - related to what is being shown. Finally, the displayCommon() function in the GUI class file gives the array to the template rendering engine (Smarty).
  9. I have identified six files that could be tweaked based on your comments above regarding labels and accessible names. I will post an issue in the Github.
  10. Personally, I do not like the More... function for seeing more products - although major web sites do this (Google, automatically, for one). One cannot back away from showing page 2 (appended to page 1) once the browser has shown it. That is, viewing another page, then returning to this page, will continue to show page 1 and page 2. It is controlled by a cookie that lasts 10 minutes. I don't know of a way, currently, to get around this.
  11. The "Shop by Category" phrase is strange. I am not sure where in Foundation that is used. But the Review Stars is controlled by the jQuery plugin found at Foundation's /js/vendor/jquery.rating.min.js file. There is no attribution, but it appears to be this one: https://github.com/fyneworks/star-rating This plugin is implemented in the Foundation template element.product_reviews.php, starting near line 70.
  12. Again, knowing the ins and outs of these metrics is above my pay grade. Foundation is CSS controlled to perform as a 'responsive' skin from the mobile-first philosophy. That is to say, what Foundation is optimized for a mobile viewport, then adjustments, via CSS, are made to accommodate wider viewports.
  13. In Foundation's /templates/ folder, open the file element.css.php for editing in a programmer's text editor. Delete the first line: <link href="//fonts.googleapis.com/css?family=Open+Sans:400,700" rel="stylesheet" type='text/css'>
  14. Just remove the line. (But be aware that an upgrade will replace the edited file. CubeCart upgrades are 'whole-cloth'.)
  15. Not directly, however, please examine the .htaccess file in CubeCart's main folder. If there exists the following lines: ##### START CubeCart .htaccess ##### ### GZIP Compression ### <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript </ifmodule> then these directives will compress text-type content of all content - not just the product page.. See: https://en.wikipedia.org/wiki/Mod_deflate (Your hosting provider may have already configured the web server to automatically do this.)
  16. The "Make Payment" feature is not yet perfect. It's being worked on. The confusion, if I have this right, is that the customer is still logged in, and/or has stuff in their shopping basket already (saved to the database). If the customer, having logged in, finds themselves with stuff already in their shopping basket, the basket must be emptied, then when the customer clicks Make Payment, the checkout cart contents should show the updated inventory and other particulars.
  17. 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.
  18. According to: https://developers.google.com/speed/docs/insights/v5/about Google constructs a mobile environment by simulating the performance characteristics of a Motorola G4 (maybe using the data plan and not using Wi-Fi?). The desktop environment is a simulated tower box on ethernet. So, from your observations, are you using the same device to make your comparisons? I used Firefox's "Responsive Design Mode" which does not simulate a "mobile network". Please know that CrUX, PSI, FCP, FID, LCP, etc are above my pay-grade.
  19. I see the Foundation skin. Foundation uses CSS to alter its layout based on the width of the viewport the browser gives to CSS. So essentially, the site will respond with everything to show the page whether it be 'desktop' width (large) or 'mobile' width (small). If, by 'performance', you mean the time elapsed at which the site delivers the page (and its resources) to the browser, its all good for me. If that is not what you mean, please mention what we should be looking for.
  20. Please try this: In the Card_Capture module, gateway.class.php, at line 138, find THIS PART: = implode(' ',unserialize($item['product_options'])); Change THIS PART to: = implode(' ',unserialize($item['product_options']) ?: array()); PHP 8.1 is much more picky about what is required vs. what is given. If $item['product_options'] cannot be unserialized, a false is returned, which cannot be used with implode(). The added code will determine if unserialize() returns false, and if so, will give an empty array to implode(). I have not tested this.
  21. When the function call is made to add a tab, there is a parameter one can use to place it relative to other tabs. The thing is, the standard tabs show up in context, in the order the function is called. For example, in products.index.inc.php: Near lines 666-667: $GLOBALS['main']->addTabControl($lang['common']['general'], 'general'); $GLOBALS['main']->addTabControl($lang['common']['description'], 'description'); These two tabs will show only when adding/editing a product, and in this order. Thus we can assume the array element order index (the 'key' to an array) will be 0 to start and gets assigned to 'general'. Next, the index will be 1 and gets assigned to 'description'. The function call has these parameters: $name, $target = '', // the ID of the <div> with the content $url = null, $accesskey = null, $notify_count = false, $a_target = '_self', $priority = null, $onclick = '' So, $GLOBALS['main']->addTabControl("Venue Info", 'venue', null,null,false,'_self',1,''); The function will check if there is a tab already at priority=1, and if there is, add 0.01 to the priority passed in. Thus, when the array of tabs are ready for the template, a sorted array will put 'venue' (=1.01) after 'description' (=1). Not specifying a priority has the effect of placing the tab 'in sequence', that is, after those tabs already added via the function call sans priority, but before any other tabs added via the function call sans priority. So, the sequence depends on when the hook got played. Unless, as explained above, a priority value (greater than zero) is passed in.
  22. To have the module show us certain details about the rate request, please enable CubeCart's internal Debug Mode (admin, Store Settings, Advanced tab, enable debug mode and enter your local IP address in the next field (www.showmyip.com). Then, make this small edit: In the FedEx module, shipping.class.php, near line 229-230, find: $response = $this->_client->getRates($request); //findReasons($this->_client); Change to: $response = $this->_client->getRates($request); findReasons($this->_client); When the FedEx module makes a rate request, the actual request and response will be shown in the debug popup window, near the bottom. (You might need to allow your browser to show popups. If so, you may need to close that popup and have the browser reload the checkout page.)
  23. The FedEx module works. "the US set as the only country" If by that you mean the US was entered in the module's "Allowed Zones" tab, then please know that the module will not even be used if CubeCart determines the order's billing (or delivery) address is not one of the countries listed on this tab. So, for you to say that "it" gave a message (about an International order, but regardless), then the order's address must be have been in the US. But just for an experiment, remove the countries from the "Allowed Zones" tab. Have CubeCart clear its internal cache.
  24. It's a bug. In /classes/catalogue.class.php: Near lines 1847, 1850, 2009, 2044, and 2105 The statement (in part) makes a call to: ... searchCatalogue($original_search_data, 1, ... Replace the 1 with $page
  25. Unfortunately, no. That is because we are using a file named cubecart.default.css -- the 'default' part of the name is important. CubeCart skins provide for sub-themes: typically based on a color palette. But they can also be based on whatever else is needed. Please examine Foundation's config.xml file. Each <style> node describes a sub-theme, with 'default' being the only sub-theme present. (There is also the 'red' sub-theme provided as an example. Thus, there would also be a cubecart.red.css file in the /css/ folder.) When CubeCart gets upgraded, all stock files are overwritten. That would include the skin's config.xml file (should you have added a sub-theme), but not the new cubecart.red.css file, nor any sub-theme specific images. But by using CubeCart's 'hooks' system, we can take a particular approach to solve persistent sub-themes.
×
×
  • Create New...