Jump to content

mthierfelder

Members
  • Content count

    109
  • Joined

  • Last visited

Everything posted by mthierfelder

  1. mthierfelder

    How Did You Hear About Us - Support

    I've got PWA installed on a shop, and put this module in pretty easily...everything seems to be working well so far. All I did was put this block in create_account.php: <!-- //rmh referral start --> <?php if ((tep_not_null(tep_get_sources()) || DISPLAY_REFERRAL_OTHER == 'true') && (!tep_session_is_registered('referral_id') || (tep_session_is_registered('referral_id') && DISPLAY_REFERRAL_SOURCE == 'true')) ) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_SOURCE; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_SOURCE; ?></td> <td class="main"><?php echo tep_get_source_list('source', (DISPLAY_REFERRAL_OTHER == 'true' || (tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? true : false), (tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? '9999' : '') . ' ' . (tep_not_null(ENTRY_SOURCE_TEXT) ? '<span class="inputRequirement">' . ENTRY_SOURCE_TEXT . '</span>': ''); ?></td> </tr> <?php if (DISPLAY_REFERRAL_OTHER == 'true' || (tep_session_is_registered('referral_id') && tep_not_null($referral_id))) { ?> <tr> <td class="main"><?php echo ENTRY_SOURCE_OTHER; ?></td> <td class="main"><?php echo tep_draw_input_field('source_other', (tep_not_null($referral_id) ? $referral_id : '')) . ' ' . (tep_not_null(ENTRY_SOURCE_OTHER_TEXT) ? '<span class="inputRequirement">' . ENTRY_SOURCE_OTHER_TEXT . '</span>': ''); ?></td> </tr> <?php } ?> </table></td> </tr> </table></td> </tr> <?php } else if (DISPLAY_REFERRAL_SOURCE == 'false') { echo tep_draw_hidden_field('source', ((tep_session_is_registered('referral_id') && tep_not_null($referral_id)) ? '9999' : '')) . tep_draw_hidden_field('source_other', (tep_not_null($referral_id) ? $referral_id : '')); } ?> <!-- //rmh referral end --> Put it in After this: <?php // PWA BOF } else { // Ingo PWA Ende ?> ...and just before this: <tr> <td><?php echo tep_draw_hidden_field('guest', 'guest'); ?></td> </tr> <?php } // PWA EOF ?>
  2. mthierfelder

    Country-State Selector

    If you just wanted to get rid of the 1 in that box, use the following code in your /includes/functions/ajax.php Find this: if ( tep_db_num_rows($zones_query) ) { $output .= tep_draw_pull_down_menu('zone_id', $zones_array, $default_zone); } else { $output .= tep_draw_input_field('state', $default_zone); } Replace with this: if ( tep_db_num_rows($zones_query) ) { $output .= tep_draw_pull_down_menu('zone_id', $zones_array, $default_zone); } else { if ($default_zone != '1') { $output .= tep_draw_input_field('state', $default_zone); } else { $output .= tep_draw_input_field('state', ''); } }
  3. mthierfelder

    Country-State Selector

    I found the problem, and posted the bug fix to the addons page. The problem was in the README.HTM file, it added an extra "}" in /admin/customers.php, fix is here: Line 152: Replace: // +Country-State Selector } // End if (!$refresh) if (($error == false) && ($refresh != 'true')) { // -Country-State Selector with: // +Country-State Selector // End if (!$refresh) if (($error == false) && ($refresh != 'true')) { // -Country-State Selector
  4. mthierfelder

    Country-State Selector

    Is there a fix for the "unexpected T_CASE" in customers.php? I've seen lots and lots of people with this problem but no one is posting a fix. Please help.
  5. mthierfelder

    STS V4.5.8 & HTC

    Hi, I am trying to do the same thing, I need to integrate STS with UlraPics and I am using the content template for product_info. Any pointers would be GREATLY appreciated, or code samples are even better! Thanks, Mike
  6. mthierfelder

    Pop Up Mouseover Images

    I am using STS too, couldn't get this one to work but found a much simpler solution. It also works with products listing columns contrib. This goes before the </head> tag of your index.php.html or whichever template you are using for your index page in STS (if not using STS just put it in the regular index.php file): <script language="javascript" src="includes/popup.js"></script> <script language="javascript" src="includes/utility.js"></script> Here is popup.js: // Copyright © 2000 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. // ******************************** // application-specific functions * // ******************************** // store variables to control where the popup will appear relative to the cursor position // positive numbers are below and to the right of the cursor, negative numbers are above and to the left var xOffset = 30; var yOffset = -30; function showPopup (targetObjectId, eventObj) { if(eventObj) { // hide any currently-visible popups hideCurrentPopup(); // stop event from bubbling up any farther eventObj.cancelBubble = true; // move popup div to current cursor position // (add scrollTop to account for scrolling for IE) var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0); var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0); moveObject(targetObjectId, newXCoordinate, newYCoordinate); // and make it visible if( changeObjectVisibility(targetObjectId, 'visible') ) { // if we successfully showed the popup // store its Id on a globally-accessible object window.currentlyVisiblePopup = targetObjectId; return true; } else { // we couldn't show the popup, boo hoo! return false; } } else { // there was no event object, so we won't be able to position anything, so give up return false; } } // showPopup function hideCurrentPopup() { // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup if(window.currentlyVisiblePopup) { changeObjectVisibility(window.currentlyVisiblePopup, 'hidden'); window.currentlyVisiblePopup = false; } } // hideCurrentPopup // *********************** // hacks and workarounds * // *********************** // initialize hacks whenever the page loads window.onload = initializeHacks; // setup an event handler to hide popups for generic clicks on the document document.onclick = hideCurrentPopup; function initializeHacks() { // this ugly little hack resizes a blank div to make sure you can click // anywhere in the window for Mac MSIE 5 if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { window.onresize = explorerMacResizeFix; } resizeBlankDiv(); // this next function creates a placeholder object for older browsers createFakeEventObj(); } function createFakeEventObj() { // create a fake event object for older browsers to avoid errors in function call // when we need to pass the event object to functions if (!window.event) { window.event = false; } } // createFakeEventObj function resizeBlankDiv() { // resize blank placeholder div so IE 5 on mac will get all clicks in window if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1) && getStyleObject('blankDiv')) { getStyleObject('blankDiv').width = document.body.clientWidth - 20; getStyleObject('blankDiv').height = document.body.clientHeight - 20; } } function explorerMacResizeFix () { location.reload(false); } Here is utility.js: // Copyright © 2000 by Apple Computer, Inc., All Rights Reserved. // // You may incorporate this Apple sample code into your own code // without restriction. This Apple sample code has been provided "AS IS" // and the responsibility for its operation is yours. You may redistribute // this code, but you are not permitted to redistribute it as // "Apple sample code" after having made changes. // // ************************ // layer utility routines * // ************************ function getStyleObject(objectId) { // cross-browser function to get an object's style object given its id if(document.getElementById && document.getElementById(objectId)) { // W3C DOM return document.getElementById(objectId).style; } else if (document.all && document.all(objectId)) { // MSIE 4 DOM return document.all(objectId).style; } else if (document.layers && document.layers[objectId]) { // NN 4 DOM.. note: this won't find nested layers return document.layers[objectId]; } else { return false; } } // getStyleObject function changeObjectVisibility(objectId, newVisibility) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); if(styleObject) { styleObject.visibility = newVisibility; return true; } else { // we couldn't find the object, so we can't change its visibility return false; } } // changeObjectVisibility function moveObject(objectId, newXCoordinate, newYCoordinate) { // get a reference to the cross-browser style object and make sure the object exists var styleObject = getStyleObject(objectId); if(styleObject) { styleObject.left = newXCoordinate; styleObject.top = newYCoordinate; return true; } else { // we couldn't find the object, so we can't very well move it return false; } } // moveObject Find this code in /includes/modules/product_listing.php: else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> '; } Replace with: else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '" class=popupLink onmouseover="return !showPopup(\'' . $listing['products_id'] . '\', event);" onmouseout="hideCurrentPopup()">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> <DIV onclick=\'event.cancelBubble = true;\' class=popup id=' . $listing['products_id'] . '><table width="50%" border="0" cellspacing="0" cellpadding="0"><tr><td>' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name']) . '</td></tr></table></DIV>'; } Note: if your original product_listing.php code snippet uses this syntax: $listing[$x]['products_id'] then you'll need to make sure the changed code reflects this structure, just put [$x] in front of every $listing call in that snippet. Last but not least, the CSS to go in your stylesheet.css: .popup { visibility:hidden; position: absolute; left:-100px; }
  7. Next time I'll do more testing. Fixed the problem by installing a product_info.php.html template, previously I didn't have one which was the root of the problem.
  8. I have installed QTPro 4.5, and using it with STS4.5. Everything seems to work except if you add a product to the cart, on the shopping_cart.php page, the product image/text link goes to: /shop/product_info.php?products_id=28{1}2{2}3 Note the weird curly braces. It redirects back to the main category. Any idea? the only product in the store is here: http://www.fluffyco.com/shop/product_info....;products_id=28
  9. I turned on Index templates, and added an index.php_3.html template for index.php?cPath=3 category. Once I disabled that template it works as expected. Hmm...
  10. mthierfelder

    [Contribution] Extra Fields

    I've searched throughout the forums and can't find the answer. Lots of posts requesting the feature to have the extra_fields value show up on the product_listing.php page but no help. If anybody has an idea of how to pass the extra_fields variable to other pages (besides just product_info.php) I'd be very interested. I'd like it to show up at least on the product_listing, possibly in the shopping_cart, and checkout confirmation pages as well.
  11. mthierfelder

    Paypal Pay Flow Pro

    I never used test mode, the other contrib I grabbed files from said it absolutely did not work in test mode so you might want to try setting it to live if you can and just use the bogus cc# 4111111111111111 for testing. If you get the Credit+Card+Error%21+Declined you'll know it worked, if you get the generic Credit+Card+Error%21 then you'll know your module is not working yet. I think :rolleyes: Debugging Tips: 1. be sure appropriate permissions are set for the /bin files and folders. 2. be sure the executable name in the admin module is not pfpro.so, but simply pfpro 3. If you are using godaddy as your host, or bluehost, or any other host that requires a proxy server to run payflow you will need their proxy server info. A quick call to tech support might work, but godaddy's was typically worthless and told me they don't support payflow at all....their help files however, proved worth their weight as they gave me what I needed. Tip: don't use the native search when digging through knowledge bases, use google instead and type, site:godaddy.com payflow...sad but it works much better. 4. Godaddy told me they required me to use a php.ini file that specifies the location of the certs folder for payflow, this was not true since I was using my own payflow files. If you can find the location of payflow files on your server, then you might try using them to simplify things. That's a bit of a gamble since in my experience most hosts don't know much about payflow, less about paths, and even less about permissions regarding both. 5. Try looking through the module payflowpro.php and the function pfpro.php near the top to make sure none of the default settings are causing problems for your configuration. There is a section where you can hard code in the paths, proxy server, etc. and there's a section where you can tell pfpro to look in the php.ini for the paths, etc. If you get through all that and can't get it, let me know and I'll send a screenie of my admin config and my pfpro.php and payflowpro.php files and you can try them. At least that way you'll know if its your server or if its your files. Mind you I'm no expert in this, more just a hack, and I spent 1 day alone working on this stupid thing. The contrib is really misleading IMO in that it says, its really an easy install just drag and drop! Well, not so for everybody I'd say.
  12. mthierfelder

    Paypal Pay Flow Pro

    I guess you're right, I downloaded another payflow module and ripped the /bin files from it. You could also get them straight from the dev kit from Paypal too. This is the contrib that I got my files from: http://www.oscommerce.com/community/contri.../search,payflow Good luck.
  13. mthierfelder

    Paypal Pay Flow Pro

    Finally got it working today. The problem was the path to the files, I used this contrib: http://www.oscommerce.com/community/contributions,1019 to get it working....there are others, but this one works. I added a complete install file that details how to install the stupid thing and get all the paths set up properly. Give me a PM if you can't figure it after trying this contrib.
  14. mthierfelder

    Paypal Pay Flow Pro

    Also getting this error. I don't use a proxy server. I'm hosted with GoDaddy, just to put that out there.
  15. I have installed this contrib and it is great! One feature request, or even code help though: I'd like the possibility of switching the contrib on and off by category, instead of globally. So for one category you could have 1 add to cart button for all products within, then for another you could have individual buy it buttons for each product within, then for yet another you could show default product listing. Does anyone have any idea of how I could do this? where to start looking, etc?
  16. mthierfelder

    Master Products - MS2

    Yes, well I appreciate the thought but to be honest, that wouldn't work for my purposes. In my case its a scenerio where the site sells vitamins & supplements. So, say they sell vitamin C, and they have a 500 pill bottle, a 1000 pill bottle, and a 2000 pill bottle. Its not efficient or acceptable to make a "Vitamin C" category and list them all there, as they have close to 200 different vitamins and supplements. That would mean that they would end up with 200 categories of vitamins, each with 2 or 3 products in it. To concatenate the problem, I am using dynamenu which is a dhtml menu system that generates flyout menu dynamically based on the categories you have setup, so the flyouts could get a bit unwieldy. Maybe you begin to see my point?.... Anyway, if you don't have any suggestions on coding, its kind of a moot point as MS2 is already set up and working on the store. I'm just trying to add functionality to it now.
  17. mthierfelder

    Master Products - MS2

    What I would like is for the slaves to appear with no quantity box/dropdown menu/checkbox. The "Buy It" button should automatically add 1 to the cart when you click on it, then in the cart you should change the quantity if you want to. Do you know how to get rid of the quantity selector, and have the Buy It button just add 1 to the cart?
  18. mthierfelder

    Master Products - MS2

    I've searched the forums for this, and ACTUALLY FOUND AN ANSWER!....don't get excited though, as the fix is for an old version of MS2 So many people have been asking about this, I'm surprised that no PHP wizards have solved it yet... The PROBLEM: I DON"T WANT A QTY BOX in the master_listing.php for each slave. Anybody have a solution? I've tried about 10 different things, some of which almost work (add both slaves to the cart), some don't work at all (add master to the cart), and some are just plain silly. Chunk of code concerned in master_listing.php } elseif ((STOCK_CHECK == 'false')&&(tep_get_products_stock($listing['products_id']) < 1)) { $qty_array = array(); for ($i=0; $ns = 20, $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); $lc_text = tep_draw_input_field('Qty_ProdId_' . $listing['products_id'], '1', 'size="4"'); } } else { $quantity = tep_get_products_stock($listing['products_id']); $qty_array = array(); for ($i=0; $ns = (($quantity < 20) ? $quantity : 20), $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); //Fix added to display the Buy Button nex to the Qty Select Mike $lc_text = '<span style="white-space:nowrap;vertical-align:middle;">'; $lc_text .= tep_draw_pull_down_menu('Qty_ProdId_' . $listing['products_id'], $qty_array, '0',''); //$lc_text .= tep_draw_hidden_field('Qty_ProdId_' . $listing['products_id'], $value = (int)1); $lc_text .= ' ' . tep_draw_hidden_field('products_id', $listing['products_id']) . tep_image_submit('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</span>'; }
  19. mthierfelder

    Install STS in other directory as catalog/

    Thanks Fabys, super quick response....I will do as you suggested.
  20. mthierfelder

    Install STS in other directory as catalog/

    Yes, this is what I want to do as well....is it possible? What kinds of things will I need to do to make sure it works smoothly? Any help appreciated.
  21. mthierfelder

    Master Products - MS2

    Unfortunately, this is the only reliable method since you woulnd't want to over write vital sections of your code that has already been modified. There are utilitites that can greatly aid in this task such as Beyond Compare, and there's also another one. They are GREAT! You should get them and use them regularly...only way to modify OsC stores. Good luck!
  22. mthierfelder

    [Contribution] Additional Images Module

    I am trying to install this with Master Products. I am getting hung up with categories.php. Everything works great except if I try to update an existing product's image. When I try, it acts like it is updating the image but no image is shown on the preview page, and no image shows up on the product list. I know its a case of figuring out where to paste in the new Additional Images code for each 'case' in the categories.php page, but so far I have'nt been able to get it to work. Anyone with help in this area, please contact me and let me know.
  23. mthierfelder

    Master Products - MS2

    Yes, that's certainly possible (if I understand correctly). I had this complaint as well. I actually ended up using a Buy It button instead of the default set up, which required a lot of modification and I won't go into it here...that being said here's your fix: Go into the file catalog/includes/modules/master_listing.php and look for this: for ($i=0; $ns = 20, $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); $lc_text = tep_draw_input_field('Qty_ProdId_' . $listing['products_id'], '1', 'size="4"'); } } else { $quantity = tep_get_products_stock($listing['products_id']); $qty_array = array(); for ($i=0; $ns = (($quantity < 20) ? $quantity : 20), $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); $lc_text = tep_draw_input_field('Qty_ProdId_' . $listing['products_id'], '1', 'size="4"'); Change to this: for ($i=0; $ns = 20, $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); $lc_text = tep_draw_input_field('Qty_ProdId_' . $listing['products_id'], '0', 'size="4"'); } } else { $quantity = tep_get_products_stock($listing['products_id']); $qty_array = array(); for ($i=0; $ns = (($quantity < 20) ? $quantity : 20), $i <= $ns; $i++) { $qty_array[] = array('id' => $i, 'text' => $i); $lc_text = tep_draw_input_field('Qty_ProdId_' . $listing['products_id'], '0', 'size="4"');
  24. mthierfelder

    Automated FedEx Labels

    I have this question too. Also, after I log into my account on the fedex.com website, there are no shipments shown, and there are no current bills due, no tracking numbers etc. This says to me that the module is not submitting properly to fedex. Yes, I am certified to use the production server, just got it this morning. Can someone outline how the module is SUPPOSED to work? some questions about the actual functionality of the thing.
×