Jump to content

Vines

Members
  • Content count

    43
  • Joined

  • Last visited

Everything posted by Vines

  1. I'm a total nube on oscommerce. I just did a clean install which is working fine and have added Advanced Categories Admin (ACA2), which I think is working fine. I am now trying to add the Products Extra Fields contribution. I changed all the files necessary, added the additional files, ran the SQL successfully, but have this error when I try to enter the Product Extra Fields admin area at: admin-->catalog --> Product Extra Fields: The require leads to admin/includes/application_top.php, which is present. I searched throughout these forums but I didn't see anything with this problem. I believe I followed the installation instructions for both ACA2 and Extra Fields to the letter. Any assistance would be greatly appreciated.
  2. Vines

    Dynamic SiteMap

    I had the same problem of a blank page using dynamic sitemap and STS. I followed your advice and got it working. Then, because I just couldn't stand it, I compared the files to see what the error was. I found it in line 90 of catalog/dynamic_sitemap.php: If you are using STS and getting a blank site map page, you just need to change line 90 from: <?php //require(DIR_WS_INCLUDES . 'column_right.php'); ?> to: <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> In other words, uncomment the require.
  3. Vines

    [Contribution] STS v4

    I solved my own problem here, and of course it was something simple. Turns out my <div> code and CSS code were fine. The problem with Firefox not interpreting <div> and CSS properly with STS is related to the included STS_template.html file. The first line in this file is: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> For whatever reason I didn't care to research too deeply, this line should specify a version and should in fact read this way: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Making this very minor change did the trick. Unfortunately, only after several hours of failed attempts to get Firefox to display <div> properly.
  4. Vines

    [Contribution] STS v4

    If you alter the tables in sts_template.html to include the images your reference, then they will show up on all pages. I would suggest making minor alterations to the tables in sts_template.html and then seeing what impact they have on your site and all the various pages. You can hard-code any images in the template file. You only need one template file for your whole site, unless you want different layouts on specific pages, in which case you make a specific template page for each page your want to be different as discussed in the user manual for STS.
  5. Just a quick note to make sure that everyone knows that there is a NEW THREAD for STS 4.x specifically. I believe the current one is for previous versions. For the latest thread and 4.x STS, go here: http://forums.oscommerce.com/index.php?showtopic=204381
  6. FYI - I was having this problem and it disappeared after installing and using STS to form the pages. Can't say why, but it might work for you. BTW - if you are not using STS, I highly recommend it. It seems a lot more complicated than it is. It's actually simple to install, but for most when it is activated there will be some layout issues. These are easily corrected.
  7. Vines

    [Contribution] STS v4

    Thanks to everyone who has contributed to STS. It's a fantastic contrib! And, has made my site look 1000Xs better. I have a problem with tabs though. I tried to include the Nav Bar with On/Off tabs contrib but couldn't figure out how to get it to display using STS. . . So, then I tried to incorporate similar code from my Wordpress Blog so that the header would be the same across osC and Wordpress. For the heck of it, I just copy/pasted the corresponding code from wordpress to my STS template file and osC stylesheet. To my surprise, it actually works in Internet Explorer but does not work in Firefox. Obviously, IE can interpret my poor code, but it's not quite "right" because Firefox doesn't show it. The problem is undoubtedly due to Wordpress' use of divs rather than tables, and my lack of expertise with divs, as well. Here is the relevant code I added to STS template (just what begins and end with divs): <table cellpadding="10" width="100%"> <tr> <td align="center"><br /> <div id="navigation"> <ul> <li><a href="http://www.vineswine.com/index.php" title="VINES WINE SHOP">HOME</a></li> <li class="current_page_item"><a href="http://vineswine.com/blog/" title="VINES WINE BLOG">BLOG</a></li> <li class="page_item"><a href="http://vineswine.com/blog/about/" title="ABOUT">ABOUT</a></li> </ul> </div><!-- end id:navigation --> <table border="0" width="960" cellspacing="0" cellpadding="3"> <tr class="header"> <td align="left"><br><a href="http://www.vineswine.com"><img src="http://www.vineswine.com/images/vineswine-temp.jpg" border="0" alt="VinesWine.com"></a><br></td> <td align="right"><?php echo tep_draw_form('search', tep_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get') . tep_draw_hidden_field('search_in_description','1') . tep_draw_input_field('keywords', '', 'size="10" maxlength="30" style="width: ' . (BOX_WIDTH+10) . 'px"') . ' ' . tep_draw_pull_down_menu('categories_id', tep_get_categories(array(array('id' => '', 'text' => BOX_ALL_CATEGORIES)))) . ' ' . tep_hide_session_id() . '<input type="submit" name="Submit" value="Search">' . '</form>'; ?></td> </tr> And, here is the relevant CSS added to the osC stylesheet: #navigation { background: transparent; margin: 20px auto 0px; overflow: hidden; width: 940px; position: relative; text-align: left; font-family: Tahoma, Verdana, Arial, Serif; } html #navigation { height: 1%; } #navigation ul li { float: left; margin: 0px 5px 0px 0px; list-style-type: none; } #navigation ul li a { border: #ddd 1px solid; border-bottom:none; padding: 0 10px 2px 10px; display: block; background: #ededed; text-decoration: none; } #navigation ul li a:hover { background: #fafafa; } #navigation ul li a:active { background: #fafafa; } #navigation ul li.current_page_item a { background: #fff; color: #333; border: #ccc 1px solid; border-bottom:none; } #navigation ul li.search { font-size: 0.9em; right: 0px; position: absolute; top: 0px; } #navigation ul li.search input#s { border: #999 1px solid; font-size: 0.9em; width: 100px; padding: 2px; background:#fff; } #navigation ul li.search input#searchsubmit { border: #999 1px solid; font-size: 0.9em; background: #e6e6e6; margin: 0px 0px 0px 2px; color: #265e15; padding: 2px; } I hope someone can help me out. Is what I'm doing even possible in Firefox or generally? If so, it must be something simple. I very much will appreciate any advice. You can see what I'm talking about at the link below. Check it in IE and then in FF and you'll see the difference: http://vineswine.com/index.php Thanks!
  8. Thanks for a great module. I recently re-installed it after a failed first attempt. I thought I could get by without an easier template system, but I was wrong! Oscommerce is in bad need of something like STS integrated into the core. Anyway, on second install, I had the same problem as I did in the first attempt. My categories box and manufacturers drop downs were the only blocks that wouldn't show properly. I spent hours trying to figure out what the problem was and then finally I realized I should delete my cache, since these are the only two blocks in column_left.php that use an if statement related to cache. Lo and behold, turning off the cache fixed the disply problem on these blocks. Just a note in case someone else runs into this and spends hours dancing around the cache issue. The time was well spent though because I'm more familiar with STS - it's actually really SIMPLE as the name implies and my site is 1000 times nicer already. Thanks again for a great module!
  9. Vines

    dev of Media Monster v0.0 Beta

    Excellent! I'm very excited about your enthusiasm for this project. I will be interested to help in any way I can.
  10. Vines

    Seperate Pricing Per Customer v3.5

    Well, on further investigation, I discovered that the problem between Ezier New Fields information on the product_info.php page when using also SPPC and Quantity Price Breaks for SPPC, is actually related not to SPPC but to Quantity Price Breaks. Ezier New Fields and SPPC work fine together. When QPB is added, there is incompatibility on the product_info.php page between EZier new fields include of "ezier_new_fields.php" and QPB's "priceformatter.php." It's beyond my php skill to fix it and I realized that I need a price break that is not product specific, so I uninstalled QPB. Now my Ezier New Fields and SPPC work fine again, though I screwed many of the other contribs on the site, so now I am having to rebuild a lot of code. For what it's worth.
  11. Vines

    Seperate Pricing Per Customer v3.5

    Thanks for the response. I have Ezier New Fields installed which sounds similar to the "Show Your Price" contrib you mention. I will check out that contrib and also your suggestions as to how to make all of them work together. Perhaps I will uninstall EZier New Fields, if it looks like Show Your Price can do the same thing and be compatible with SPPC and Quantity Price Break.
  12. Yes, please. I will be very interested, especially in media (video) capabilities. Look forward to it. I can't offer much by way of php skill, but I can definitely add some stuff related to media.
  13. Thanks for your list. Your site is very nice. . I will be adding some of these!
  14. Vines

    Seperate Pricing Per Customer v3.5

    I've been doing a little more work on the problem I posted above and believe I've isolated it to the include statement on product_info.php that calls ezier_new_fields.php. I've posted this on the EZier New Fields thread but thought I would post here in case someone using SPPC has already encountered this and solved it, or in case I'm wrong about the source of the problem. EZier makes changes on product_info.php to add a call to include ezier_new_fields.php. This is what generates the EZier fields. The code in ezier_new_fields.php includes a section if the "customer discount" contrib is installed to get the discount price. I'm guessing that something similar needs to be written to get it to work with SPPC. If anyone has gotten EZier and SPPC to work together on product_info.php, I would very much appreciate any insights. Am I on the right track? Do I need to make changes to ezier_new_fields.php or is my problem elsewhere? Thanks in advance if you spend any time on this question. Here's the code I think is relevant from ezier_new_fields.php (note the sections about customer discounts): / Get the retail price & clean up the decimal places $retail = osc_ez(($currencies->display_price($product_info['products_retail_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $special_flag = false; $cust_flag = false; if ($new_price = tep_get_products_special_price($product_info['products_id'])) { // If there is a special ... Special Overrides customer discount... $our = osc_ez(($currencies->display_price($product_info['products_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $special_price = osc_ez(($currencies->display_price((tep_get_products_special_price($product_info['products_id'])),tep_get_tax_rate($product_info['products_tax_class_id']))),0,$strlen); $save2 = osc_ez($currencies->display_price($product_info['products_retail_price'] - (tep_get_products_special_price($product_info['products_id'])), '')); $save = (((tep_get_products_special_price($product_info['products_id'])) / ($product_info['products_retail_price'])) * 100); $special_flag = true; } if (((strstr($customer_discount, "-") != 0) && ((tep_get_products_special_price($product_info['products_id'])) == null))) { // If there isn't a special, but still a customer discount... We'll need those decimals.... $retail = osc_ez(($currencies->display_price_nodiscount($product_info['products_retail_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $our = ($product_info['products_price']); $our = $our - $our * abs($customer_discount) / 100; $save2 = osc_ez($currencies->display_price_nodiscount(($product_info['products_retail_price'] - $our), '')); $save = (($our / ($product_info['products_retail_price'])) * 100); $our = osc_ez($currencies->display_price_nodiscount($product_info['products_price'], '')); $cust = osc_ez($currencies->display_price($product_info['products_price'], '')); $cust_flag = true; } // End cust discount if ((strstr($customer_discount, "-") == 0) && ((tep_get_products_special_price($product_info['products_id'])) == null)) { // Just a regular price $our = osc_ez(($currencies->display_price($product_info['products_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $save = (($product_info['products_price'] / ($product_info['products_retail_price'])) * 100); $save2 = osc_ez($currencies->display_price($product_info['products_retail_price'] - $product_info['products_price'], '')); } // End of regular price $save = (100 - $save); $save = round($save); ?> </td> </tr> </table> <?php echo TEXT_PRODUCTS_RETAIL_PRICE_INFO . '<s>' . $retail . '</s>'; if ($special_flag == true) { echo TEXT_PRODUCTS_PRICE_INFO . '<s>' . $our . '</s>'; echo TEXT_PRODUCTS_PRICE_SPECIAL_INFO . $special_price . '</font>'; } else if ($cust_flag == true) { echo TEXT_PRODUCTS_PRICE_INFO_REGULAR . '<s>' . $our . '</s>'; echo TEXT_PRODUCTS_PRICE_SPECIAL_CUST . $cust . '</font>'; } else { echo TEXT_PRODUCTS_PRICE_INFO . $our; } // Uncomment the line that you want below, and comment our the default option if you like, description is to the right // echo TEXT_PRODUCTS_SAVE_INFO . $save2 . '</font>'; //This line is price shown // echo TEXT_PRODUCTS_SAVE_INFO . $save . '%</font>'; //This line is % shown echo TEXT_PRODUCTS_SAVE_INFO . $save2 . ' (' . $save . '%)</font>'; //This line is % and price together } else { ?> </td> </tr> </table> <?php
  15. Vines

    EZier New Fields

    EZier New Fields and SPPC: Has anyone gotten these two to work together on product_info.php? They work fine together most places, but on a product_info.php page, if a Separate Price Per Customer is set, the EZier section will just show the regular price. If no Separate Price is set or if a Special Price is set, everything works fine. It says in the EZier instructions that it is compatible with the "customer discount" contrib, but I don't think this is SPPC. The EZier changes on product_info.php add a call to include ezier_new_fields.php. This is what generates the EZier fields. The code in ezier_new_fields.php includes a section if the customer discount contrib is installed to get the discount price. I'm guessing that something similar needs to be written to get it to work with SPPC. Has anyone gotten EZier and SPPC to work together on product_info.php? I would very much appreciate any insights. Am I on the right track? Do I need to make changes to ezier_new_fields.php or is my problem elsewhere? Thanks in advance if you spend any time on this question. Here's the code I think is relevant from ezier_new_fields.php (note the sections about customer discounts): / Get the retail price & clean up the decimal places $retail = osc_ez(($currencies->display_price($product_info['products_retail_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $special_flag = false; $cust_flag = false; if ($new_price = tep_get_products_special_price($product_info['products_id'])) { // If there is a special ... Special Overrides customer discount... $our = osc_ez(($currencies->display_price($product_info['products_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $special_price = osc_ez(($currencies->display_price((tep_get_products_special_price($product_info['products_id'])),tep_get_tax_rate($product_info['products_tax_class_id']))),0,$strlen); $save2 = osc_ez($currencies->display_price($product_info['products_retail_price'] - (tep_get_products_special_price($product_info['products_id'])), '')); $save = (((tep_get_products_special_price($product_info['products_id'])) / ($product_info['products_retail_price'])) * 100); $special_flag = true; } if (((strstr($customer_discount, "-") != 0) && ((tep_get_products_special_price($product_info['products_id'])) == null))) { // If there isn't a special, but still a customer discount... We'll need those decimals.... $retail = osc_ez(($currencies->display_price_nodiscount($product_info['products_retail_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $our = ($product_info['products_price']); $our = $our - $our * abs($customer_discount) / 100; $save2 = osc_ez($currencies->display_price_nodiscount(($product_info['products_retail_price'] - $our), '')); $save = (($our / ($product_info['products_retail_price'])) * 100); $our = osc_ez($currencies->display_price_nodiscount($product_info['products_price'], '')); $cust = osc_ez($currencies->display_price($product_info['products_price'], '')); $cust_flag = true; } // End cust discount if ((strstr($customer_discount, "-") == 0) && ((tep_get_products_special_price($product_info['products_id'])) == null)) { // Just a regular price $our = osc_ez(($currencies->display_price($product_info['products_price'],tep_get_tax_rate($product_info['products_tax_class_id'])))); $save = (($product_info['products_price'] / ($product_info['products_retail_price'])) * 100); $save2 = osc_ez($currencies->display_price($product_info['products_retail_price'] - $product_info['products_price'], '')); } // End of regular price $save = (100 - $save); $save = round($save); ?> </td> </tr> </table> <?php echo TEXT_PRODUCTS_RETAIL_PRICE_INFO . '<s>' . $retail . '</s>'; if ($special_flag == true) { echo TEXT_PRODUCTS_PRICE_INFO . '<s>' . $our . '</s>'; echo TEXT_PRODUCTS_PRICE_SPECIAL_INFO . $special_price . '</font>'; } else if ($cust_flag == true) { echo TEXT_PRODUCTS_PRICE_INFO_REGULAR . '<s>' . $our . '</s>'; echo TEXT_PRODUCTS_PRICE_SPECIAL_CUST . $cust . '</font>'; } else { echo TEXT_PRODUCTS_PRICE_INFO . $our; } // Uncomment the line that you want below, and comment our the default option if you like, description is to the right // echo TEXT_PRODUCTS_SAVE_INFO . $save2 . '</font>'; //This line is price shown // echo TEXT_PRODUCTS_SAVE_INFO . $save . '%</font>'; //This line is % shown echo TEXT_PRODUCTS_SAVE_INFO . $save2 . ' (' . $save . '%)</font>'; //This line is % and price together } else { ?> </td> </tr> </table> <?php
  16. Vines

    Seperate Pricing Per Customer v3.5

    Here is another question related to integrating Ezier New Fields with Quantity Price Break for SPPC. I've spent the last couple of days putting these three together and it's pretty much working perfectly as far as I can tell, with one exception. I previously had SPPC and Ezier New Fields working perfectly together. Then, I decided I need Quantity Price Break, so I backed up all my SPPC with Ezier files, then shifted to SPPC with Quantity Price Break. I test QPB for SPPC and this was working fine. So, then I went back into these files and re-added the Ezier New Fields code. I'm actually pretty impressed that I was able to do this and get it working 99%, given my lack of PHP expertise. There is only one problem now with the integration. The EZier fields on the product_info.php page do not read properly for special price customer groups anymore. The "retail price" and "your price" and thus "savings" remain at the default values regardless of whether the customer is in a different group. This was working fine before I tried to include QPB. Fortunately, all of the cart functionality and the QPB price break prices in the heading are the right prices for each customer group, it's just the part of the product listing that is generated by ezier_new_fields.php that are messed up. Here's the code. I'm hoping a php guru or someone who has put these three together before can easily spot the problem. It was such a complicated thing to put these 3 together, I'm sure that it's something simple. I just can't see it. Thoughts, comments, questions? Thanks! <?php /* $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $ adapted for Separate Pricing Per Customer v4 and Price Break 1.11.3 2005/03/12 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO); $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_check = tep_db_fetch_array($product_check_query); // BOF Separate Price per Customer if(!tep_session_is_registered('sppc_customer_group_id')) { $customer_group_id = '0'; } else { $customer_group_id = $sppc_customer_group_id; } // EOF Separate Price per Customer ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <?php // BOF: Header Tag Controller v2.5.7 if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) { require(DIR_WS_INCLUDES . 'header_tags.php'); } else { ?> <title><?php echo TITLE; ?></title> <?php } // EOF: Header Tag Controller v2.5.7 ?> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script language="javascript"><!-- function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le ft=150') } //--></script> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="3"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php if ($product_check['total'] < 1) { ?> <tr> <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="3" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="3"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { // BOF Separate Price per Customer, Price Break 1.11.3 mod $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, p.products_pdfupload, pd.products_url, p.products_retail_price, p.products_price, NULL as specials_new_products_price, p.products_price1, p.products_price2, p.products_price3, p.products_price4, p.products_price5, p.products_price6, p.products_price7, p.products_price8, p.products_price1_qty, p.products_price2_qty, p.products_price3_qty, p.products_price4_qty, p.products_price5_qty, p.products_price6_qty, p.products_price7_qty, p.products_price8_qty, p.products_qty_blocks, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); // EOF Separate Price per Customer, Price Break mod tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); // BOF Separate Pricing per Customer, Price Break 1.11.3 mod $pf->loadProductSppc((int)$HTTP_GET_VARS['products_id'], (int)$languages_id, $product_info); $products_price = $pf->getPriceString(); // EOF Separate Pricing per Customer, Price Break 1.11.3 mod if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>'; } else { $products_name = $product_info['products_name']; } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading" valign="top"><?php echo $products_name; ?></td> <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td> </tr> </table></td></tr> <tr> <td> <table border="0"> <tr> <td class="main" align="center" valign="top"> <?php if (tep_not_null($product_info['products_image'])) { ?> <script language="javascript"><!-- document.write('<?php echo '<a href="java script:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>'); //--></script> <noscript> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </noscript> </td> <td class="main" valign="top"> <?php // START: Extra Fields Contribution v2.0i with fix list($products_id_clean) = split('{', $product_info['products_id']); $extra_fields_query = tep_db_query(" SELECT pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value ,pef.products_extra_fields_status as status FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id=".$products_id_clean." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$languages_id."') ORDER BY products_extra_fields_order"); while ($extra_fields = tep_db_fetch_array($extra_fields_query)) { if (! $extra_fields['status']) // show only enabled extra field continue; echo ' <b><font color="#922248">'.$extra_fields['name'].': </b></font>'; echo '<font color="#333333">' .$extra_fields['value'].'<BR></font> '; } // END: Extra Fields Contribution ?> </td> <td class="main" valign="top" align="center"> <?php } include(DIR_WS_MODULES . 'ezier_new_fields.php'); ?> <br><br> <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?> <br><br><br> <?php if (tep_not_null($product_info['products_pdfupload'])) { ?> <table border="1" cellspacing="0" cellpadding="5" align="right"> <tr> <td align="center"> <!-- Add Video Extract --> <?php if ($product_info['products_pdfupload'] == '') { echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_pdfupload']) . '">' . TEXT_CLICK_TO_PDFUPLOAD2 . '</a>'; } else { echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_pdfupload']) . '">' . TEXT_CLICK_TO_PDFUPLOAD . '</a>'; } ?> <!-- End Video Extract --> </br> </td> </tr> </table> <?php } ?> </td> </tr> </table> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"> <hr> <p><?php echo stripslashes($product_info['products_description']); ?></p> <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td> </tr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> </tr> <?php } ?> </table> <?php } ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); if ($reviews['count'] > 0) { ?> <tr> <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (tep_not_null($product_info['products_url'])) { ?> <tr> <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td> </tr> <?php } else { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td> <!-- BOF price-break-1.11.3 <td class="main" align="right"><?php // echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> --> <td class="main" align="right"> <table border="0" align="right"> <tr><td align="center"> <?php echo TEXT_ENTER_QUANTITY . ":" . tep_draw_input_field('cart_quantity', $pf->adjustQty(1), 'size="6"'); ?> </td></tr> <tr><td align="center"> <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?> </td></tr> </table> </td> <!-- EOF price-break-1.11.3 --> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td> <?php if ((USE_CACHE == 'true') && empty($SID)) { echo tep_cache_also_purchased(3600); } else { include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } } ?> </td> </tr> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
  17. Vines

    Quantity Price Breaks

    Just set up Quantity Price Breaks for Separate Pricing Per Customer and it's working pretty well. My site is beginning to have some very sophisticated pricing capability. Thanks to all who contributed to this. Does anyone know if there is a mod to this that automatically sets a % discount across all products for a certain quantity? Maybe some other contrib does this but I guess I thought this could operate at a macro level in addition to the per product basis, which of course is great. Thanks.
  18. I thought I checked that the file you mention was present but now i see that the errors are gone, so perhaps that was it. In the interim, I had installed Category Descriptions made simple because I couldn't get this working. I will go back and see if I can get this to work. I am using HTC, so hopefully that is not a problem.
  19. Vines

    Seperate Pricing Per Customer v3.5

    I posted this in the EZier New Fields contribution support topic but thought I would post it here also as it relates to getting EZier New Fields to work with SPPC. If anyone else is having this problem with integrating EZier New Fields and SPPC and getting the retail price and savings to show up in the product listing, I figured out the problem. Here's the solution: Once SPPC is installed and you go to install EZier following the instructions, you get to the modifications for catalog/includes/modules/product_listing.php: You will note that a compare to the SPPC version of the section above shows that all sections of code beginning "($listing('manufacturers_AND_SO_ON" in the EZier instructions has been changed to "($listing[x]('manufacturers_AND_SO_ON" in the SPPC code. To make the EZier fields (Retail Price and Savings) show up on the product listing, simply insert the missing "[x]" after $listing and before the "(" in all instances of the EZier code. This worked for me. Or, if you don't care to look at the fix, you can just copy paste this code instead of the code stated in the EZier instructions: case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing[$x]['manufacturers_id']) . '">' . $listing[$x]['manufacturers_name'] . '</a> '; break; // EZier New Fields added case 'PRODUCT_LIST_RETAIL_PRICE': $lc_align = 'right'; if ((tep_not_null($listing[$x]['products_retail_price'])) && ($listing[$x]['products_retail_price']) > 0) { $lc_text = '<font color="#55508a">' . $currencies->display_price($listing[$x]['products_retail_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])); } else { $lc_text = ' '; } break; // End EZier New Fields added case 'PRODUCT_LIST_PRICE': $lc_align = 'right'; if (tep_not_null($listing[$x]['specials_new_products_price'])) { $lc_text = ' <s>' . $currencies->display_price($listing[$x]['products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($listing[$x]['specials_new_products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . '</span> '; } else { $lc_text = ' ' . $currencies->display_price($listing[$x]['products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . ' '; } break; // EZier New Fields added case 'PRODUCT_LIST_SAVE': $lc_align = 'right'; if (tep_not_null($listing[$x]['specials_new_products_price'])) { $lc_save = round(100 - (( $listing[$x]['specials_new_products_price'] / $listing[$x]['products_retail_price'] ) * 100 )); $lc_text = '<font color="red"> ' . $lc_save . '% </font>'; } else { if ((tep_not_null($listing[$x]['products_retail_price'])) && ($listing[$x]['products_retail_price']) > 0) { $lc_save = round(100 - (( $listing[$x]['products_price'] / $listing[$x]['products_retail_price'] ) * 100 )); $lc_text = '<font color="red"> ' . $lc_save . '% </font>'; } else { $lc_text = ' '; }} break; // End EZier New Fields added case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = ' ' . $listing[$x]['products_quantity'] . ' '; break;
  20. Vines

    EZier New Fields

    If anyone else is having this problem with integrating EZier New Fields and SPPC and getting the retail price and savings to show up in the product listing, I figured out the problem. Here's the solution: Once SPPC is installed and you go to install EZier following the instructions, you get to the modifications for catalog/includes/modules/product_listing.php: You will note that a compare to the SPPC version of the section above shows that all sections of code beginning "($listing('manufacturers_AND_SO_ON" in the EZier instructions has been changed to "($listing[x]('manufacturers_AND_SO_ON" in the SPPC code. To make the EZier fields (Retail Price and Savings) show up on the product listing, simply insert the missing "[x]" after $listing and before the "(" in all instances of the EZier code. This worked for me. Or, if you don't care to look at the fix, you can just copy paste this code instead of the code stated in the EZier instructions: case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing[$x]['manufacturers_id']) . '">' . $listing[$x]['manufacturers_name'] . '</a> '; break; // EZier New Fields added case 'PRODUCT_LIST_RETAIL_PRICE': $lc_align = 'right'; if ((tep_not_null($listing[$x]['products_retail_price'])) && ($listing[$x]['products_retail_price']) > 0) { $lc_text = '<font color="#55508a">' . $currencies->display_price($listing[$x]['products_retail_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])); } else { $lc_text = ' '; } break; // End EZier New Fields added case 'PRODUCT_LIST_PRICE': $lc_align = 'right'; if (tep_not_null($listing[$x]['specials_new_products_price'])) { $lc_text = ' <s>' . $currencies->display_price($listing[$x]['products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($listing[$x]['specials_new_products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . '</span> '; } else { $lc_text = ' ' . $currencies->display_price($listing[$x]['products_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) . ' '; } break; // EZier New Fields added case 'PRODUCT_LIST_SAVE': $lc_align = 'right'; if (tep_not_null($listing[$x]['specials_new_products_price'])) { $lc_save = round(100 - (( $listing[$x]['specials_new_products_price'] / $listing[$x]['products_retail_price'] ) * 100 )); $lc_text = '<font color="red"> ' . $lc_save . '% </font>'; } else { if ((tep_not_null($listing[$x]['products_retail_price'])) && ($listing[$x]['products_retail_price']) > 0) { $lc_save = round(100 - (( $listing[$x]['products_price'] / $listing[$x]['products_retail_price'] ) * 100 )); $lc_text = '<font color="red"> ' . $lc_save . '% </font>'; } else { $lc_text = ' '; }} break; // End EZier New Fields added case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = ' ' . $listing[$x]['products_quantity'] . ' '; break;
  21. Vines

    Seperate Pricing Per Customer v3.5

    Texmaxx, THANK YOU! Works like a charm. . I see the changes that you made to make it work. Definitely appreciate the fast assistance. I guess I'll be taking a php class sometime :-)
  22. Thanks for taking a look at my posts and trying to come up with something. I agree with you on some of the other functionality that you'd like. I'm pretty familiar with gallery and coppermine and you are right about osc being weak on images. . . what about video???? We're planning on doing lots of video and let me tell you, the contribs for that are few and far between with very limited capability. I guess with time here on the boards, I am learning about osc and the history. . . osc is very focused on the transactions (as it should be) but it has neglected the full feature sets that are required by serious websites. Hence, you get all the great contribs, but there is no cohesion and lots of one-offs and lots of competing contribs. I guess this is what oscMax was trying to do with their fork, but that's a different topic. anyway, hoping that 3.0 will have a lot more standard features. Ease of customization is great but the requirement to heavily customize is a pain. . . more functionality out of the box please. Good luck and let me know when you make that killer image contrib :-)
  23. I also wondered about that post. I have tried most of the image management contribs and I settled on this one. It installed pretty easily and it works well enough despite a few bugs. I haven't been able to piece the backstory together as I've just been using OSC for a few weeks, but I guess the original producer of this contrib has disappeared. Despite his disappearance and the bugs, it's a great contrib when it's working. Rather than start a whole new project, isn't it possible to pick up on Image Magic where the original producer left off? Why recreate the wheel, assuming the core functionality and system with this contrib is sound? I may be treading on proprietary or open source etiquette, but I thought the whole point of open source was that anyone can modify or change the base code. Maybe a group could pick Image Magic back up? Call it a "fork."
  24. Doing some further digging into include/functions/html_output.php, it is clear that this is the code that writes the image size on the product_info.php page, and for whatever reason, this code predominates over the boxes code. Basically, this is a "feature" and not a "bug." The problem will only occur on the product_info.php page when the product_id is the same for the product page as well as either of the reviews or specials boxes. Interestingly, if the boxes are on the left, then the bug doesn't appear. I can switch my boxes using infobox admin. I'm guessing that this behavior would be due to the sequential build of the page and that the boxes on the left are "built" prior to the product box in the main column. It seams to me that there should be an easy enough fix to make the html_output code work exclusively on one instance of the image and not on subsequent calls. . but this is beyond my ability. //Allow for a new intermediate sized thumbnail size to be set //without any changes having to be made to the product_info page itself. //(see the lengths I go to to make your life easier :-) if (strstr($_SERVER['PHP_SELF'],"product_info.php")) { if (isset($product_info['products_image']) && $src == DIR_WS_IMAGES . $product_info['products_image'] && $product_info[products_id]==$_GET['products_id']) { //final check just to make sure that we don't interfere with other contribs $width = PRODUCT_INFO_IMAGE_WIDTH == 0?'':PRODUCT_INFO_IMAGE_WIDTH; $height = PRODUCT_INFO_IMAGE_HEIGHT == 0?'':PRODUCT_INFO_IMAGE_HEIGHT; $product_info_image=true; $page="prod_info"; } }
  25. Thanks for your suggestion on this persnickity problem. Sadly, the solution doesn't solve the problem and actually makes it worse. The problem only happens on the product_info page when the product is the same as the review or the special in the right column. On this page, the changes of width and height divided by 2 are not applied. But on different pages, the /2 code does apply and this makes the thumbnails in those boxes too small. The result then is too small on all pages except the product page where they remain too big. Looking at the code made me realize that "small_image_width" and height are used on both the product_info.php page for the actual product image, as well as in the reviews.php and specials.php boxes for those images. It would seem then that image magic is incapable of dealing with the duplicate uses of "small_image_width" and height when the product info page is pulled and this string is used for the actual product image as well as reviews and specials boxes images for the same product. basically, it builds the first instance which is the bigger product image and then duplicates this for the specials and the reviews boxes: http://vineswine.com/northstar-vineyard-st...-2002-p-28.html It occured to me that perhaps the product_info.php image call should not be "small_image_width" and height but trying to change this didn't do anything for me. This is a smallish issue but it's bugging me!
×