Jump to content

bsmither

Member
  • Posts

    17,974
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. In admin, make sure you have more than one language installed and enabled. Then, list the documents. Note the table's right-most column: there is a green circle with a white plus in it. This allows you to create a "child-document" that is a different language. You are actually creating a new document, but this new document has a "parent". When the customer clicks a link to a document, CubeCart checks to see if the language being used is not the store's default, and if it isn't, checks to see if there is a child-document in the foreign language. If so, that child-document will be shown.
  2. Please give us a URL that you know should cause Guardian to handle the 404 but isn't.
  3. If the URL matches CubeCart's friendly seo-path format (basically anything ending in .html), the URL rewrite code in the .htaccess file will do its thing and send the resulting rewritten URL to CubeCart. CubeCart, then, will not find what you are experimenting with and will execute its internal 404 response code. There may be little to no way Guardian can determine if the seo friendly URL actually points to a product, document, or category. I do not how a PHP script can inform the web server to execute a separate auxiliary program to custom handle a 404 situation.
  4. You can move the language to en-US, and clear CubeCart's cache.
  5. The 'Please ship to:' hard phrase isn't in the email, so I think the edited mask didn't take. You can try to edit the definitions.xml file in /languages/, or make sure you chose the correct language to make changes to in admin. Either way, see if clearing CubeCart's cache (admin, Maintenance, Rebuild tab, Clear Cache) will have CubeCart reload the language file.
  6. If the skin is Foundation, then the javascript code controls the initial (default) view. Other skins may or may not use the same approach. https://forums.cubecart.com/topic/51108-resolved-grid-view-only-disable-list-view-on-categories/ https://forums.cubecart.com/topic/49704-how-to-make-category-grid-view-as-default/ See the above conversations for ideas. (Even if I have a copy of Galaxy X, I can't access it right now.)
  7. This statement and the others like it may not be necessary: $mailer->Shiptoname = strip_tags($_POST['contact']['shipto_name']); You are attempting to assign values to keys in the Mailer (technically, the Mailer's "class properties"). The Mailer class may not be set up to handle this. And I doubt the Mailer class cares about anything not directly related to sending an email (From, To, Subject, and Body). In the file cubecart.class.php: Near line 1422 (for CC618), find: $mailer->Body = sprintf($GLOBALS['language']->contact['email_content'], $_POST['contact']['name'], $_POST['contact']['email'], $department, html_entity_decode(strip_tags($_POST['contact']['enquiry']),ENT_QUOTES)); Broken into its parts: $mailer->Body = sprintf( $GLOBALS['language']->contact['email_content'], $_POST['contact']['name'], $_POST['contact']['email'], $department, html_entity_decode(strip_tags($_POST['contact']['enquiry']),ENT_QUOTES) ); The first item in the list is the 'mask', followed by values to fill 'slots'. The language file has this for the 'contact' group, 'email_content' string: %s <%s> wrote to %s: --------------- %s --------------- This email is sent from the stores master email address but it is possible to reply directly to the sender using the reply button on your email software. Note how the %s slots line up with the values in the list to fill those slots. In the Contact Us case, to add your custom form elements to the email sent to you, you will need to add more %s slots, and then add the form elements to fill those slots. Let's try this: $mailer->Body = sprintf( $GLOBALS['language']->contact['email_content'] ,$_POST['contact']['name'] ,$_POST['contact']['email'] ,$department ,html_entity_decode(strip_tags($_POST['contact']['enquiry']),ENT_QUOTES) ,strip_tags($_POST['contact']['shipto_name']) ,$_POST['contact']['shipto_address1'] ,$_POST['contact']['shipto_address2'] ,$_POST['contact']['shipto_town'] ,$_POST['contact']['shipto_state'] ,$_POST['contact']['shipto_country'] ,$_POST['contact']['shipto_postalcode'] ,$_POST['contact']['shipto_other'] ); The first item in the list is the 'mask', followed by eight new values to fill eight new 'slots'. The mask (language file 'contact' group, 'email_content' string) will have these eight new slots: %s <%s> wrote to %s: --------------- %s Please ship to: %s %s %s %s %s %s %s %s --------------- This email is sent from the stores master email address but it is possible to reply directly to the sender using the reply button on your email software. (There used to be an issue with angles in the language editor - the angles and internal contents were seen as tags and were stripped out when submitting changes. I think that has been sorted. But watch for misalignment between slot contents and slot positions.)
  8. If the line number reported has a problem, then a means of determining where in the line this happens can be done this way: Split the line. PHP does not generally care about whitespace: Change: $mailer->Shiptoname = strip_tags($_POST['contact']['shipto_name']); To: $mailer->Shiptoname = strip_tags( $_POST['contact']['shipto_name'] ); Then check for an error that may have been logged. Having split the line into several can let PHP identify the line that has the actual problem.
  9. I see nothing wrong with that statement. So, I would like to see the three statements just before it. Oh, I see them in the top post. I see nothing wrong with them either.
  10. Mostly for CC5/6, when the Add to Basket is clicked, some javascript is invoked. The javascript cancels the form submission and makes an AJAX call with the relevant info. CubeCart has code that, if the info is according to a specific syntax, will generate a new chunk of HTML that is ONLY of the shopping basket box. The AJAX call receives this code and replaces the existing chunk of shopping basket HTML code. What can go wrong? If the info is not correct, then either nothing will happen, or CubeCart will decide to send the entire storefront page. The AJAX call will take whatever it gets and paste it in place of the current shopping basket box. This results in either a new shopping basket box or a complete page within a complete page. Also, overly agressive URL Rewrite in the .htaccess file may be interfering. We would need to see what exactly the browser is sending to CubeCart, and then, determine how CubeCart is responding to that info.
  11. The error says that the "method" named 'display' effectively does not exist. So, using a programmer's text editor, please view the file /classes/gui.class.php and near line 325 (for CC618), make sure there is this statement: public function display($file) {
  12. This is probably the standard error page your hosting provider gives when the web server is told by PHP that a PHP script has crashed. When moving to a new environment, several components may be missing. Specifically, in this case, the likely culprit is that the hosting environment requires the Zip Library be enabled for PHP. Please contact your hosting provider to have them enable it, or to get instructions on how you can enable it via the hosting control panel, PHP components.
  13. I am not sure as I have not fully explored the "Affiliates" modules. I don't know if these modules make you the affiliate to an umbrella third-party or if they make a product's producer the affiliate under you as the umbrella. I'm leaning towards the former. If just making an indication to the customer is all that you need, a solution would be easy enough. But if you wanted segregated order fulfillment, there may be a module for that. And if you need automated bookkeeping, I am not aware of a solution for that.
  14. Unless something has changed between CC615 and the latest version, CubeCart allows only one coupon to be used (not restricting Gift Cert codes).
  15. " where is the content of that newsletter " It is in the database table CubeCart_newsletter. The list of status 'enabled' newsletters will be listed on the customer's Account, Newsletters page. Each item in that list is a link back to CubeCart with ?_a=newsletter&newsletter_id=xx I do not yet know if the SEO class gets involved by creating a friendly URL. When coming to CubeCart with this link, the function at CubeCart->_newsletter() is invoked. Here, the specific contents of that newsletter is given to the skin template content.newsletter.php and is displayed like any other CubeCart content page (a content page such as a document or category). As of (I think) when CC included the latest version of CKEditor, it now does not display email/newsletter (outer) templates correctly (as opposed to email content templates) and will save them corrupted. I think I found out why, and I thought I created an issue in the Github, but I can't find it right now.
  16. Just a very few versions ago, CubeCart no longer allows one to enter admin using the URL: www.example.com/admin/index.php The index.php at the end is understood to be the default document that the web server will send when told to look in the /admin/ folder. Currently, the only way to enter admin is: www.example.com/admin_xxYYzz.php where xxYYzz are random characters, if present. You will need to look at the site's folders to learn what the actual name is. This was done for security considerations - to make it very much harder for unauthorized individuals from attempting brute-force access.
  17. There is no list. CubeCart assumes a visitor is a 'bot' if the session start time is the same as the session latest time.
  18. If you have access to your raw web access logs, you may be able to determine this. In CubeCart's admin, Statistics, Users Online, what do you get when you click the link that is the IP address?
  19. In admin, Store Settings, Logos tab, you will find a drop-down listing all your installed skins. You will need to upload a logo that fits the skin real estate given to this image. Then assign that image to the skin. (You may have more than one "Invoices" line item. I do not know if that is just me, or a programming problem.)
  20. In admin, Documents, in the list of documents, the "HomePage" document is the one that is indicated with a checked radio button in the Homepage column. Bring that one up for editing, and switch the editor to Source mode. In the HTML, you should see the unordered listing code (<ul>).
  21. Welcome Emmett! We would ask that you browse these conversations: https://forums.cubecart.com/topic/52383-resolved-bxslider-not-working/#comment-225532 https://forums.cubecart.com/topic/52134-whats-the-scrolling-picture-banner-thing-called/#comment-224631
  22. Ok, so if that works, then we know that edits are being successfully applied. In the same file: Near line 1152, find: if (($where === false || strlen($where) > 0) && ($results = $GLOBALS['db']->select('CubeCart_inventory', false, $where, $_GET['sort'], $per_page, $page)) !== false) { Change to: if (($where === false || strlen($where) > 0) && ($results = $GLOBALS['db']->select('CubeCart_inventory', false, $where, ((key($_GET['sort']) == "product_code") ? "LENGTH(`product_code`) ".$_GET['sort']['product_code'].", `product_code` ".$_GET['sort']['product_code'] : $_GET['sort']), $per_page, $page)) !== false) { This change looks for a sort on product_code and changes what gets sent to the database function. (Unfortunately, I do not a means to test this right now, so be prepared to restore the file from a backup.)
  23. Allow us to clarify what CubeCart means by Pending, Processing, and Completed. Pending is an order that has not yet been paid for. The admin must realize that, even if notified of the order (optional for Pending) or sees the order on the Dashboard, and even if stock levels have been reduced (optional for Pending), the order must not be shipped. The payment processor did not set the order to Pending (assumed to be PayPal's IPN) - CubeCart did that when having saved the order in the database's CubeCart_order_summary table. When the payment processor informs CubeCart that the transaction was successful (such as via PayPal's IPN), then CubeCart changes the order's status to Processing. The admin now must package the order for shipping. The admin may be notified (if not already done so in Pending), and stock levels will be reduced (if not already done so in Pending). Once the order is shipped, the admin must manually change the status of the order to Completed. For an admin to ship an order when the order is at Pending is an error in understanding what Pending means.
  24. Let's make this first change: making CubeCart have the initial sort be by product_code, even if the sort is not 'natural'. We can work on that later. In the file products.index.inc.php: Find near lines 1108-1112 (for CC617): // Sorting $current_page = currentPage(array('sort')); if (!isset($_GET['sort']) || !is_array($_GET['sort'])) { $_GET['sort'] = array('updated' => 'DESC'); } Change to: // Sorting $current_page = currentPage(array('sort')); if (!isset($_GET['sort']) || !is_array($_GET['sort'])) { $_GET['sort'] = array('product_code' => 'ASC'); }
  25. For the next few weeks, my explanations will be rather terse and/or sparse and/or quite infrequent. Let me try to scrape up a few quiet hours to explore the code and develop better instruction.
×
×
  • Create New...