0

In Store, when you set up a Shipping Rule, there's a Description field that our client would like to take advantage of. However, I'm not seeing a tag (or some other way) to display the text that is in that description field.

Screenshot: enter image description here

Basically, we want to show the contents of the Description field based on what the user has chosen for their Shipping Method.

Not sure how to do that. Could use another set of eyes on this. Thanks!

Using Store 2.5.1, EE 2.10.1.

  • Welp, guess this isn't possible. Per the docs: "You may also add a description of each rule (for your own internal use - not displayed to customers)..." – Angie Herrera Apr 7 '16 at 16:54
0

If you don't mind modifying the store module itself you can do the following (for Store v 2.5.1)

In file \system\expressionengine\third_party\store\src\Service\ShippingService.php line 139, in function get_order_shipping_methods > foreach ($methods as $method) > if ($rule) { add line

    $option->rule_description = $rule->name;

In file \system\expressionengine\third_party\store\src\Model\OrderShippingMethod.php line 53, in function toTagArray add line

    $attributes['rule_description'] = $this->rule_description;

In file system\expressionengine\third_party\store\src\Model\ShippingRule.php line 16 in protected $fillable = array(... add 'name' string to array so line looks like:

    'percent_rate', 'min_rate', 'max_rate', 'enabled', 'name');

Then add {rule_description} to your {shipping_methods} tag. Example:

    {shipping_methods}
    <li>
    <input type="radio" name="shipping_method" class="shipping-methods" value="{method_id}" id="shipping-method-{method_id}" {if method_selected}checked{/if} />
    <label  for="shipping-method-{method_id}">{method_title} {method_price} <em>{rule_description}</em></label>
    </li>
    {/shipping_methods}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.