Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #app/code/Sistel/Transzuri/etc/config.xml
- <?xml version="1.0"?>
- <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Magento/Store/etc/config.xsd">
- <default>
- <carriers>
- <sistel_transzurishipping>
- <active>0</active>
- <sallowspecific>0</sallowspecific>
- <price>0</price>
- <model>MagePsychoCustomshippingModelCarrierTranszurishipping</model>
- <name>Transzuri</name>
- <title>Transzuri</title>
- <specificerrmsg>This shipping method is not available. To use this shipping method, please contact us.</specificerrmsg>
- </sistel_transzurishipping>
- </carriers>
- </default>
- </config>
- #app/code/Sistel/Transzuri/Model/Carrier/Transzurishipping.php
- <?php
- namespace SistelTranszuriModelCarrier;
- use MagentoQuoteModelQuoteAddressRateRequest;
- /**
- * @category MagePsycho
- * @package MagePsycho_Customshipping
- * @author magepsycho@gmail.com
- * @website http://www.magepsycho.com
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- */
- class Transzurishipping extends MagentoShippingModelCarrierAbstractCarrier implements
- MagentoShippingModelCarrierCarrierInterface
- {
- /**
- * @var string
- */
- protected $_code = 'sistel_transzurishipping';
- /**
- * @var bool
- */
- protected $_isFixed = true;
- /**
- * @var MagentoShippingModelRateResultFactory
- */
- protected $_rateResultFactory;
- /**
- * @var MagentoQuoteModelQuoteAddressRateResultMethodFactory
- */
- protected $_rateMethodFactory;
- /**
- * @param MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig
- * @param MagentoQuoteModelQuoteAddressRateResultErrorFactory $rateErrorFactory
- * @param PsrLogLoggerInterface $logger
- * @param MagentoShippingModelRateResultFactory $rateResultFactory
- * @param MagentoQuoteModelQuoteAddressRateResultMethodFactory $rateMethodFactory
- * @param array $data
- */
- public function __construct(
- MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
- MagentoQuoteModelQuoteAddressRateResultErrorFactory $rateErrorFactory,
- PsrLogLoggerInterface $logger,
- MagentoShippingModelRateResultFactory $rateResultFactory,
- MagentoQuoteModelQuoteAddressRateResultMethodFactory $rateMethodFactory,
- array $data = []
- ) {
- $this->_rateResultFactory = $rateResultFactory;
- $this->_rateMethodFactory = $rateMethodFactory;
- parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data);
- }
- /**
- * @param RateRequest $request
- * @return MagentoShippingModelRateResult
- * @SuppressWarnings(PHPMD.UnusedLocalVariable)
- */
- public function collectRates(RateRequest $request)
- {
- if (!$this->getConfigFlag('active')) {
- return false;
- }
- /** @var MagentoShippingModelRateResult $result */
- $result = $this->_rateResultFactory->create();
- $shippingPrice = $this->getConfigData('price');
- $method = $this->_rateMethodFactory->create();
- $method->setCarrier($this->_code);
- $method->setCarrierTitle($this->getConfigData('title'));
- $method->setMethod($this->_code);
- $method->setMethodTitle($this->getConfigData('name'));
- $method->setPrice($shippingPrice);
- $method->setCost($shippingPrice);
- $result->append($method);
- return $result;
- }
- /**
- * Get allowed shipping methods
- *
- * @return array
- */
- public function getAllowedMethods()
- {
- return [$this->_code => $this->getConfigData('name')];
- }
- }
- #app/code/Sistel/Transzuri/etc/adminhtml/system.xml
- <?xml version="1.0"?>
- <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../Magento/Config/etc/system_file.xsd">
- <system>
- <section id="carriers" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
- <group id="sistel_transzurishipping" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
- <label>Transzuri</label>
- <field id="active" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Enabled</label>
- <source_model>MagentoConfigModelConfigSourceYesno</source_model>
- </field>
- <field id="title" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
- <label>Title</label>
- </field>
- <field id="name" translate="label" type="text" sortOrder="3" showInDefault="1" showInWebsite="1" showInStore="1">
- <label>Method Name</label>
- </field>
- <field id="price" translate="label" type="text" sortOrder="4" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Shipping Cost</label>
- <validate>validate-number validate-zero-or-greater</validate>
- </field>
- <field id="specificerrmsg" translate="label" type="textarea" sortOrder="80" showInDefault="1" showInWebsite="1" showInStore="1">
- <label>Displayed Error Message</label>
- </field>
- <field id="sallowspecific" translate="label" type="select" sortOrder="90" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Ship to Applicable Countries</label>
- <frontend_class>shipping-applicable-country</frontend_class>
- <source_model>MagentoShippingModelConfigSourceAllspecificcountries</source_model>
- </field>
- <field id="specificcountry" translate="label" type="multiselect" sortOrder="91" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Ship to Specific Countries</label>
- <source_model>MagentoDirectoryModelConfigSourceCountry</source_model>
- <can_be_empty>1</can_be_empty>
- </field>
- <field id="showmethod" translate="label" type="select" sortOrder="92" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Show Method if Not Applicable</label>
- <source_model>MagentoConfigModelConfigSourceYesno</source_model>
- </field>
- <field id="sort_order" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="0">
- <label>Sort Order</label>
- </field>
- </group>
- </section>
- </system>
- </config>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement