We are transitioning over to a new forum platform. Please post new issues there. Existing threads will be dealt with here unless you choose to move them over. Visit the new forum


Thread tagged as: Question, Shop

Custom Shipping Order Form Inputs

I would like to modify the current form in perch_shop_shipping_method_form() to use radio buttons instead of the select. I got the switch okay, but I'm wondering if there was a way to output the price in the label, not just the name of the method.

I had read in a previous forum post (can not seem to find it now to link) where you said that is not possible. However, is there away to cycle through the shipping methods manually (like a repeater tag or something) that will allow me to manually create the radio buttons and then add the necessary information where I want it?

What I'd ultimately like to do is not only have the user hover over the label and see more information about the shipping method. However, I don't know what <perch:shop id="??????" /> tags are available to use under that form.

Normally, I would do a 'skip-template' and take a look at the array for all available information/ID's, but perch_shop_shipping_method_form() doesn't accept the 'skip-template' option.

Does any of this make sense?

Blake Myers

Blake Myers 0 points

  • 2 years ago
Drew McLellan

Drew McLellan 2638 points
Perch Support

I reckon if you also used perch_shop_shipping_options() you could get the information you need, and then put your interface together with JavaScript. You don't actually need to use the perch_shop_shipping_method_form() function if you use the same form ID (so it gets handled correctly) and you have the data you need to display the fields.

okay ... so, that kinda worked ... I had to run this before the perch_shop_shipping_options() and then play around with a few more items before sending it as variable into perch_shop_shipping_options(). In the end, it worked. Thanks!

$ShopRuntime = PerchShop_Runtime::fetch();
PerchSystem::set_var('shippings_list', $ShopRuntime->get_shipping_list_options());