Jump to content

bsmither

Member
  • Posts

    17,989
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. Hover your mouse cursor over my username. There will be a popup box. Click on "Message".
  2. Welcome zeldalee! Glad to see you made it to the forums. The skin that ships with CC6 is not coded to show any more than five or six top-level categories. We would encourage you to: * Create five or six top-level categories and sort the many others as subcategories of those * Consider an alternate skin (https://www.cubecart.com/extensions/skins) * Consider a specific Vertical Navigation box for Foundation (https://www.cubecart.com/extensions/plugins/vertical-navigation-box)
  3. From that product's Image FilePicker, note the name of the image file assigned. Look in the folder /images/cache/. Determine if there is a set of images having the same filename but with .200, .400, .600, etc whatever, just before the .php suffix. If not, then CubeCart isn't able to make those derivative images based from the source image. If so, then CubeCart is faulting trying to find those derivatives, and getting an incorrect answer when the filename is calculated. We may need to do a deep analysis of your CubeCart installation. Your situation is not one I have come across before. Send me a PM with your email address and we will do some troubleshooting.
  4. Yes. Go here: https://forums.cubecart.com/settings/ Just below the black "Overview" box, there are (extremely badly colored) links. Click 'Signature'.
  5. In the template main.php: Near line 59, find: <div class="row marg-top" id="top_header"> <div class="small-4 large-3 columns"> <a href="{$STORE_URL}" class="main-logo"><img src="{$STORE_LOGO}" alt="{$CONFIG.store_name}"></a> </div> <div class="small-8 large-9 columns nav-boxes"> The top header is split into two parts: small-4 large-3 small-8 large 9 Note how each size adds to 12 columns. Change to: <div class="row marg-top" id="top_header"> <div class="small-4 large-5 columns"> <a href="{$STORE_URL}" class="main-logo"><img src="{$STORE_LOGO}" alt="{$CONFIG.store_name}"></a> </div> <div class="small-8 large-7 columns nav-boxes"> This gives more room to the logo half of the row, less room to other half. Adjust to suit. You may need to clear CubeCart's cache (admin, Maintenance, Rebuild tab, Clear Cache).
  6. Marketing, I suppose. An "angel investor" with deep pockets wouldn't hurt, either.
  7. It takes two to tango. Therefore, when the other guy is speaking only TLS1.2, then your server had better be speaking TLS1.2 as well. In CubeCart admin, PHP Info, at the bottom of the top chart, look in "Registered Stream Socket Transports". Make sure TLS1.2 is listed. Then, in the CURL table, "SSL Version", make sure you are running OpenSSL v1.0.2+.
  8. This is the folder that templates gets populated with - the various sizes of the images - that the browser makes requests to when requesting page resources. So, when indexing your site for "descriptive content", I conclude there is no reason to request the page's resources as there is nothing descriptive in them. However, we know Google is indexing images. So, allowing the folder when Google is wanting to associate your images with the page it is found on, if you wanted Google to index your images, I would think that allowing this would be a good thing.
  9. Ok, 99% of this is where a visitor is using a browser with a user-agent string, then, using the same cookie, switches to using a browser with a different user-agent string. Looking at your Customer Access log image in your first post, we can blame our russian friends. Of errors of a different nature, there is: * Too many connections to the database. If you are on a shared server, there could be a limit that is too low for the amount of traffic seen at that time, with too long of a "maintain connection to the database". Again, maybe we can blame the russians, but when a legitimate customer switches to the desktop mode (however that works), there could still be too many connections. This is a valid complaint against your hosting provider. * <a file> needs to be updated. This particular problem is caused by an upgrade that did not go 100% correctly. Please make sure you have the latest version of /includes/functions.inc.php. Then, if you have more than one folder that starts with /admin, we need to fix that. * Call to undefined method. This also indicates some files were updated and others were not. If you have no customizations to CubeCart's core code, then I recommend you download CC6.1.13 to your system, unzip it locally, rename the /admin/ folder to what you already have on your site, rename admin.php to what you already have on your site, then FTP the whole thing to your site telling the FTP program to unconditionally overwrite existing files. Files that are not in the CubeCart package will not be overwritten. And you can delete that long error_log content in the earlier post.
  10. Well, what you posted only goes to 25-Jan. If this is in fact the end of the error log, then your server is way off on its internal clock. Maybe ZIP up the error log, and attach it to a posting. Or attach it to a PM direct to me.
  11. It would have to be something the browser is sending to your site (in the HTTP headers) - and the web server doesn't like it (ask for help with server logs), or CubeCart doesn't like it (create the error_log).
  12. Sorry -- Layout tab. But if you are using Foundation, then there is something else causing the 500ISE. Please create the error_log. Verify if you get a 500ISE on your mobile device - if you have one. If/When you do, examine the error log. If there is no error log, or there isn't any clue in the log for about the time you requested a page, then the web browser is faulting from something else. Examine the file .htaccess. Determine if there is any directives here that suggest a "mobile" decision to be made. You may need to get your hosting provider to assist with examining server logs to determine why the web server is faulting.
  13. I am going to assume you are using a "non-responsive" skin. As such, CubeCart will look for a "mobile" user-agent string (an identifier that declares what browser the visitor is using). As such, CubeCart is coded to show a separate skin designed specifically for mobiles and pads. It could be the case that you have configured CubeCart to use a "mobile" skin, but you don't actually have one installed, or an installed "mobile" skin is malfunctioning. So, decide if you want to fix the "mobile" skin, or disallow a "mobile" skin completely. In admin, Store Settings, "Disable mobile skin" is to be checked.
  14. In the file index.php: Find: * Web: http://www.cubecart.com * Email: [email protected] * License: GPL-3.0 https://www.gnu.org/licenses/quick-guide-gplv3.html */ Add after: if( ( (isset($_GET['seo_path']) && $_GET['seo_path'] == "register") || (isset($_GET['_a']) && $_GET['_a'] == "register") ) && !empty($_POST['first_name']) && !empty($_POST['last_name']) && ( (!empty($_POST['phone']) && $_POST['phone']=="123456") || trim($_POST['first_name'])===trim($_POST['last_name']) ) ) exit; // Kills PHP leaving browser with white screen This is when the "Registration" form is POSTed back to CubeCart. If there is a first name and a last name, and if they are equal or the phone is 123456, then send back the good 'ol white screen of death. This has cut down false registrations from ten a day to three a month (where first and last names are not the same). Please make a new post if the subject is not the same. Thank you for asking.
  15. It will be obvious. Here are the edits: From /crosshatch/images/ get the image file navBg.png Copy to /mican/images/common/ From /crosshatch/styles/ get the CSS file dropdown.css Copy to /mican/styles/ From /crosshatch/templates/ get the file box.navigation.php Copy to /mican/templates/ re-naming the file to box.navigation_crosshatch.php In /mican/styles/common.css, near line 160, find: #breadcrumb ul li:last-child:after { content: ''; } Add after: #nav { background: url(../images/common/navBg.png) repeat-x; height: 66px; margin: 0 0 10px; width: 100%; } #nav .navContainer { height: 66px; margin: 0 auto; width: 1000px; } In /mican/templates/main.php, near line 7, find: <link rel="stylesheet" type="text/css" href="{$STORE_URL}/skins/{$SKIN_FOLDER}/styles/common.css" media="screen" /> Add after: <link rel="stylesheet" type="text/css" href="{$STORE_URL}/skins/{$SKIN_FOLDER}/styles/dropdown.css" media="screen"/> Near line 55, find: <div id="main_body"> Add BEFORE: {$CATEGORIES_CROSSHATCH} Next, we will create Code Snippet that will re-create the Categories list using the new skin template element. In admin, Manage Hooks, Code Snippets tab, click Add Snippet. Enabled: checked Unique ID: add_crosshatch_menu@cc600+ Execution Order: 99 Description: Assigns Crosshatch's Horizontal Menu Bar to a Smarty Variable Trigger: class.gui.display_navigation Version: 1.0 Author: https://forums.cubecart.com/topic/53270-adding-a-horizontal-menu/ PHP Code: <?php /****************** * Unique ID: add_crosshatch_menu@cc600+ * Execution Order: 99 * Description: Assigns Crosshatch's Horizontal Menu Bar to a Smarty Variable * Trigger: class.gui.display_navigation * Version: 1.0 * Author: https://forums.cubecart.com/topic/53270-adding-a-horizontal-menu/ *******************/ if(!$GLOBALS['smarty']->templateExists('templates/box.navigation_crosshatch.php')) return false; $cache_id2 = 'html.'.$this->_skin.'_crosshatch.menu.'.$GLOBALS['language']->current(); if (($content_crosshatch = $GLOBALS['cache']->read($cache_id2,$serialize)) == false) { $tree_data = $GLOBALS['catalogue']->getCategoryTree(); $navigation_tree = $this->_makeTree($tree_data); $GLOBALS['smarty']->assign('NAVIGATION_TREE', $navigation_tree); $GLOBALS['smarty']->assign('CTRL_SALE', $GLOBALS['config']->get('config', 'catalogue_sale_mode')); if (in_array($GLOBALS['config']->get('gift_certs','status'), array('1', '2'))) { $GLOBALS['smarty']->assign('CTRL_CERTIFICATES', true); } else { $GLOBALS['smarty']->assign('CTRL_CERTIFICATES', false); } $url = array ( 'saleitems' => $GLOBALS['seo']->buildURL('saleitems',false,'&',false), 'certificates' => $GLOBALS['seo']->buildURL('certificates',false,'&',false) ); $GLOBALS['smarty']->assign('URL', $url); $content_crosshatch = $GLOBALS['smarty']->fetch('templates/box.navigation_crosshatch.php'); $content_crosshatch = str_replace('/index.php/', '/', $content_crosshatch); $GLOBALS['cache']->write($content_crosshatch, $cache_id2, '', $serialize); } // Rel path must be absolute to meet W3C requirememts (URL must not be cached) $content_crosshatch = str_replace('rel="'.CC_ROOT_REL,'rel="'.CC_STORE_URL.'/',$content_crosshatch); //Send it to the main template $GLOBALS['smarty']->assign('CATEGORIES_CROSSHATCH', $content_crosshatch); Save. Clear the CubeCart cache. You will now see an unadorned menu bar where you said it was to be placed. It needs the matching box surrounds, the list bullets suppressed, the font size to match the rest of the page, etc. The submenu drops down. What I haven't tested is what a sub-submenu looks like. (if Crosshatch even did that.)
  16. I've made very few tests with options from a set, so that is where I will focus my explorations.
  17. Which options are combined in the Options Matrix table? I understand you have Finish, but are the other two included in the table? Is the Finish option(s) loaded from a Set? And, no, generally CubeCart does not, at this point, indicate which options are in/out of stock. However, this plugin (https://www.cubecart.com/extensions/plugins/absolute-matrix-option-prices-price-list-hide-out-of-stock-matrix-options) puts the Options Matrix table on the View Product page and enforces in/out of stock purchasing capability.
  18. Those darn russians! You haven't been hacked. You've been "found". The red X's mean the login attempts failed. There's nothing you can do about the logging of login attempts. This logging is a good thing actually. Those russian registrations usually have a pattern: the first name is the same as the last name, and/or the phone number is 123456. Do you have the means to make small edit to a file in CubeCart? If so, I will give you instruction on what code to add which will have CubeCart just send an empty, blank screen response.
  19. That might be ok, as each Option Matrix combo has a "Use Stock Level" checkbox. This key/value is not given to the skin. In the latest version sof Foundation, an AJAX request is made and the result contains the stock level. However, there is always a check on stock levels whether at the main product level, or, if an option matrix combo exists, at that level. I do not recall any other reports of this happening. You say you found $product in the left pane. When viewing a product page, it should be $PRODUCT. Please verify. In admin, bring the product up for editing where you said $products 'use_stock_level' was at 0. On the General tab, note whether Use Stock Level is disabled. This would agree with what you found in the debug console. Check the box and Save. Try to replicate purchasing an out-of-stock item.
  20. This is something useful. If I read you right, then the Fusion-powered skins (e.g., Blueprint), and other plugin-powered skins (SFWS Custom) seems to provide a germ of a path to skin templates having hooks. These skin plugin control panels basically just allow for show/hide/place boxes and color palettes. Should the plugin controller be customizable (not encoded/obfuscated), I think the affiliated skins can be loaded with a hook after every written line of HTML (if you want to go that far). "...the template developers are producing a static component that will pretty definitely be hacked by the store owners." You say this like it's a bad thing <grin>. Of course, hopefully, unskilled users of the skin can get help from professionals - just like getting help with bookkeeping, tax preparation, marketing, etc.
  21. There are several places where CubeCart checks for stock levels throughout the shopping experience. All "should" check for the enabled/disabled state of the store setting "Allow out of stock purchases". Let's try this: In admin, Store Settings, Layout tab, "Allow users to change front-end skin", set to Yes (Logged in admins only). On the Stock tab, "Show stock levels", check to enable, and "Main stock level as matrix stock level summary", check to enable. Using a programmer's text editor, make an edit to /skins/foundation/templates/main.php by adding {debug} at the very end. On the storefront, you should now see a drop-down selector at the bottom-right. Choose Foundation. Your browser will want to throw a popup. Let it. (You may need to dismiss this popup and refresh the page to get a fresh popup.) This the template engine debug console. Visit a product page that you know has zero or negative stock Scroll to where $CONFIG is in the left pane. Then look for 'stock_level' (should be "1") and 'basket_out_of_stock_purchase' (should be "0") keys in the right pane. Then scroll to almost the bottom and find $PRODUCT in the left pane. Then find 'stock_level' (will show quantity available) and 'use_stock_level' (should be "1") in the right pane. Do all these settings agree?
  22. I see this as a problem with the core code. The skin does not determine if an out-of-stock item can or cannot be sold. The skin only displays what CubeCart tells it to display. Please verify the exact version of CubeCart you are using, and whether there are any plugin modules or code snippets in use. (Not gateways or shipping modules.)
  23. Just to clarify: You are saying the store will allow a customer to add a 'zero or negative stock level' product to the basket, proceed through checkout, and pay for that item? Or you are saying that the store "implies" one can Add to Basket a 'zero or negative stock level' product to the basket? If this is just the Add to Basket button indicator, then there have been issues when that product has an Options Matrix. The current version of the Foundation skin makes an AJAX call to CubeCart verifying the stock level of the "just now" chosen combination of options. Only then is the stock level revealed for that combination.
×
×
  • Create New...