I'm trying to modify a Shipping module for an online shop but I'm not getting it to work...I want to put two options on that, if customer chooses first option he gets one price for the shipment if he chooses second option then he gets a different price.

The original module only allows one option for Shipment Method and I want to add a second option using two radio buttons.

Basically I want to check what radio button is selected and then get the value, if first radio button is checked get it's value if the second radio button is checked get the previous value plus and aditional tax.
Here goes the code:

$_SESSION[$value] = "1";
      $string = "&nbsp;<input type=\"radio\"  id=\"radio1\" name=\"shipping_rate_id\" value=\"$value\" />";
      $string .= "  Zone Shipping -  $country_name <strong><div class='zone'>". $CURRENCY_DISPLAY->getFullValue($rate )."</div></strong>";
      $string .= "<br />&nbsp;<input type=\"radio\"  id=\"radio2\"name=\"shipping_rate_id\" value=\"$value\" />";
      $string .= "  Contra Re-embolso (+ 1.50€)<strong><div class='zone'>". $CURRENCY_DISPLAY->getFullValue($rate+1.50 )."</div></strong>";
      echo $string;
  function get_rate( &$d ) {	
	  if (document.getElementById("radio2").checked) {
      $shipping_rate_id = vmGet($_REQUEST,"shipping_rate_id")+1.50;
	  $zone_arr = explode("|", urldecode(urldecode($shipping_rate_id)) );
	  $order_shipping = $zone_arr[3];
      } else {
	  $shipping_rate_id = vmGet($_REQUEST,"shipping_rate_id");
	  $zone_arr = explode("|", urldecode(urldecode($shipping_rate_id)) );
	  $order_shipping = $zone_arr[3];
	  return $order_shipping;

Recommended Answers

All 5 Replies

So what is the value of $value and where would it come from? Is this a global coming from another file that includes this one?

on a side note. instead of escaping all of your " you can just start the string with a ' and end it with a '. I typically use ' for most things cause i have html and they have lots of ".

So what is the value of $value and where would it come from? Is this a global coming from another file that includes this one?

yes the value of $value is coming from another file ($value is the amount of shipping costs I had configured in the online store backoffice).

This is php right? On line 11 you have javascript instead of php.

Assuming that vmGet() is a function for getting database safe values from user input, you can test the value of the radio button called shipping_rate_id like this:

$rate_id = vmGet($_POST, 'shipping_rate_id');
if( $rate_id == 'normal') {
  // do something
} else if($rate_id == 'taxable') {
   // do something else
Member Avatar

This code is totally mashed. You've mixed js and php. I assume you want to use Ajax, so that the shipping price is calculated in-page when a new option is chosen. This isn't the way to do it.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.