This is a discussion on Need help converting 'Scrolling best sellers' to BTS within the osCMax v2 Customization/Mods forums, part of the osCMax v2.0 Forums category; I've found a standard contrib on the osc site that provides a scrolling best sellers infobox with images. I have ...
| |||||||
| Register | FAQ | Members List | Calendar | Mark Forums Read |
|
#1
| ||||
| ||||
| I've found a standard contrib on the osc site that provides a scrolling best sellers infobox with images. I have had a go at trying to port it to bts format, but I'm not getting very far. I started by opening the standard /includes/boxes/best_sellers.php from osCMax and comparing the code. The parts I have merged/replaced seems to be working, but there are four 'array' lines missing from the bts layout, of which one includes the marquee to make the images scroll. I can't work out where the marquee line needs to go as the array lines aren't in a bts boxes file. Anyway, here is the code for the standard contrib I downloaded Code: <?php
/*
$Id: best_sellers.php,v 1.21 2003/06/09 22:07:52 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
Thorsten Wunsch
2006-12-29 <br> between the pictures
2006-12-29 html href double deleted
2006-12-29 IMG Title added and tep_image error corrected
*/
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers_scroll //-->
<tr>
<td>
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_BESTSELLERS);
new infoBoxHeading($info_box_contents, false, false);
$rows = 0;
$bestsellers_list = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
$rows++;
$bestsellers_list .= '<tr><td class="infoBoxContents" valign="top">' . '</td><td class="infoBoxContents" align="center"><br>' .tep_row_number_format($rows). ' - <a align="center" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '" alt="' . $best_sellers['products_name'] . '" title="' . $best_sellers['products_name'] . '">' . $best_sellers['products_name'] . '<br>' . tep_image(DIR_WS_IMAGES . $best_sellers['products_image'], $best_sellers['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td></tr>';
}
$bestsellers_list .= '</table>';
$info_box_contents = array();
$info_box_contents[] = array('text' => '<MARQUEE behavior= "scroll" align= "center" direction= "up" height="160" scrollamount= "2" scrolldelay= "70" onmouseover=\'this.stop()\' onmouseout=\'this.start()\'>'.$bestsellers_list.'</MARQUEE>');
new infoBox($info_box_contents);
?>
</td>
</tr>
<!-- best_sellers_scroll_eof //-->
<?php
}
?>
Code: <?php
/*
$Id: best_sellers.php 3 2006-05-27 04:59:07Z user $
osCMax Power E-Commerce
http://oscdox.com
Copyright 2006 osCMax
Released under the GNU General Public License
*/
// Most of this file is changed or moved to BTS - Basic Template System - format.
// if (isset($HTTP_GET_VARS['products_id'])) {
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers_scroll //-->
<?php
$boxHeading = BOX_HEADING_BESTSELLERS;
$corner_left = 'square';
$corner_right = 'square';
$box_base_name = 'best_sellers_scroll'; // for easy unique box template setup (added BTSv1.2)
$box_id = $box_base_name . 'Box'; // for CSS styling paulm (editted BTSv1.2)
$rows = 0;
$boxContent = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
$rows++;
$boxContent .= '<tr><td class="infoBoxContentsLeft" valign="top">' . '</td><td class="infoBoxContentsLeft" align="center"><br>' .tep_row_number_format($rows). ' - <a align="center" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '" alt="' . $best_sellers['products_name'] . '" title="' . $best_sellers['products_name'] . '">' . $best_sellers['products_name'] . '<br>' . tep_image(DIR_WS_IMAGES . $best_sellers['products_image'], $best_sellers['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td></tr>';
}
$boxContent .= '</table>';
include (bts_select('boxes', $box_base_name)); // BTS 1.5
}
//}
?>
<!-- best_sellers eof //-->
Thanks to anyone who can help. Regards, J. |
| Sponsored Links | ||
| ||
|
#2
| ||||
| ||||
| Looks like I should have persevered a bit longer, or in this case taken a break. I'd already made a copy of /catalog/templates/mytemplate/boxes/best_sellers.tpl.php but I've only just thought of putting the marquee tag in there, and guess what, it works. For anyone who happens to stumble across this here's the code I ended up with.. /catalog/includes/boxes/best_sellers_scroll.php Code: <?php
/*
$Id: best_sellers.php 3 2006-05-27 04:59:07Z user $
osCMax Power E-Commerce
http://oscdox.com
Copyright 2006 osCMax
Released under the GNU General Public License
*/
// Most of this file is changed or moved to BTS - Basic Template System - format.
// if (isset($HTTP_GET_VARS['products_id'])) {
if (isset($current_category_id) && ($current_category_id > 0)) {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and '" . (int)$current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
} else {
$best_sellers_query = tep_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS);
}
if (tep_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) {
?>
<!-- best_sellers_scroll //-->
<?php
$boxHeading = BOX_HEADING_BESTSELLERS;
$corner_left = 'square';
$corner_right = 'square';
$box_base_name = 'best_sellers_scroll'; // for easy unique box template setup (added BTSv1.2)
$box_id = $box_base_name . 'Box'; // for CSS styling paulm (editted BTSv1.2)
$rows = 0;
$boxContent = '<table border="0" width="100%" cellspacing="0" cellpadding="1">';
while ($best_sellers = tep_db_fetch_array($best_sellers_query)) {
$rows++;
$boxContent .= '<tr><td class="infoBoxContentsLeft" valign="top">' . '</td><td class="infoBoxContentsLeft" align="center"><br>' .tep_row_number_format($rows). ' - <a align="center" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id']) . '" alt="' . $best_sellers['products_name'] . '" title="' . $best_sellers['products_name'] . '">' . $best_sellers['products_name'] . '<br>' . tep_image(DIR_WS_IMAGES . $best_sellers['products_image'], $best_sellers['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td></tr>';
}
$boxContent .= '</table>';
include (bts_select('boxes', $box_base_name)); // BTS 1.5
}
//}
?>
<!-- best_sellers eof //-->
Code: <?php if (!defined ('DIR_FS_CATALOG')) die ("Access denied."); ?>
<?php /* infobox template */ ?>
<tr>
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td height="20" class="infoBoxHeadingLeft"><img src="images/infobox/<?php switch ($corner_left) { case 'square': echo 'corner_right_left.gif'; break; case 'rounded': echo 'corner_left.gif'; break;} ?>" border="0" alt="" width="11" height="14"></td>
<td width="100%" height="20" class="infoBoxHeadingLeft"><?php echo $boxHeading; ?></td>
<td height="20" class="infoBoxHeadingLeft" nowrap><?php echo $boxLink; ?><img src="images/<?php switch ($corner_right) { case 'square': echo 'pixel_trans.gif'; break; case 'rounded': echo 'infobox/corner_right.gif'; break;} ?>" border="0" alt="" width="11" height="14"></td>
</tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="1" class="infoBoxLeft">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="3" class="infoBoxContentsLeft">
<tr>
<td><img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="1"></td>
</tr>
<tr>
<td class="boxTextLeft"<?php echo $boxContent_attributes; ?>><MARQUEE behavior= "scroll" align= "center" direction= "up" height="160" scrollamount= "2" scrolldelay= "70" onmouseover="this.stop()" onmouseout="this.start()"><?php echo $boxContent; ?></MARQUEE></td>
</tr>
<tr>
<td><img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="1"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
Hope this helps someone, J. |
| Sponsored Links | ||
| ||
| |
| Thread Tools | |
| |
| ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Best Sellers on Vertical Scroll | michael_s | New osCommerce Contributions | 0 | 05-14-2008 12:22 PM |
| Converting contribs to BTS templating system | aaanativearts | osCMax v2 Installation issues | 1 | 08-20-2007 11:59 PM |
| How to add sellers? | astallings | osCMax v2 Customization/Mods | 1 | 08-13-2007 02:28 AM |
| Converting Affiliate Infobox to BTS | Stu | osCMax v1.7 Discussion | 4 | 11-25-2003 07:15 AM |