Jump to content

bsmither

Member
  • Posts

    17,989
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. Comparing the script shown above with the script used by GA, it seems the two are very similar. As such, adopting the GA plugin to create a new Microsoft Analytics (MSA) plugin should be straightforward. (Renaming a few things, and swapping out the javascript, essentially.) If you need help with the code changes, we can work through it.
  2. In admin, Mailing List, Export Subscribers tab, an admin can download a text file (plain text or CSV) containing newsletter subscribers. This list can be integrated into another list for use by an external program. On the Import Subscribers tab, a textbox exists to submit a list of email addresses to be added to CubeCart's newsletter subscriber list, if wanting to use CubeCart's feature of emailing a newsletter.
  3. There are separate variables for "description" and "description_short". If nothing is entered in the Add/Edit Product's "Short Description" editor box, then for the "description_short" variable, CubeCart will use the beginning of the "description" variable, having removed everything that is not simply text, up to the number of characters set in Product Precis. Otherwise, having Short Description content will be used for "description_short".
  4. In the Foundation skin template "element.call_to_action.php", at the end of the file, add: <hr> <div> {$PRODUCT.description_short} </div> In the Foundation skin template "content.category.php", find: Near line 97: {$product.description_short} Change to: {* $product.description_short *} The change above makes the template code into a template comment. I do not know what you mean by "automatic insertion details". In admin, Store Settings, Layout tab, Product Precis (latest versions of CubeCart now call this "Maximum Short Description Length"), set this to a higher number if you find that the Short Description is getting cut short.
  5. Please follow these instructions: https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/ Maybe the reason will be logged in this file.
  6. I think there isn't anything wrong with the admin skin, but please check something. In the admin skin template main.php, at the very end, add: {debug} Then, when requesting a page, the browser will popup a window. (You may need to give the browser permission to do this, and then reload the page.) Looking at the popup, scroll to $TOUR_AUTO_START. The Value will be "true" or "false". Looking directly at the database using an external utility, look at CubeCart_admin_users, 'tour_shown' column. Does the column exist? In admin, Store Settings, Advanced tab, enable debug mode and enter your local IP address in the text field that follows (www.showmyip.com). Below the admin page will be a grey debug area. Find the SESSION:, '__admin_data' section, 'tour_shown' key. The value will be 1 or 0.
  7. On the bottom part...? Well, what you are seeing is called the "Tour". It gets shown every time an administrator logs in -- for each who have logged in for three or fewer times. If you, perhaps having logged in for more than three times, yet are seeing this, perhaps your CubeCart_admin_users database record has been disturbed. Otherwise, there is a fault with respect to getting, analyzing, or determining if the Tour should be shown. In admin, Administrators, Edit Administrator, there is a checkbox to "Prevent welcome tour on next login?". The Tour is supposed to be a slide show in a popup (colorbox, actually, I think), but you are showing it above as if the content is there, but not being affected by the javascript that is supposed to control it. (You should edit the post above to de-link the "NextX" links that point to your admin site.)
  8. Here is a set of edits that should get you a solution. The admin skin template categories.index.php: Find: <div><label for="seo_path">{$LANG.settings.seo_path} *</label><span><input type="text" name="seo_path" id="seo_path" class="textbox" value="{$CATEGORY.seo_path}"></span></div> <div><label for="seo_meta_description">{$LANG.settings.seo_meta_description}</label><span><textarea name="cat[seo_meta_description]" id="seo_meta_description" class="textbox">{$CATEGORY.seo_meta_description}</textarea></span></div> After that, add: <div><label for="seo_meta_keywords">{$LANG.settings.seo_meta_keywords} **</label><span><textarea name="cat[seo_meta_keywords]" id="seo_meta_keywords" class="textbox">{$CATEGORY.seo_meta_keywords}</textarea></span></div> Find: <p>* {$LANG.settings.seo_path_auto}</p> After that, add: <p>** Use a code from this list to associate a manufacturer with this category.</p> <table> <thead> <tr> <td>Code</td> <td>{$LANG.catalogue.title_manufacturer}</td> </tr> </thead> <tbody> {foreach from=$MANUFACTURERS item=manufacturer} <tr> <td><strong>MANU:{$manufacturer.id}</strong></td> <td>{$manufacturer.name}</td> </tr> {foreachelse} <tr> <td colspan="2" align="center"><strong>{$LANG.form.none}</strong></td> </tr> {/foreach} </tbody> </table> The admin source file categories.index.inc.php: Near line 413, find: $GLOBALS['smarty']->assign('SELECT_CATEGORIES', $select_categories); $GLOBALS['smarty']->assign('MODE_ADDEDIT', true); foreach ($GLOBALS['hooks']->load('admin.category.addedit_display') as $hook) { include $hook; } After that, add: $manufacturers = $GLOBALS['db']->select('CubeCart_manufacturers', false, false, array('name' => 'ASC')); $GLOBALS['smarty']->assign('MANUFACTURERS', $manufacturers); In the Admin side, we are re-adding and using a setting in Add/Edit Categories (that had been removed in a much earlier version). The corresponding database table column should still be available - the 'seo_meta_keywords'. Here, the admin would enter, as a keyword, a Code that represents the manufacturer. On the Store side, there will be a search pattern looking for this Code, and that will fetch the manufacturer details to be used on the View Category page for the sub-cats, if appropriate. The class file catalogue.class.php: Find the public function displaySubCategory() In that function, find: $cat['url'] = $GLOBALS['seo']->buildURL('cat', $cat['cat_id'], '&'); $cat['products_number'] = $products; After that, add: preg_match('/MANU:([\d]+)/', $cat['seo_meta_keywords'], $manu_match); $cat['manufacturer_tag'] = $this->getManufacturer($manu_match[1] ?? false, true); $cat['manufacturer_name'] = strip_tags($this->getManufacturer($manu_match[1] ?? false)); Find the public function getManufacturer() Change: public function getManufacturer($manufacturer_id) To: public function getManufacturer($manufacturer_id, $placeholder = false) Change: return '<a href="'.$manufacturers[0]['URL'].'" target="_blank">'.$manufacturers[0]['name'].'</a>'; To: return '<a href="'.$manufacturers[0]['URL'].'" target="_blank">'.($placeholder ? '%s' : $manufacturers[0]['name']).'</a>'; The Foundation skin template content.category.php: Find: {if isset($SUBCATS) && $SUBCATS} <ul class="medium-block-grid-6 text-center small-block-grid-3" data-equalizer> {foreach from=$SUBCATS item=subcat} <li data-equalizer-watch> <a href="{$subcat.url}" title="{$subcat.cat_name}"> <img class="th" src="{$subcat.cat_image}" alt="{if isset($subcat.image_tags.alt)}{$subcat.image_tags.alt}{else}{$subcat.cat_name}{/if}"{if isset($subcat.image_tags.title)} title="{$subcat.image_tags.title}"{/if}> </a> <br> <a href="{$subcat.url}" title="{$subcat.cat_name}"><small>{$subcat.cat_name}</small></a> </li> {/foreach} </ul> {/if} Change to: {if isset($SUBCATS) && $SUBCATS} <ul class="medium-block-grid-6 text-center small-block-grid-3" data-equalizer> {foreach from=$SUBCATS item=subcat} {capture "subcatImage"}<img class="th" src="{$subcat.cat_image}" alt="{if isset($subcat.image_tags.alt)}{$subcat.image_tags.alt}{else}{$subcat.cat_name}{/if}"{if isset($subcat.image_tags.title)} title="{$subcat.image_tags.title}"{/if}>{/capture} <li data-equalizer-watch> {if $subcat.manufacturer_tag}{$subcat.manufacturer_tag|replace:"%s":$smarty.capture.subcatImage} {else} <a href="{$subcat.url}" title="{$subcat.cat_name}">{$smarty.capture.subcatImage} </a> {/if} <br> {if $subcat.manufacturer_tag}{$subcat.manufacturer_tag|replace:"%s":"<small>{$subcat.manufacturer_name}</small>"} {else} <a href="{$subcat.url}" title="{$subcat.cat_name}"><small>{$subcat.cat_name}</small></a> {/if} </li> {/foreach} </ul> {/if} However: Now that the sub-cat image and caption are linked to the manufacturer's web site, the customer must intuit that the only way to get to a sub-cat is via the Navigation bar. Hopefully, that won't be too non-obvious.
  9. The stock behavior of the sub-cat images are links to those categories, as well as the caption (name of the category) of the image shown below the image. Where would a link that points to the manufacturer's website be shown? An additional link below the child category's name? Co-opt the link being used by the child category's image? (Which this latter choice seems to be what you want.) With respect to "when the user exits out of the brands website it will go back to his website", that's how browsers usually work - a link calls open a new tab, and when that new tab is closed, the browser returns to showing the calling window/tab. Or is there something wanted that is more involved? Even though you are making Manufacturers into categories, there is no direct relationship between the two. Some sort of connection will need to be established that "this category" is associated with "that manufacturer" - which, obviously, won't be applicable to every category. Each category has its "Description". A link (target="_blank") to the manufacturer's website can be included here. What is your opinion on this idea?
  10. I will give this some thought. I assume you have the permission of the various manufacturers to use their logos on your site - maybe you're an authorized distributor with certain benefits? Where did the "Shop by Brands" come from? Ok, I see this as a legit category, with child categories.
  11. Some of what you describe might be some of the features of Enhanced Manufacturers: https://www.cubecart.com/extensions/plugins/enhanced-manufacturers The description of the features set there is a bit sparse. But, when using the Advanced Search, one can filter against a manufacturer. When viewing a product, the Specification tab will contain the name of the manufacturer, and will be a hyperlink if one was provided when adding/editing a manufacturer in admin. That link has a 'target' attribute equal to "_blank" which will open the web page pointed to by the link in a new browser window or tab.
  12. There is no difference of an admin logging in from a previous CubeCart 6 version versus the latest version. There are three places where that message could be generated from. We can add custom code that will reveal which of the three situations triggered the message. Look in /classes/admin.class.php: Near lines 345, 414, and 455, change: $GLOBALS['gui']->setError($GLOBALS['language']->account['error_login']); To: $GLOBALS['gui']->setError($GLOBALS['language']->account['error_login']." at ".__METHOD__.":".__LINE__);
  13. I did not have any difficulties logging in (CC6411 pre-release).
  14. "Customer login technically works" Please remind me if there is a conversation about this.
  15. I have been evaluating CC6411 as it currently exists (pre-release state) running on PHP 8.2. I have run through almost all features and functions of CC6411. I have taken the opportunity to post issues on the Github to deal with the many instances of PHP (as of 8.0) issuing warnings about unknown array keys and unknown variables, as well as other pieces of code that could be optimized. I have not actually run CC6410 under PHP 8.2, but given that I have carefully analyzed the current differences between CC6410-release and CC6411-pre-release, I can be confident that CC6410 will run without crashing on PHP 8.2.
  16. Please note that I added another product to my post above. Reload the page to see the link. As for my project, send me a PM with your email address and I will send instructions to implement it.
  17. Not with CubeCart's current feature set. However, I have written this: https://forums.cubecart.com/topic/56223-digital-files-linked-to-a-products-options/ There is also: https://www.cubecart.com/extensions/plugins/product-addons-easily-purchase-related-products-kit-builder
  18. Well spotted! And should also do the 'alt' attribute as well. In the skin's javascript file 2.cubecart.js: Near line 141, find: $(".image-gallery").hover(function() { var src = $(this).attr("data-image-swap"); $('#img-preview').attr("src", src); }); Change to: $(".image-gallery").hover(function() { var src = $(this).attr("data-image-swap"); var ttl = $(this).attr("title"); var alt = $(this).attr("alt"); $('#img-preview').attr("src", src).attr("title",ttl).attr("alt",alt); }); You will need to have CubeCart clear its internal cache (to refresh its minified file of all the skin's javascript code).
  19. "If I set to start of this year it shows no popular products." Interesting. In admin, Store Settings, Advanced tab, enable Debug mode and enter your local IP address in the next field (www.showmyip.com). Request the homepage. Below the content there will be a grey debug area listing all of the SQL statements used. You may have to have the browser search the HTML for date_added. The query for Best Sellers based on sales will look something like: SELECT `oi`.`product_id`, `i`.`name`, `i`.`price`, `i`.`sale_price`, `i`.`tax_type`, `i`.`tax_inclusive`, SUM(`oi`.`quantity`) as `quantity` FROM `CubeCart_order_inventory` as `oi` JOIN `CubeCart_inventory` as `i` WHERE `oi`.`product_id` = `i`.`product_id` AND `i`.`status` = 1 AND `i`.`date_added` > '2020-01-01' GROUP BY `oi`.`product_id` ORDER BY `quantity` DESC LIMIT 4; And based on views: SELECT `name`, `product_id`, `quantity`, `price`, `sale_price`, `tax_type`, `tax_inclusive`, `popularity` FROM `CubeCart_inventory` WHERE CubeCart_inventory.status = '1' AND CubeCart_inventory.date_added > '2020-01-01' ORDER BY popularity DESC LIMIT 4; In the post above, you wrote a date as June 1 2019. Hopefully, the date you specified in admin would have been 2019-06-01.
  20. Your browser has Developer Tools (via F12). The Tools have a Network tab. The list of requests on the Network tab will show the response of each request - page, image, javascript file, css file, etc. For those that have a 404 result, it will help to positively identify what the exact request is that got the 404 response.
  21. You should see a simple text entry field just to the right of the drop-down selector for choosing where the data comes from to make the selection of Best Selling products in admin, Store Settings, Layout tab, Popular & Latest Products section, "Source data for popular products". This, then, affects what the customer sees in the Best Sellers box. However, your not seeing the change in admin caused me to re-read this conversation. Now, it seems to me, that what you wanted was a way to set a focus on those product sales with specific criteria for the admin's benefit in admin, Statistics, Best Selling Products tab. Is that the case?
  22. Did this happen all of a sudden? If possible, examine the file, found in CubeCart's main folder, .htaccess. Make sure there exists these directives: ### Default store 404 page ### ErrorDocument 404 /index.php ## Override default 404 error document for missing page resources ## <FilesMatch "\.(gif|jpe?g|png|ico|css|js|svg)$"> ErrorDocument 404 "<html></html> </FilesMatch> ##### END CubeCart .htaccess ##### In CubeCart's administration folder, there should be another .htaccess file: ## Default store 404 page ErrorDocument 404 "<html></html> But as you describe it, you are able to get everywhere else in admin. Is that not the case?
  23. Please try this. Download CC6410. Extract just the template files element.product.vertical_gallery.php and element.product.horizontal_gallery.php. Replace the two existing template files with these, and re-apply the edits above. If you can get into your admin, there will be a "Clear Cache" button in the upper-right of the admin screen. Click it. If you can't get into admin, on any web address for your store, at the end, add: ?clear_cache=true
  24. For this page, I think your image is too big. Somewhere, there is a missing "max-height:225px". You say you are running CC629? There has been a fix for this: https://github.com/cubecart/v6/issues/2842
  25. I don't see this experiment on your /play/ store. But using my browser's Developer Tools, I made the edits to the source HTML retrieved by the browser and the layout change works fine - to 'mobile'-width and back to 'desktop'-width.
×
×
  • Create New...