Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Product Listing Enhancements, Thumbnails & Manufacturer Headings


spooks

Recommended Posts

You are probably just missing the language files.. Go to the installation and see which of those english files those reside in.

A great place for newbies to start

Road Map to oscommerce File Structure

DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!

 

HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you

 

Proud Memeber of the CODE BREAKERS CLUB!!

Link to comment
Share on other sites

You don't appear to have made the changes required to includes/languages/english/advanced_search.php

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Hey Spooks,

After 3 days it finally let me download it. The contribution works great!. One question; I am using the show-soldout v1.0 contribution as well. I would really love to get

these two working together. The code replacement to the original product_listing.php is around line 133

 

Original

$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

 

replacement

/** show-soldout-v1.0 **/

if($listing['products_quantity'] <= 0 || $listing['products_status']==0)

$lc_text = tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) . ' ';

else

$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

/** end show-soldout-v1.0 **/

 

the product_listing.php included in your contribution does not include those lines. Any Ideas would be greatly appreciated.

 

Much Respect,

Laslo

Link to comment
Share on other sites

Find

 

   case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = $button;
	   break;

 

replace with:

 

case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = ($listing['products_quantity'] <= 0 || $listing['products_status']==0 ? tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) : $button);
	   break;

 

then find:

 

$display .= $borderend . $button;

 

replace with:

 

$display .= $borderend . ($products['products_quantity'] <= 0 || $products['products_status']==0 ? tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) : $button);

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Find

 

   case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = $button;
	   break;

 

replace with:

 

case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = ($listing['products_quantity'] <= 0 || $listing['products_status']==0 ? tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) : $button);
	   break;

 

then find:

 

$display .= $borderend . $button;

 

replace with:

 

$display .= $borderend . ($products['products_quantity'] <= 0 || $products['products_status']==0 ? tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) : $button);

 

Cool, will try that - thank you Sam...

Link to comment
Share on other sites

Thanks for the response Spooks,

after doing this @ line 193

Find

 

   case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = $button;
	   break;

 

replace with:

 

case 'PRODUCT_LIST_BUY_NOW':
   $lc_align = 'center';
		$lc_text = ($listing['products_quantity'] <= 0 || $listing['products_status']==0 ? tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) : $button);
	   break;

 

I am now getting a Parse error: syntax error, unexpected T_VARIABLE on line 193

 

do I need to put

if($listing['products_quantity'] <= 0 || $listing['products_status']==0)
$lc_text = tep_image_button('button_sold_out.gif', IMAGE_BUTTON_SOLD_OUT) . ' ';
else
$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> ';

 

After this

case 'PRODUCT_LIST_BUY_NOW':
	$lc_text = (strstr(LISTING_BUTTON, 'buy now')? TABLE_HEADING_BUY_NOW : TABLE_HEADING_DETAIL);
	$lc_align = 'center';

 

Thanks for the help

Link to comment
Share on other sites

Pants, did not read this correctly. I thought it was an answer to me but it was not - no wonder the changes did not give the result i was expecting ;)

 

Sam, can you also look at my problem by any chance?

 

I have this installed and it works really good - thank you... One small change I could need some help with. we have some products that are priced at 0 which are a "request price" item. is there any way to have the "buy now" button hidden for these items?

Link to comment
Share on other sites

The code I gave is all you need, your original just adds unneccessary bits.

 

I`ve checked & there are no errors, double check your edits, you've messed up somewhere.

 

(I note kroggers had no error)

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Pants, did not read this correctly. I thought it was an answer to me but it was not - no wonder the changes did not give the result i was expecting ;)

 

Sam, can you also look at my problem by any chance?

 

I have this installed and it works really good - thank you... One small change I could need some help with. we have some products that are priced at 0 which are a "request price" item. is there any way to have the "buy now" button hidden for these items?

 

Where a product has price of 0 you should get P.O.A already??

 

otherwise code is similar:

 

$lc_text = ($listing['products_price'] == 0  ? '' : $button);

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Where a product has price of 0 you should get P.O.A already??

 

otherwise code is similar:

 

$lc_text = ($listing['products_price'] == 0  ? '' : $button);

 

Yes I get P.O.A where the price would go, but I still get the buy now button - already had a customer purchase an item for the price of 0 :blink:

I will investigate your code and update if I can...

Thank you for the help.

Link to comment
Share on other sites

Hi Sam,

 

I have found a new strange problem in my product listing, and I am wondering if it is related to this contribution. If I have a product which is listed in more than one category, when you select to see the details for that product it will sometimes jump to the other category tree. Not sure how to explain this apart from giving the following example...

 

This product is related to more than one category tree - http://www.coolcavaracing.com/catalog/prod.../products_id/27

 

You can see it listed here in the 914 category tree (as the 2nd product) - http://www.coolcavaracing.com/catalog/inde...ath/36_37_38_41

AND

You can see it listed here in the 911 category tree (as the 5th product) - http://www.coolcavaracing.com/catalog/inde...p/cPath/1_2_3_5

 

BUT

If you select to see details on that product from the 914 category tree, it will change to display the product related to the 911 tree - and as such also change the breadcrumb trail to be the 911 one and not the 914 one...

 

Is this created by code in your great contribution or something else I have done???

Link to comment
Share on other sites

I think this is already documented,

 

to avoid possible multiple path to product problems (google duplicate content) the category path is not included in the url, in such cases application_top will find the default cpath.

 

If you wish cpath included see line 14.

 

A rel = nofollow will be added to cpath links when cpath is included.

 

Did you try the code I gave last??

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Cool, thank you Sam - that solved the problem. I understand the issue with Google, but I have had customers get confused by the change in category and worried they were about to order the wrong part. Although they are the same product, they fit more than one car and as such can in a way be seen as not the same product. In that way I have no problem with Google having it listed more than once if it is in context to the correct category tree!!!

 

As for the other problem I have, your solution will not work. I want to display the buy now and more info buttons for each product, but if the price on a product is 0, then I want the buy now button replaced with either text to say "On Request" or a button linked to the contact us form. So I would expect the change in code to be related to where you build the button query and not where you suggested. As my PHP skill level is very low, I could be wrong...

 

Until I get it solved, I have selected to only display the details button in the admin set-up for your contribution, and not the buy now & details option.

Link to comment
Share on other sites

You could try modding this to suit, this code is from the next release (not yet uploaded)

 

after (154):

 

$button = (LISTING_BUTTON == 'buy now & details' ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW, 'class="thm_buy_now"') . '</a> <span class="buy_now">|</span> ' . $link . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS, 'class="thm_buy_now"') . '</a><br><br>' : (strstr(LISTING_BUTTON, 'buy now') ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW) . '</a><br><br>' : '<br>'. $link . tep_image_button('button_details.gif', IMAGE_BUTTON_DETAILS) . '</a><br><br>' ));

 

add:

 

 

 if ($listing['products_price'] == 0) $button = (strstr(LISTING_BUTTON, 'details') ? '<br><span class="buy_now"> </span>'. $link . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS) . '</a> <br><br>' : '');

 

 

after (303):

 

$button = (LISTING_BUTTON != 'none' && PRODUCT_LIST_BUY_NOW ? (LISTING_BUTTON == 'buy now & details' ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW, 'class="thm_buy_now"') . '</a> <span class="buy_now">|</span> ' . $link . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS, 'class="thm_buy_now"') . '</a><br><br>' : (strstr(LISTING_BUTTON, 'buy now') ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW) . '</a><br><br>' : '<br>' . $link . tep_image_button('button_details.gif', IMAGE_BUTTON_DETAILS) . '</a><br><br>' )) : ' ');

 

add:

 

 if ($products['products_price'] == 0) $button = (strstr(LISTING_BUTTON, 'details') ? '<br><span class="buy_now"> </span>'. $link . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS, 'class="thm_buy_now"') . '</a> <br>' : '');

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Does anyone have an auto thumbnail resizer (such as OTF Auto Thumbnailer) installed along with this contrib?

 

I had the same problem webbydeb had with the images flattening out because of OTF Auto Thumbnailer so I uninstalled the thumbnailer but I'd like to use another contrib that resizes the thumbs on the spot to reduce load time and to make the thumb better quality.

Link to comment
Share on other sites

I'm also having issues displaying the "specials" price on the main page and category/subcat pages, is there any way to do this with this mod?

 

I noticed in the preview pictures it seems to work. I have reverted to the original index.php file and original new_products.php and neither seem to work.

Link to comment
Share on other sites

Special price works fine with product_listing.php, but as per the original new_products.php there is no support for it in the included new_products.php for reasons as has been detailed already (legal issues)

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

firefox has some very handy tools for css etc.

 

if you edit the css for .infoBoxList that should sort it for you.

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

firefox has some very handy tools for css etc.

 

if you edit the css for .infoBoxList that should sort it for you.

 

 

thank you... fixed...

 

the infoboxlist it was the unique that i wasnt tested before....

 

Rafael

OScommerce Rocks!

Link to comment
Share on other sites

Hello. Got this contrib up and running, still need to play with the CSS for colors etc. After referring to this thread a couple times and working things out, everything appears to be working as it should, EXCEPT, on my products_new.php page, I'm getting a stray "?>" right above the banner. I've now been thru this entire thread, tinkered around with the coding myself a bit, and still no luck getting rid of that "?>" which appears to be coming from the <html <?php echo HTML_PARAMS; ?>> tag. I've compared the code to the index page, which displays properly, and they seem to be identical to my unexperienced eye. Here's the top part of the products_new.php:

 

<?php
/*
 $Id: products_new.php 1739 2007-12-20 00:52:16Z hpdl $
 modified for thumbnail view 2007-07-24
 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

 Copyright © 2003 osCommerce

 Released under the GNU General Public License
*/
require('includes/application_top.php');
 $HTTP_GET_VARS['manufacturers_id'] = '';
unset($HTTP_GET_VARS['manufacturers_id']);
unset($_GET['manufacturers_id']);
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCTS_NEW);
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_PRODUCTS_NEW));
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
[color="#FF0000"]<html <?php echo HTML_PARAMS; ?>> [/color]
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>

 

Any help would be appreciated. You know how sometimes you look at the same piece of code over and over and over, and you just get to the point where it all looks the same? I'm there. Overlooking the obvious, I'm sure.

 

Namasté,

Russ

 

PS - Link for reference

One: people are not wearing enough hats. Two: matter is energy. In the universe, there are many energy fields which we cannot normally perceive. Some energies have a spiritual source which act upon a person's soul. However, this soul does not exist ab initio, as orthodox Christianity teaches. It has to be brought into existence by a process of guided self-observation. However, this is rarely achieved, owing to man's unique ability to be distracted from spiritual matters by everyday trivia.

Link to comment
Share on other sites

iF YOU LOOK AT YOUR INDEX.PHP CODE you will see its just the same.

 

The supplied products_new does not do that, it must be from elsewhere in your code.

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

looked at your source the ?> comes from prior to the doctype, so you iether don't have exacly:

 

 

<?php
/*
 $Id: products_new.php 1739 2007-12-20 00:52:16Z hpdl $
 modified for thumbnail view 2007-07-24
 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com/"]http://www.oscommerce.com[/url]

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
require('includes/application_top.php');
 $HTTP_GET_VARS['manufacturers_id'] = '';
unset($HTTP_GET_VARS['manufacturers_id']);
unset($_GET['manufacturers_id']);
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCTS_NEW);
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_PRODUCTS_NEW));

?>

 

or there is an error in one of the called files, most likely $language . '/' . FILENAME_PRODUCTS_NEW

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

Thanks, Mr. Sam. The problem was, indeed, in the includes/languages/english/products_new.php file. In my state of googly-eyed-ness, there was an extra "?>" in there that I had overlooked or left in when copying and pasting from the installation instructions. Took out the extra characters, and now they don't appear on the page. Thanks for the guidance, my friend. You are a gentleman and a scholar.

 

Namasté,

Russ

One: people are not wearing enough hats. Two: matter is energy. In the universe, there are many energy fields which we cannot normally perceive. Some energies have a spiritual source which act upon a person's soul. However, this soul does not exist ab initio, as orthodox Christianity teaches. It has to be brought into existence by a process of guided self-observation. However, this is rarely achieved, owing to man's unique ability to be distracted from spiritual matters by everyday trivia.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...