Jump to content

bsmither

Member
  • Posts

    18,033
  • Joined

  • Last visited

  • Days Won

    607

Posts posted by bsmither

  1. I answered this question just a few days ago. But I cannot find that conversation.

    In admin, Product Options, Add a new group using the type "Textbox (Single Line)". Give an appropriate description (optional - only the admin will see this) and a Name. Save.

    In admin, Products, bring a product up for editing.

    On the Options tab, Add New Option, select the name of the textbox from the drop-down. Here, you can also specify a price differential.

    CubeCart does not yet have the code to dynamically add/display follow-on options based on some other option or option combination.

     

    • Like 1
  2. I have no real experience with SpamAssassin, but I would consider Support's assertion as being likely.

    From what I found:
    Multiple instances of word[s] + hexadecimal hash

    And the actual regex that defines that, I suppose, depends on the version of Spam Assassin in use.

    So, one can try rephrasing the message such that the order number is at the end of the sentence with punctuation on either side:
    <p>The following order has been cancelled: {$DATA.cart_order_id}.</p>

     

  3. 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).

  4. 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.

  5. 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.

  6. 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).

  7. 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.

  8. 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.

  9. 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.

     

     

    • Thanks 1
  10. 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);

     

  11. 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.

  12. 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?

  13. 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 Carolina

    The 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.

     

  14. 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.

  15. 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.

  16. "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.)

     

×
×
  • Create New...