0

I have created a custom shipping method following this tutorial:

https://www.mageplaza.com/devdocs/magento-2-create-shipping-method/

Now I would need to add a couple of extra variables to admin configuration, and save it in any place to use it later when the checkout is done. How can I do that? Thanks!

  • Do you want to add some configuration In STORES > Configuration -> SALES section -> Shipping Methods ?? – Aditya Shah Oct 11 '18 at 18:42
  • hey @AdityaShah. Yes I would want that. Really I need to save a couple of config data to use it later in the checkout process, I think this is a good place, but it also could be in other place. – Daniel Silva Oct 11 '18 at 18:49
0

You can add more field like below in your system.xml under group tag with id="simpleshipping" in above module-

<field id="custom_variable" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1" canRestore="1">
      <label>Custom Variable</label>
</field>

Now you can retrieve value of this field in any file like block or model or controller like this --

protected $_scopeConfig;

public function __construct(
     ...
     \Magento\Store\Model\ScopeInterface $scopeInterface,
     ...
)
{
    ...
    $this->_scopeConfig = $scopeInterface;
    ...
}

Then in your class' method you can call the following:

$this->scopeConfig->getValue('carriers/simpleshipping/custom_variable', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
  • Thanks, @Shashank, let me try this option. – Daniel Silva Oct 11 '18 at 18:50
  • 1
    ok @DanielSilva , let me know in case of any error – Shashank Kumrawat Oct 11 '18 at 18:51

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.