Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.74 KB | None | 0 0
  1. #app/code/Sistel/Transzuri/etc/config.xml
  2.  
  3. <?xml version="1.0"?>
  4. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Magento/Store/etc/config.xsd">
  5. <default>
  6. <carriers>
  7. <sistel_transzurishipping>
  8. <active>0</active>
  9. <sallowspecific>0</sallowspecific>
  10. <price>0</price>
  11. <model>MagePsychoCustomshippingModelCarrierTranszurishipping</model>
  12. <name>Transzuri</name>
  13. <title>Transzuri</title>
  14. <specificerrmsg>This shipping method is not available. To use this shipping method, please contact us.</specificerrmsg>
  15. </sistel_transzurishipping>
  16. </carriers>
  17. </default>
  18. </config>
  19.  
  20. #app/code/Sistel/Transzuri/Model/Carrier/Transzurishipping.php
  21. <?php
  22.  
  23. namespace SistelTranszuriModelCarrier;
  24.  
  25. use MagentoQuoteModelQuoteAddressRateRequest;
  26.  
  27. /**
  28. * @category MagePsycho
  29. * @package MagePsycho_Customshipping
  30. * @author magepsycho@gmail.com
  31. * @website http://www.magepsycho.com
  32. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  33. */
  34. class Transzurishipping extends MagentoShippingModelCarrierAbstractCarrier implements
  35. MagentoShippingModelCarrierCarrierInterface
  36. {
  37. /**
  38. * @var string
  39. */
  40. protected $_code = 'sistel_transzurishipping';
  41.  
  42. /**
  43. * @var bool
  44. */
  45. protected $_isFixed = true;
  46.  
  47. /**
  48. * @var MagentoShippingModelRateResultFactory
  49. */
  50. protected $_rateResultFactory;
  51.  
  52. /**
  53. * @var MagentoQuoteModelQuoteAddressRateResultMethodFactory
  54. */
  55. protected $_rateMethodFactory;
  56.  
  57. /**
  58. * @param MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig
  59. * @param MagentoQuoteModelQuoteAddressRateResultErrorFactory $rateErrorFactory
  60. * @param PsrLogLoggerInterface $logger
  61. * @param MagentoShippingModelRateResultFactory $rateResultFactory
  62. * @param MagentoQuoteModelQuoteAddressRateResultMethodFactory $rateMethodFactory
  63. * @param array $data
  64. */
  65. public function __construct(
  66. MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
  67. MagentoQuoteModelQuoteAddressRateResultErrorFactory $rateErrorFactory,
  68. PsrLogLoggerInterface $logger,
  69. MagentoShippingModelRateResultFactory $rateResultFactory,
  70. MagentoQuoteModelQuoteAddressRateResultMethodFactory $rateMethodFactory,
  71. array $data = []
  72. ) {
  73. $this->_rateResultFactory = $rateResultFactory;
  74. $this->_rateMethodFactory = $rateMethodFactory;
  75. parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data);
  76. }
  77.  
  78. /**
  79. * @param RateRequest $request
  80. * @return MagentoShippingModelRateResult
  81. * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  82. */
  83. public function collectRates(RateRequest $request)
  84. {
  85. if (!$this->getConfigFlag('active')) {
  86. return false;
  87. }
  88.  
  89. /** @var MagentoShippingModelRateResult $result */
  90. $result = $this->_rateResultFactory->create();
  91.  
  92. $shippingPrice = $this->getConfigData('price');
  93.  
  94. $method = $this->_rateMethodFactory->create();
  95.  
  96. $method->setCarrier($this->_code);
  97. $method->setCarrierTitle($this->getConfigData('title'));
  98.  
  99. $method->setMethod($this->_code);
  100. $method->setMethodTitle($this->getConfigData('name'));
  101.  
  102. $method->setPrice($shippingPrice);
  103. $method->setCost($shippingPrice);
  104.  
  105. $result->append($method);
  106.  
  107. return $result;
  108. }
  109.  
  110. /**
  111. * Get allowed shipping methods
  112. *
  113. * @return array
  114. */
  115. public function getAllowedMethods()
  116. {
  117. return [$this->_code => $this->getConfigData('name')];
  118. }
  119. }
  120.  
  121. #app/code/Sistel/Transzuri/etc/adminhtml/system.xml
  122. <?xml version="1.0"?>
  123. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../Magento/Config/etc/system_file.xsd">
  124. <system>
  125. <section id="carriers" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
  126. <group id="sistel_transzurishipping" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
  127. <label>Transzuri</label>
  128. <field id="active" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0">
  129. <label>Enabled</label>
  130. <source_model>MagentoConfigModelConfigSourceYesno</source_model>
  131. </field>
  132. <field id="title" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
  133. <label>Title</label>
  134. </field>
  135. <field id="name" translate="label" type="text" sortOrder="3" showInDefault="1" showInWebsite="1" showInStore="1">
  136. <label>Method Name</label>
  137. </field>
  138. <field id="price" translate="label" type="text" sortOrder="4" showInDefault="1" showInWebsite="1" showInStore="0">
  139. <label>Shipping Cost</label>
  140. <validate>validate-number validate-zero-or-greater</validate>
  141. </field>
  142. <field id="specificerrmsg" translate="label" type="textarea" sortOrder="80" showInDefault="1" showInWebsite="1" showInStore="1">
  143. <label>Displayed Error Message</label>
  144. </field>
  145. <field id="sallowspecific" translate="label" type="select" sortOrder="90" showInDefault="1" showInWebsite="1" showInStore="0">
  146. <label>Ship to Applicable Countries</label>
  147. <frontend_class>shipping-applicable-country</frontend_class>
  148. <source_model>MagentoShippingModelConfigSourceAllspecificcountries</source_model>
  149. </field>
  150. <field id="specificcountry" translate="label" type="multiselect" sortOrder="91" showInDefault="1" showInWebsite="1" showInStore="0">
  151. <label>Ship to Specific Countries</label>
  152. <source_model>MagentoDirectoryModelConfigSourceCountry</source_model>
  153. <can_be_empty>1</can_be_empty>
  154. </field>
  155. <field id="showmethod" translate="label" type="select" sortOrder="92" showInDefault="1" showInWebsite="1" showInStore="0">
  156. <label>Show Method if Not Applicable</label>
  157. <source_model>MagentoConfigModelConfigSourceYesno</source_model>
  158. </field>
  159. <field id="sort_order" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="0">
  160. <label>Sort Order</label>
  161. </field>
  162. </group>
  163. </section>
  164. </system>
  165. </config>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement