bsmither
-
Posts
18,178 -
Joined
-
Last visited
-
Days Won
611
Posts posted by bsmither
-
-
That's how I see it. The code sends info to the skins. The skins do not control the code.
Well, obviously the data entered in forms will go back to the code for processing, but there is no new code that demands user action or info through the links or the forms that would otherwise have been presented to you - being detrimental to the operation of CubeCart if it wasn't performed or provided.
But as an example of something necessary: the security token. This token is given to the skin where it is included next to the submit button in forms. If the skin does not have the Smarty variable for the token in a hidden form element, it will not be in the POST payload and CubeCart will refuse to accept that payload.
So, for CC650 to present, in my opinion, not implementing skin changes for the new features is not a problem.
-
Please view:
https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/
When you get the blank screen, visit your Plesk control center and view the error log. It may contain the exact error causing the blank screen.
-
In my opinion, implementing new features for CC652 and CC654 admin skin and storefront skin can be delayed without causing errors.
-
This will need to be corrected by the hosting account tech support people.
(Actually, I do not know if 'open_basedir' directives can or cannot be managed via the Plesk control panel.)
And PHP docs say this can be managed by using ini_set() in a script. But I do not know what would need to be changed.
-
1. What logo is this? The new images at the bottom of the admin pages (the ccpower.php template) is a link to an included GPLV3 logo (SVG filetype) and a link to an external image for the "Buy Me a Coffee" pleading.
The SVG is large but is constrained by CSS rules. Look in the stock layout.css file near line 1147:
div#content .powered ul li img { height: 30px !important; }
You may need to copy over all of the .powered set of CSS rules.
2. Allow me to review "new features" (as opposed to layout tweeks), but as compared to what prior version?
3. Same as 2 basically.
4. As best I know, the difference between UTF8 and UTF8MB4 is to cover more foreign character sets, including an expanded set of emoticons. I would say that if you do not expect to compose textual details using exotic characters, I would say you can leave this as is.
5. Previously, the product's Description was used as-is. Now, the product Description can include Smarty code. However, using Smarty code adds a restriction on how the composition uses braces ({ }). So, parsing the content needs to be a choice (fortunately, on a per-item basis).
-
Is there anything in the Request Log's 'Request Headers' and 'Request Body' lines? If so, 'X'-out anything personal and post the contents.
In my experience (but not with anything related to PayPal), a Bad Request is a "catch-all" when a data item in the Request is "out-of-spec". That is, for example, maybe the price is expected to have two digits after the decimal point, but there is only one (or three, etc).
Examining the Request payload might show what is "bad" about it.
-
Composer?
Please let us know where Composer is getting involved.
The CubeCart internals suggest that PHP 7.4 is the lowest that CC655 will operate under. (PHP 8.2 is 'highly recommended'.)
-
For the Amzin skin, find the template element.css.php and view the code. Please note that the last lines of code will cause the final HTML sent to the browser to have a reference to the CSS file having specific sub-style styling. The sub-styles are 'default' and three others.
The 'default' file (cubecart.default.css) has nothing in it. The body rule will need to be added. For each of the sub-style CSS files, the first CSS rule is for the body tag. For this rule, one can make this change:
body{ color:#525252; } To: body{ color:#525252; background-image: url("/path/to/image.jpg"); }
For each of the sub-styles, a different image can be used for the background.
-
These {$var} entities are for Smarty, the template rendering engine, and are evaluated before the finished HTML is sent out of the web server.
Using the More button causes javascript (at the browser) to request, receive, and use only a specific portion of the next page, which gets appended to the end of the scrollable products area. This specific portion of the incoming HTML may have the page number somewhere in it, but it will not be tied to {$page}. That is, having added {$page} to a different template, or a new place in the content template, when Smarty replaces it with a actual number (at the server), that new number won't show if it is outside of the portion of the finished HTML that the javascript uses.
- 1
-
Here is the code snippet:
In admin, Manage Hooks, Code Snippets tab, click the Add Snippet link. A form will appear at the bottom of the list of snippets. Fill it out as follows:
Enabled: checked
Unique ID: upperdeladdr@cc640+
Execution Order: 99
Description: Uppercases the Delivery Address sent to Smarty
Trigger: admin.order.index.display
Version: 1.0
Author: forums.cubecart.com/topic/59118-how-to-make-delivery-addresses-all-caps/Note that at the first line in the PHP Code, I use the names of the first two characters to type. Type the actual characters, no spaces, for that line. (These forums have a security feature that often blocks submissions that look like executable code.)
less-than question-mark php $uda_array = array('title_d','name_d','first_name_d','last_name_d','company_name_d','line1_d','line2_d','town_d','state_d','country_d'); $uda_overview_summary = $GLOBALS['smarty']->getTemplateVars('OVERVIEW_SUMMARY'); foreach($uda_array as $uda_field) $uda_overview_summary[$uda_field] = strtoupper($uda_overview_summary[$uda_field]); $GLOBALS['smarty']->assign('OVERVIEW_SUMMARY', $uda_overview_summary);
-
A quick edit to this admin skin template file should work -- until CubeCart gets updated.
In the admin skin template file orders.index.php, find: <legend>{$LANG.address.delivery_address}</legend> {$OVERVIEW_SUMMARY.name_d}<br> {if !empty($OVERVIEW_SUMMARY.company_name_d)}{$OVERVIEW_SUMMARY.company_name_d}<br>{/if} <span class="capitalize">{$OVERVIEW_SUMMARY.line1_d}<br> {if !empty($OVERVIEW_SUMMARY.line2_d)}{$OVERVIEW_SUMMARY.line2_d}<br>{/if}</span> Change to: <legend>{$LANG.address.delivery_address}</legend> <span class="uppercase">{$OVERVIEW_SUMMARY.name_d}</span><br> {if !empty($OVERVIEW_SUMMARY.company_name_d)}<span class="uppercase">{$OVERVIEW_SUMMARY.company_name_d}</span><br>{/if} <span class="uppercase">{$OVERVIEW_SUMMARY.line1_d}<br> {if !empty($OVERVIEW_SUMMARY.line2_d)}{$OVERVIEW_SUMMARY.line2_d}<br>{/if}</span>
Soon, I will write a code snippet that will do this in a manner that will survive an upgrade.
-
This would be the printed shipping receipt? Or would you be using a third-party solution that prints your shipping labels?
-
In CubeCart6.1.9, the number of decimal places for the weight detail in the internal basket array, and the database details of the product, the option, the AIOS shipping rates, and the order summary was increased from 3 to 4.
And there is nothing about the CBurst skin that would affect the number of decimal places to show.
This should get you down to tenths of grams. (Add/Edit Product, Product Weight, the value entered here should be in kg or lb depending on the store's default weight unit.)
"All my products use the full 3 decimal places...shows only 2 decimal places"
Please enable debugging which will show what the individual product weights and basket total weights actually are.
In admin, Store Settings, Advanced tab, "Enable Debugging" is 'Enabled'. In the next field, enter your IP address (www.showmyip.com). Save and have CubeCart clear its internal cache.
View the storefront. Below the page contents (or might be a popup depending on the version of CubeCart in use) will be a section called SESSION:. The 'product_weight' is not formatted, but 'weight' should be.
How many decimal places are shown?
-
That should be it. Just that one rule.
-
It seems you are trying to add a new tax rule that has these same details as an existing tax rule.
Tax Class: (probably) Standard Rate
Tax Detail: (something entered on the Tax Details tab)
Country: United States
State: North CarolinaThe table INDEX named 'tax_id' covers these actual table columns in CubeCart_tax_rates: 'type_id', 'details_id', 'country_id', and 'county_id' - which this combination of values must be unique.
If you are actually NOT trying to add new rules when this error gets logged, then something may be wrong with the code.
-
This feature is standard. The list of found products is sent to the skin template and is displayed during 'View Basket' and 'Checkout' (Foundation has the code to display it, other skins might not).
When preparing for the display of the 'View Basket' and 'Checkout' pages, CubeCart examines the shopping cart's current contents. Then, a database query is made to fetch up to the 30 most recent previous orders that sold any of these products. From that list, up to five are selected to be displayed.
-
The "Customers who bought this also bought…" feature is standard in CubeCart6.
There are live help and affiliate trackers in the Marketplace (I do not know how they work).
ProProfs Chat look interesting.
-
I posted a Feature Request in the Github for this.
There is already the feature to include the chosen language in the customer record.
https://github.com/cubecart/v6/issues/1519
-
"and almost from the start with the e-sharp skin"
That thought did come to mind. Why did it take so long for someone to let you know?
(However, there are those I know that simply give up, and sometimes take it personally(!?), when a web page becomes too difficult to read or too onerous to fill out forms.)
-
Apparently, I did solve this. See:
https://forums.cubecart.com/topic/53447-e-sharp-by-webcity/
-
I am looking at one of my development sites using e-Sharp (Blue) and am disappointed in the "Hover over image to zoom" function. In some cases (as when there are no secondary images to show on a horizontal area below the main image), it is impossible to select an option because the 'zoom' trigger area, called the 'dio-sensor' (triggering the view port, called the 'dio-lens', where that view port is often seen as a blank white box having roughly the same dimensions as the main image) extends over the top-most option selector.
The image you've supplied suggests that the left-most edge of this trigger area extends to just a few pixels to the right of the right-most edge of the Buy button.
Further experiments show that the displayed size of the font affects where the trigger area sits. For my browser, with the text zoom factor at 110%, the trigger area is not nearly as intrusive. But at 90%, the trigger area is very intrusive.
I know very little about the WebCity skins. I am confident, however, that this problem is restricted to the skin. Meaning, it is not a new problem because of having upgraded to CC652, or PHP8, or the database server.
-
Specifically, for the default currency, try this:
$code = $GLOBALS['config']->get('config', 'default_currency'); $result = $GLOBALS['db']->select('CubeCart_currency', '*', array('code' => $code) $default_currency_symbol_left = $result[0]['symbol_left']; $default_currency_symbol_right = $result[0]['symbol_right'];
-
Please let us know where the pagination fails: "More" or [1][2]-style in search results and category listings, somewhere in admin, ???.
This report in the Github may be of interest:
https://github.com/cubecart/v6/issues/3273
-
As mentioned earlier, following is a code snippet that will strip out the HTML statement that is the link to the Google APIs to fetch the font.
In admin, Manage Hooks, Code Snippets tab, click the Add Snippet link.
On the page that follows, enter the following in the form:
Enabled: checked Unique ID: deleteGoogleFontsLink@cc600+ Execution Order: 99 Description: Removes Google Fonts link just prior to delivering the compiled template code. Trigger: controller.index Version: 1.0 Author: https://forums.cubecart.com/topic/59060-any-guidance/ PHP Code:
Argh! I tried to use the code edit window to enter the Code Snippet code, but Cloudflare is blocking me!
So, until @Al Brookbanks gives advice on how to contribute PHP code, this will have to wait.
PHP 8.2 Module Blank screen
in Install & Upgrade Support
Posted · Edited by bsmither
The "cannot be decoded" message is authentic. The version of the ionCube loader needs to be compatible with the version of PHP, and the encoded script needs to have been encoded using that same version. So, the publisher of the extension needs to do their thing.
The "session_start" issue is when PHP wants to also do some garbage collection when starting a session. But PHP (or whatever user:group PHP runs under) is not recognized as an authorized user to delete some session files. (But can PHP write new session files???) This should be a problem the tech support people can fix.
The session issue is a "Notice" which means that CubeCart won't stop working. Being able to do garbage collecting is important, as the number of stale session files could increase into the millions (on a very busy site) and cause problems for the operating system's file management system as a whole (running out of 'nodes' or something like that).