Jump to content
Latest News: (loading..)


  • Content count

  • Joined

  • Last visited

  • Days Won


ecartz last won the day on December 3 2012

ecartz had the most liked content!


Profile Information

Recent Profile Visitors

37,653 profile views
  1. Products iamges path

    The default code does not support absolute paths, as it assumes that the images directory will be expressed relative to the catalog directory. It's possible to make your web server proxy images from one location to another. If you're using Apache, that capability is in mod_rewrite and would be edited in either htaccess or httpd.conf. It would also be possible to modify the code for this. There doesn't seem to be an existing App, but this App seems to modify the same code. It might guide someone in making changes. There may be other places where absolute paths would break images that are not mentioned there. Pay particular attention to the tep_images function and $image_pathe variable.
  2. Amazon Vendor

    I haven't done this, but you might start by checking the Apps Marketplace at https://apps.oscommerce.com/q=Amazon It seems like https://apps.oscommerce.com/WxN49&osc2amazon is closest to what you describe. I do not know if it is up to date.
  3. Scrolling when using I-Phone

    This is not standard behavior for osCommerce. I do not know if it is standard for an iPhone, but searching doesn't suggest that it is. I don't know if your issue is caused by the same reason, but https://stackoverflow.com/q/23155509/6660678 has a similar problem that was caused by a form with an autofocus field. If you post your site URL, someone with an iPhone might be able to try to reproduce/diagnose this.
  4. The fourth group in admin should be images. Here's the SQL. Note the value 4. INSERT INTO configuration_group VALUES ('4', 'Images', 'Image parameters', '4', '1');
  5. cPath structure - "bind" the correct pathing?

    Have you tried any of the SEO URL contributions? They tend to standardize the URLs as part of their functionality. Also consider providing a search engine page. This would be a simple list of categories and products. Then you can put nofollow on your category links on other pages. That should limit the spider to the real URLs.
  6. pages split to new_products.php

    You might find it easier to start with this outdated Add-on: https://apps.oscommerce.com/6qcnv&customise-new-products-and-products-disp The problem with product_listing.php is that it is not designed to work with the grids. And it is designed for category navigation. It would also be easier to help if you included the code you added and the errors that you get.
  7. Visa Checkout

    It looks like there are two Moneris modules: https://apps.oscommerce.com/q=Moneris I don't know whether they work with this functionality, but as no one else was answering, I figured this would at least offer you a chance to look up the answer.
  8. Paypal options

    Sandbox is for testing. You can run fake orders through the store and get email confirmations but no money will move. It requires a sandbox account, which you probably don't have. You probably don't want this. Disabled means that the module won't work. You probably don't want this. Live means that PayPal will try to process any orders you put through the store. This is almost certainly what you want, unless you are testing or turning off the module. Instant update means that it will try to post orders back to a URL on your store. If you don't have this set up properly, it could cause problems. However, if you don't use this, some orders might be created in PayPal without being created in your store. The old method did not use this, so turning it off will make things work as they did previously. Express checkout is another way to process orders. It also requires additional setup. Again, not part of the original functionality. Added later. You can say no safely until you know what it is. Authorize means that you are only authorizing the transaction and will capture it later to actually transfer the money. Sale means that it will initiate the money transfer to your account immediately. Sale was what the module used to do. Order status is the order status that you want PayPal orders to be when the payment transaction is completed. The old method was to match all other payment methods. The idea is that you could put it in a special status, e.g. check PayPal. Then you would know that you need to verify that the payment exists in PayPal before continuing. After verification you could move it to a different status, like Processing. The store won't care about this value. It exists purely as a note for you and potentially your customers.
  9. Order notification email not working

    Are any emails sending? Order? Customer registration? Forgot password? Have you tried Harald's test script: https://apps.oscommerce.com/FZ5wN&e-mail-testing-script That just uses the base PHP functions, so it tells you if the problem is store (usually configuration) or PHP. You may want to check the log files for the site. Sometimes they will tell you something useful. The $order->STORE_OWNER['email_address'] looks to be wrong. The line should probably be tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
  10. Exclude Words or Phrases from Advanced Search

    There is no native provision for this. You might change advanced_search_result.php to add it. Look for case '(': case ')': case 'and': case 'or': $where_str .= " " . $search_keywords[$i] . " "; break; and change it to case '(': case ')': case 'and': case 'or': case 'not': $where_str .= " " . $search_keywords[$i] . " "; break; Add one line with not in it. Then you could use not as you expect. I haven't tested this for functionality or efficiency. Use at your own risk.
  11. Forget password not working

    If you can receive the email via Gmail and can't receive it through some other kind of account that you check through Outlook, I'd try asking your email provider for help. Another thing that you can do is check your headers in the Gmail message. Here are the instructions to check headers in Gmail: https://support.google.com/mail/answer/29436?hl=en That may tell you something interesting about the sender (your osCommerce store). If the email is intermittently working, then there's a good chance that it's not the PHP code. It might be a problem with your host or your domain. Your email provider should be able to help you diagnose why it isn't working. If not, you might try giving us more detail. The problem is that the next level of detail is relatively private, things like your store URL and email address that appear in the email/headers.
  12. How to use tep_get_uprid in some pages?

    You say both tep_get_prid and tep_get_uprid. The tep_get_prid function should work anywhere if you have an uprid and want just the prid. So I'm assuming that you mean tep_get_uprid, that you have a valid prid (product_id), and that you are having trouble working out the parameters. If you look in includes/classes/order.php, you will see something like $this->products[$index]['attributes'][$subindex] = array('option' => $Qattributes->value('products_options'), 'value' => $Qattributes->value('products_options_values'), 'prefix' => $Qattributes->value('price_prefix'), 'price' => $Qattributes->valueDecimal('options_values_price')); But if you look in includes/functions/general.php, you will see something like foreach ($params as $option => $value) { So you need to iterate over the attributes for that product and do something like $params = []; foreach ($order->products[$index]['attributes'] as $attribute) { $params[$attribute['option']] = $attribute['value']; } $prid = tep_get_uprid($order->products[$index]['id'], $params); I haven't tested this, but hopefully this should guide you towards what you need. If you really meant tep_get_prid and not tep_get_uprid, then you shouldn't need it in those places. Just use $order->products[$index]['id'] directly. If this doesn't help, please post the code that you are trying, what you expect it to do, and what it actually does, including any error messages.
  13. Membership form issue

    Depending on the field, you may be able to make it compulsory in the Admin area. If not there, you make it compulsory in the page that processes the form. Here's the code that makes the email compulsory in create_account.php (from but likely the same in all 2.3.x): if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR); } elseif (tep_validate_email($email_address) == false) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } else { $check_email_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); $check_email = tep_db_fetch_array($check_email_query); if ($check_email['total'] > 0) { $error = true; $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS); } } Note that the ENTRY_EMAIL_ADDRESS_MIN_LENGTH is something that is set in the Admin. To make something that is currently compulsory so that it is optional, you'd have to make code like this not run. Note that it would be a very bad idea to make the email address not compulsory. It's also marked as required by translated text: . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); And from the language file, english.php : define('ENTRY_EMAIL_ADDRESS_TEXT', '*'); If you delete the * from that, it will no longer display the requirement span.
  14. Cloud Database

    You don't need the database to be on the cloud to do this. You don't even need it to be on a separate server from the web server (although there are also times where that is helpful). If you have a dedicated server (which can be an EC2 or similar instance), you can host multiple domains from the same server and run a single database on it. Some CPanel style hosts may be able to allow you to share a database among multiple domains as well. I've certainly been able to do it with subdomains (something like www.oscommerce.com and forums.oscommerce.com). I don't have experience with the Google offerings. But with Amazon (AWS), you can run an RDS (Relational Database Service) instance and one or more EC2 (Elastic Compute Cloud) instances that access it. The RDS instance can be configured to only allow access to the EC2 instances, so you don't have external agents trying to connect to your database. I managed a Drupal site like this, with Amazon RDS and load-balanced web servers that could access it. As I recall, the bill was something like a $1000 a month for a relatively busy site. We were using the largest database ($400) and web server ($400) instances as well as the occasional second web server and other test servers and storage. Prices may be out of date. A smaller site could presumably run on smaller instances. The management tools were awesome. We could easily track how busy the servers were and other issues. Backing up the database was as simple as pushing a button or scheduling a regular activity. The way that Amazon works, you don't need to have all the web servers running at once. So when it is slow or normal, you can run a single instance. But when it is busy, you can add a second instance behind the same load-balanced IP. It will split the traffic between them. Since both go to the same database instance, the user won't be able to tell that there are multiple front ends. One challenge might be that for HTTPS to work, you need separate IP addresses and/or ports for each SSL domain. If your microsites can share the same secure domain behind them, then that would certainly work. But if not, you might need to pay extra to get more IP addresses and proxy them back to separate ports. I remember IPs as a limitation that we never needed to fix. We just worked around it, as we didn't need more public IPs. There were just times they would have been convenient. I do not think it is a good idea to try to run a Google database with a web server somewhere other than Google. The latency can add up. If you're low traffic enough that it doesn't matter, you're probably also low traffic enough to run your web server on the same host as the database. It's a little more complicated to manage (no CPanel to manage domains, etc.), but they'd essentially provide you your own virtual server. Or as I said earlier, some CPanel style hosts will allow you to share a database across multiple domains.
  15. Blank/empty emails

    Have you tried: 1. Reading the logs to see what they show. 2. Using the Contact Us form to send yourself a test message. Those seem like a good place to start troubleshooting.