Anne,
Any suggestions on removing the tabs if no products exist for that tab?
Anne,
Any suggestions on removing the tabs if no products exist for that tab?
Thanks all. At least I know why the module wasn't working.
I'll look into the code changes and see what I can do.
Cheers
GAM
I have this complete to work on all center boxes
It is set to open all by default, I have custom coded it to include a carousel though.
I will try to clean the code to include just the changes you need and post it here.
You can see that it is operational here:
www[.]zcadditions[.]com/responsive_templates/
LOL, I have just successfully modified tpl_index_categories.php to work and was about to paste the code here... and I see your post. ;)
Bah, pasting for reference anyway:
To fix my headings I needed to include 'clear:left' in addition to adding my custom css to:PHP Code:
<?php
/**
* Page Template
*
* Loaded by main_page=index<br />
* Displays category/sub-category listing<br />
* Uses tpl_index_category_row.php to render individual items
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: tpl_index_categories.php 4678 2006-10-05 21:02:50Z ajeh Modified by GAM to include Tabbed Home Page module (Picaflor Azul) with Categories 2013-08-09 $$
*/
?>
<script type="text/javascript">
$(document).ready(function() {
$('a.moduleBox').click(function() { // show selected module(s)
// variables
var popID = $(this).attr('rel');
var popNAV = $(this).attr('class');
// hide all wrappers and display the one selected
$('.centerBoxWrapper').hide();
// check if all or single selection
if (popID != 'viewAll') {
$('#' + popID).fadeIn();
} else {
$('.centerBoxWrapper').fadeIn();
}
});
});
</script>
<div class="centerColumn" id="indexCategories">
<?php if ($show_welcome == true) { ?>
<h1 id="indexCategoriesHeading"><?php echo HEADING_TITLE; ?></h1>
<?php if (SHOW_CUSTOMER_GREETING == 1) { ?>
<h2 class="greeting"><?php echo zen_customer_greeting(); ?></h2>
<?php } ?>
<!-- deprecated - to use uncomment this section
<?php if (TEXT_MAIN) { ?>
<div id="" class="content"><?php echo TEXT_MAIN; ?></div>
<?php } ?>-->
<!-- deprecated - to use uncomment this section
<?php if (TEXT_INFORMATION) { ?>
<div id="" class="content"><?php echo TEXT_INFORMATION; ?></div>
<?php } ?>-->
<?php if (DEFINE_MAIN_PAGE_STATUS >= 1 and DEFINE_MAIN_PAGE_STATUS <= 2) { ?>
<div id="indexCategoriesMainContent" class="content"><?php
/**
* require the html_define for the index/categories page
*/
include($define_page);
?></div>
<?php } ?>
<?php } else { ?>
<h1 id="indexCategoriesHeading"><?php echo $breadcrumb->last(); ?></h1>
<?php } ?>
<?php
if (PRODUCT_LIST_CATEGORIES_IMAGE_STATUS_TOP == 'true') {
// categories_image
if ($categories_image = zen_get_categories_image($current_category_id)) {
?>
<div id="categoryImgListing" class="categoryImg"><?php echo zen_image(DIR_WS_IMAGES . $categories_image, '', SUBCATEGORY_IMAGE_TOP_WIDTH, SUBCATEGORY_IMAGE_TOP_HEIGHT); ?></div>
<?php
}
} // categories_image
?>
<?php
// categories_description
if ($current_categories_description != '') {
?>
<div id="categoryDescription" class="catDescContent"><?php echo $current_categories_description; ?></div>
<?php } // categories_description ?>
<!-- BOF: Display grid of available sub-categories, if any -->
<?php
if (PRODUCT_LIST_CATEGORY_ROW_STATUS == 0) {
// do nothing
} else {
// display subcategories
/**
* require the code to display the sub-categories-grid, if any exist
*/
require($template->get_template_dir('tpl_modules_category_row.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_category_row.php');
}
?>
<!-- EOF: Display grid of available sub-categories -->
</div>
<div id="moduleMenu-wrapper">
<?php
// bof module navigation
$show_display_nav = $db->Execute(SQL_SHOW_PRODUCT_INFO_MAIN);
if ($this_is_home_page) {
echo '';
}
echo '<div id="moduleMenu">';
while (!$show_display_nav->EOF) {
switch ($show_display_nav->fields['configuration_key']) {
case 'SHOW_PRODUCT_INFO_MAIN_FEATURED_PRODUCTS':
echo '<span class="navOne moduleSpan"><a href="javascript:void(0)" rel="featuredProducts" class="navOne moduleBox">' . MODULE_TABS_FEATURED . '</a></span>';
break;
case 'SHOW_PRODUCT_INFO_MAIN_SPECIALS_PRODUCTS':
echo '<span class="navThree moduleSpan"><a href="javascript:void(0)" rel="specialsDefault" class="navThree moduleBox">' . MODULE_TABS_SPECIALS . '</a></span>';
break;
case 'SHOW_PRODUCT_INFO_MAIN_NEW_PRODUCTS':
echo '<span class="navTwo moduleSpan"><a href="javascript:void(0)" rel="whatsNew" class="navTwo moduleBox">' . MODULE_TABS_NEW . '</a></span>';
break;
}
$show_display_nav->MoveNext();
}
echo '<span class="navFour moduleSpan"><a href="javascript:void(0)" rel="viewAll" class="navFour moduleBox">' . MODULE_TABS_ALL . '</a></span>';
echo '<br class="clearBoth" />';
echo '</div>';
// eof module navigation
?>
<?php
$show_display_category = $db->Execute(SQL_SHOW_PRODUCT_INFO_CATEGORY);
while (!$show_display_category->EOF) {
// // echo 'I found ' . zen_get_module_directory(FILENAME_UPCOMING_PRODUCTS);
?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_FEATURED_PRODUCTS') { ?>
<?php
/**
* display the Featured Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_featured_products.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_featured_products.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_SPECIALS_PRODUCTS') { ?>
<?php
/**
* display the Special Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_specials_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_specials_default.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_NEW_PRODUCTS') { ?>
<?php
/**
* display the New Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_whats_new.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_whats_new.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_UPCOMING') { ?>
<?php
/**
* display the Upcoming Products Center Box
*/
?>
<?php include(DIR_WS_MODULES . zen_get_module_directory(FILENAME_UPCOMING_PRODUCTS)); ?><?php } ?>
<?php
$show_display_category->MoveNext();
} // !EOF
?>
#indexHomeBody .centerBoxHeading {} in stylesheet_module_tabs.css
and include same css for .centerBoxHeading {} in stylesheet_module_tabs.css too
GAM
Last edited by GAM; 9 Aug 2013 at 02:53 AM.
Thanks for your efforts rbarbour. Appreciated. :-) The carousel is not a bad idea too. Hmm. I wouldn't mind being able to specify number of rows to display with prev/next/page# functionality. Hint. lol.
While coding the changes to tpl_index_categories.php, I was thinking that including 'categories' into the same Tabbed Home Page module as another tab. Might be an even better/nicer option. ....along with above suggestions.
Cheers
GAM
Urmm, this was probably the wrong way to go about fixing my float left issues with centerboxheading and 'upcoming products' when no new, featured or specials.
Have modified the code as follows:
Find:
// eof module navigation
Replace with:
echo '<br class="clearBoth" />';
// eof module navigation
As I have two files now (tpl_index_categories.php and tpl_index_default.php, I replaced in both.
Cheers
Very doable, look at the bestseller plugin, using the product_listing display would achieve that and be very easy to do.
Also doable.
I do like the tabbed feature and Anne did a great job simplifying it, however I am looking for other alternatives do to the hassle it would be to custom code to turn off tabs with (no products). Very frustrating from a customer point of view. MO as well.
Thank you. Didn't notice those.
I believe I've captured them all...
Modified tpl_index_categories.php (zen 1.5.1) for use with Tabbed Home Page v2
(Required when displaying Categories on Main page):
CheersPHP Code:
<?php
/**
* Page Template
*
* Loaded by main_page=index<br />
* Displays category/sub-category listing<br />
* Uses tpl_index_category_row.php to render individual items
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: tpl_index_categories.php 4678 2006-10-05 21:02:50Z ajeh Modified by GAM to include Tabbed Home Page module (Picaflor Azul) with Categories 2013-08-09 $$
*/
?>
<script type="text/javascript">
$(document).ready(function() {
$('a.moduleBox').click(function() { // show selected module(s)
// variables
var popID = $(this).attr('rel');
var popNAV = $(this).attr('class');
// hide all wrappers and display the one selected
$('.centerBoxWrapper').hide();
// check if all or single selection
if (popID != 'viewAll') {
$('#' + popID).fadeIn();
} else {
$('.centerBoxWrapper').fadeIn();
}
});
});
</script>
<div class="centerColumn" id="indexCategories">
<?php if ($show_welcome == true) { ?>
<h1 id="indexCategoriesHeading"><?php echo HEADING_TITLE; ?></h1>
<?php if (SHOW_CUSTOMER_GREETING == 1) { ?>
<h2 class="greeting"><?php echo zen_customer_greeting(); ?></h2>
<?php } ?>
<!-- deprecated - to use uncomment this section
<?php if (TEXT_MAIN) { ?>
<div id="" class="content"><?php echo TEXT_MAIN; ?></div>
<?php } ?>-->
<!-- deprecated - to use uncomment this section
<?php if (TEXT_INFORMATION) { ?>
<div id="" class="content"><?php echo TEXT_INFORMATION; ?></div>
<?php } ?>-->
<?php if (DEFINE_MAIN_PAGE_STATUS >= 1 and DEFINE_MAIN_PAGE_STATUS <= 2) { ?>
<div id="indexCategoriesMainContent" class="content"><?php
/**
* require the html_define for the index/categories page
*/
include($define_page);
?></div>
<?php } ?>
<?php } else { ?>
<h1 id="indexCategoriesHeading"><?php echo $breadcrumb->last(); ?></h1>
<?php } ?>
<?php
if (PRODUCT_LIST_CATEGORIES_IMAGE_STATUS_TOP == 'true') {
// categories_image
if ($categories_image = zen_get_categories_image($current_category_id)) {
?>
<div id="categoryImgListing" class="categoryImg"><?php echo zen_image(DIR_WS_IMAGES . $categories_image, '', SUBCATEGORY_IMAGE_TOP_WIDTH, SUBCATEGORY_IMAGE_TOP_HEIGHT); ?></div>
<?php
}
} // categories_image
?>
<?php
// categories_description
if ($current_categories_description != '') {
?>
<div id="categoryDescription" class="catDescContent"><?php echo $current_categories_description; ?></div>
<?php } // categories_description ?>
<!-- BOF: Display grid of available sub-categories, if any -->
<?php
if (PRODUCT_LIST_CATEGORY_ROW_STATUS == 0) {
// do nothing
} else {
// display subcategories
/**
* require the code to display the sub-categories-grid, if any exist
*/
require($template->get_template_dir('tpl_modules_category_row.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_category_row.php');
}
?>
<!-- EOF: Display grid of available sub-categories -->
</div>
<div id="moduleMenu-wrapper">
<?php
// bof module navigation
$show_display_category = $db->Execute(SQL_SHOW_PRODUCT_INFO_CATEGORY);
if ($this_is_home_page) {
echo '';
}
echo '<div id="moduleMenu">';
while (!$show_display_category->EOF) {
switch ($show_display_category->fields['configuration_key']) {
case 'SHOW_PRODUCT_INFO_CATEGORY_FEATURED_PRODUCTS':
echo '<span class="navOne moduleSpan"><a href="javascript:void(0)" rel="featuredProducts" class="navOne moduleBox">' . MODULE_TABS_FEATURED . '</a></span>';
break;
case 'SHOW_PRODUCT_INFO_CATEGORY_SPECIALS_PRODUCTS':
echo '<span class="navThree moduleSpan"><a href="javascript:void(0)" rel="specialsDefault" class="navThree moduleBox">' . MODULE_TABS_SPECIALS . '</a></span>';
break;
case 'SHOW_PRODUCT_INFO_CATEGORY_NEW_PRODUCTS':
echo '<span class="navTwo moduleSpan"><a href="javascript:void(0)" rel="whatsNew" class="navTwo moduleBox">' . MODULE_TABS_NEW . '</a></span>';
break;
}
$show_display_category->MoveNext();
}
echo '<span class="navFour moduleSpan"><a href="javascript:void(0)" rel="viewAll" class="navFour moduleBox">' . MODULE_TABS_ALL . '</a></span>';
echo '<br class="clearBoth" />';
echo '</div>';
echo '<br class="clearBoth" />';
// eof module navigation
?>
<?php
$show_display_category = $db->Execute(SQL_SHOW_PRODUCT_INFO_CATEGORY);
while (!$show_display_category->EOF) {
// // echo 'I found ' . zen_get_module_directory(FILENAME_UPCOMING_PRODUCTS);
?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_FEATURED_PRODUCTS') { ?>
<?php
/**
* display the Featured Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_featured_products.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_featured_products.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_SPECIALS_PRODUCTS') { ?>
<?php
/**
* display the Special Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_specials_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_specials_default.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_NEW_PRODUCTS') { ?>
<?php
/**
* display the New Products Center Box
*/
?>
<?php require($template->get_template_dir('tpl_modules_whats_new.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_whats_new.php'); ?>
<?php } ?>
<?php if ($show_display_category->fields['configuration_key'] == 'SHOW_PRODUCT_INFO_CATEGORY_UPCOMING') { ?>
<?php
/**
* display the Upcoming Products Center Box
*/
?>
<?php include(DIR_WS_MODULES . zen_get_module_directory(FILENAME_UPCOMING_PRODUCTS)); ?><?php } ?>
<?php
$show_display_category->MoveNext();
} // !EOF
?>
GAM
Bookmarks