Shopify Scripts API குறிப்பு

உங்களுக்குப் பெருமளவிலான கட்டுப்பாட்டையும் நெகிழ்வுத்தன்மையையும் வழங்கும் Ruby API மூலம் ஸ்கிரிப்டுகள் எழுதப்படுகின்றன.

பல்வேறு வகையான ஸ்கிரிப்ட் வகைகள் உள்ளன. நீங்கள் எந்த ஸ்கிரிப்ட் வார்ப்புருவைக் கொண்டு தொடங்கத் தேர்ந்தெடுக்கிறீர்கள் என்பதன் அடிப்படையில், Script Editor செயலியில் நீங்கள் ஸ்கிரிப்டை உருவாக்கும்போது அந்த ஸ்கிரிப்டுக்கு ஒரு வகை ஒதுக்கப்படும்:

வரிசை உருப்படி ஸ்கிரிப்டுகள்

கார்ட்டில் உள்ள வரிசை உருப்படிகளில் வரிசை உருப்படி ஸ்கிரிப்டுகள் தாக்கத்தை ஏற்படுத்தும், மேலும் விலைகளை மாற்றி, தள்ளுபடிகளை வழங்கலாம். கார்ட்டில் மாற்றம் செய்யும்போது இந்த ஸ்கிரிப்டுகள் இயக்கப்படும்.

ஒரு சந்தாவுக்குத் தள்ளுபடியளிக்கும் வரிசை உருப்படி ஸ்கிரிப்டுகள், சந்தாவின் முதல் பேமெண்ட்டுக்கு மட்டுமே பொருந்தும். அடுத்தடுத்த பேமெண்ட்டுகளுக்கு ஸ்கிரிப்ட் தள்ளுபடியளிக்காது.

சில முறைகளை வரிசை உருப்படி ஸ்கிரிப்டுகளில் மட்டுமே பயன்படுத்த முடியும்.

ஷிப்பிங் ஸ்கிரிப்டுகள்

ஷிப்பிங் ஸ்கிரிப்டுகள் ஷிப்பிங்உடன் தொடர்புகொள்ளும், மேலும் ஷிப்பிங் முறைகளை மாற்றவும் ஷிப்பிங் கட்டணங்களில் தள்ளுபடிகளை வழங்கவும் முடியும். செக்அவுட் ஆனது ஷிப்பிங் விருப்பங்கள் பக்கத்தை அடையும்போது இந்த ஸ்கிரிப்டுகள் இயக்கப்படும்.

சந்தாவின் ஷிப்பிங் கட்டணத்தைத் தள்ளுபடி செய்யும் ஷிப்பிங் ஸ்கிரிப்டுகள் சந்தாவின் முதல் பேமெண்ட்டுக்கு மட்டுமே பொருந்தும். அடுத்தடுத்த பேமெண்ட்டுகளுக்கு ஸ்கிரிப்ட் தள்ளுபடியளிக்காது.

<p>Some methods <a href="#shipping-methods">can only be used in shipping scripts</a>.</p>

கட்டண ஸ்கிரிப்டுகள்

கட்டண ஸ்கிரிப்டுகள் பேமெண்ட்டுகளுடன் தொடர்புகொள்ளும், மேலும் அவற்றின் மூலம் கட்டண நுழைவாயில்களை மறுபெயரிடலாம், மறைக்கலாம் மற்றும் அவற்றின் வரிசையை மாற்றலாம். Apple Pay போன்ற செக்அவுட் திரைக்கு முன் காட்டப்படும் கட்டண நுழைவாயில்களுடன் கட்டண ஸ்கிரிப்டுகள் தொடர்புகொள்ளாது என்பதைக் கவனத்தில் கொள்ளவும். செக்அவுட் பேமெண்ட் பக்கத்தை அடையும்போது இந்த ஸ்கிரிப்டுகள் இயக்கப்படும்.

சில முறைகளை கட்டண ஸ்கிரிப்டுகளில் மட்டுமே பயன்படுத்த முடியும்.

பொதுவான முறைகள்

எந்தவொரு ஸ்கிரிப்ட் வகையிலும் பின்வரும் முறைகளைப் பயன்படுத்தலாம்:

உள்ளீடு

ஸ்கிரிப்ட் உள்ளீட்டு முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.cartகார்ட்மாற்றக்கூடிய கார்ட் ஆப்ஜெக்ட்டை வழங்கும்.
.localeசரம்வாடிக்கையாளரின் வட்டாரத்தை வழங்கும். எடுத்துக்காட்டாக, en, fr அல்லது pt-BR.

கார்ட்

கார்ட் ஆப்ஜெக்ட்டானது ஆன்லைன் ஸ்டோரில் மட்டுமே கிடைக்கும். சில கைவிடப்பட்ட செக்அவுட்டுகளுக்குக் கார்ட் ஆப்ஜெக்ட்டை அணுகும் வசதி இருக்கும். இருப்பினும், ஒரு செக்அவுட் மூடப்பட்ட பிறகு, ஒரு வாடிக்கையாளர் கைவிடப்பட்ட செக்அவுட்டிற்குச் சென்றால், அது அவர்களை முன்பே நிரப்பப்பட்ட செக்அவுட்டிற்கு அனுப்பும், மேலும் கார்ட் ஆப்ஜெக்ட் இருக்காது. கைவிடப்பட்ட செக்அவுட் மின்னஞ்சல் மூலமாக ஸ்டோர்ஃபிரண்ட் தவிர்க்கப்படுவதே இதற்குக் காரணம்.

Cart ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.customerவாடிக்கையாளர்கார்ட்டின் உரிமையாளரை வழங்கும் (இருந்தால்).
.shipping_addressShippingAddressகார்ட்டின் உரிமையாளரின் ஷிப்பிங் முகவரியை வழங்கும் (இருந்தால்).
.discount_codeமாறுபடும் வழங்குபவை:
  • கார்ட்டில் தள்ளுபடிக் குறியீடு இல்லை எனில் nil
  • கார்ட்டில் நிலையான தள்ளுபடித் தொகை இருந்தால் CartDiscount::FixedAmount
  • கார்ட்டில் சதவீதத் தள்ளுபடி இருந்தால் CartDiscount::Percentage
  • கார்ட்டில் ஷிப்பிங் தள்ளுபடி இருந்தால் CartDiscount::Shipping
  • ஒற்றைத் தள்ளுபடிக் குறியீட்டை வழங்கும் (வரம்புகள் என்பதைப் பார்க்கவும்)

கார்ட்டுக்குத் தள்ளுபடி பயன்படுத்தப்பட்டிருந்தால், discount_code இருக்கும். கார்ட்டின் விலை மாறும் என்பது இதன் பொருளல்ல. எடுத்துக்காட்டாக, $50க்கு மேல் உள்ள கார்ட்டுகளுக்குத் தள்ளுபடி பொருந்தி, கார்ட்டின் விலையை $50க்குக் கீழ் ஸ்கிரிப்ட் குறைத்தால், discount_code இன்னமும் இருக்கும், ஆனால் கார்ட்டின் விலை மாறாது.

<p><a href="/manual/checkout-settings/script-editor/examples/vat-script">See an example of <code>discount_code</code></a>.</p>
  </td>
</tr>
<tr>
  <td scope="row">.line_items</td>
  <td><a href="#list">List</a>&lt;LineItem&gt;</td>
  <td>Returns a list containing the line items in the cart.</td>
</tr>
<tr>
  <td scope="row">.presentment_currency</td>
  <td><a href="#list">List</a>&lt;String&gt;</td>
  <td>Returns the customer's local (presentment) currency (in <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO 4217</a> format). For example, USD. </td>
</tr>
<tr>
  <td scope="row">.subtotal_price</td>
  <td><a href="#money">Money</a></td>
  <td>Returns the subtotal price of the cart after line item discounts are applied but before discount codes are applied.</td>
</tr>
<tr>
  <td scope="row">.total_weight</td>
  <td><a href="https://shopify.dev/api/liquid/objects/line_item#line_item-grams">grams</a></td>
  <td>Returns the total weight of all the line items in the cart.</td>
</tr>

CartDiscount::FixedAmount

CartDiscount::FixedAmount ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.codeசரம்தள்ளுபடியைப் பயன்படுத்தப் உபயோகிக்கப்பட்ட தள்ளுபடிக் குறியீட்டை வழங்கும்.
.amountMoneyதள்ளுபடியின் பண மதிப்பை வழங்கும்.
.reject({ message: String })nilகார்ட்டில் பயன்படுத்தப்பட்ட தள்ளுபடிக் குறியீட்டை நிராகரிக்கும். ஒரு message தேவை.
.rejected?Booleanதள்ளுபடிக் குறியீடு நிராகரிக்கப்பட்டதா என்பதை வழங்கும்.

CartDiscount::Percentage

CartDiscount::Percentage பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.codeசரம்தள்ளுபடியைப் பயன்படுத்தப் உபயோகிக்கப்பட்ட தள்ளுபடிக் குறியீட்டை வழங்கும்.
.percentageDecimalதள்ளுபடியின் சதவீத மதிப்பை வழங்கும்.
.reject({ message: String })nilகார்ட்டில் பயன்படுத்தப்பட்ட தள்ளுபடிக் குறியீட்டை நிராகரிக்கும். ஒரு message தேவை.
.rejected?Booleanதள்ளுபடிக் குறியீடு நிராகரிக்கப்பட்டதா என்பதை வழங்கும்.

CartDiscount::Shipping

CartDiscount::Shipping பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.codeசரம்தள்ளுபடியைப் பயன்படுத்தப் உபயோகிக்கப்பட்ட தள்ளுபடிக் குறியீட்டை வழங்கும்.
.reject({ message: String })nilகார்ட்டில் பயன்படுத்தப்பட்ட தள்ளுபடிக் குறியீட்டை நிராகரிக்கும். ஒரு message தேவை.
.rejected?Booleanதள்ளுபடிக் குறியீடு நிராகரிக்கப்பட்டதா என்பதை வழங்கும்.

Customer

Customer பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.idIntegerவாடிக்கையாளரின் ID எண்ணை வழங்கும்.
.emailசரம்வாடிக்கையாளரின் மின்னஞ்சல் முகவரியை வழங்கும்.
.tagsList<Tag>வாடிக்கையாளருக்காக அமைக்கப்பட்ட ஏதேனும் டேக்குகளைக் குறிக்கும் சரங்களின் பட்டியலை வழங்கும்.
.orders_countIntegerவாடிக்கையாளர் செய்துள்ள மொத்த ஆர்டர்களின் எண்ணிக்கையை வழங்கும்.
.total_spentMoneyஎல்லா ஆர்டர்களிலும் வாடிக்கையாளர் செலவிட்டுள்ள மொத்தத் தொகையை வழங்கும்.
.accepts_marketing?Booleanவாடிக்கையாளர் மார்க்கெட்டிங்கை ஏற்கிறாரா என்பதை வழங்கும்.

LineItem

LineItem பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.gramsgramsவரிசை உருப்படியின் மொத்த எடையை வழங்கும்.
.line_priceMoneyவரிசை உருப்படியின் விலை.
.discounted?Booleanஒரு ஸ்கிரிப்ட் மூலமாகவோ கைமுறையாகச் சேர்க்கப்பட்ட தள்ளுபடி மூலமாகவோ வரிசை உருப்படியின் விலைக்குத் தள்ளுபடி வழங்கப்பட்டுள்ளதா என்பதை வழங்கும். தள்ளுபடிக் குறியீடுகளின் பயன்பாடு, வழங்கப்படும் மதிப்பை எந்த வகையிலும் பாதிக்காது.
.propertieshashஇந்த வரிசை உருப்படிக்காகக் குறிப்பிடப்பட்டுள்ள பண்புகளை வழங்கும்.
.variantVariantவரிசை உருப்படியால் குறிப்பிடப்படும் குறிப்பிட்ட தயாரிப்பு மாறுபாட்டை வழங்கும்.
.quantityIntegerஇந்த வரிசை உருப்படியின் அளவை வழங்கும்.
.selling_plan_idIntegerவரிசை உருப்படிக்கான விற்பனைத் திட்டத்தின் ID-ஐ வழங்கும். ஸ்டோரானது சந்தாக்களை விற்கும்போது, ஒரு தயாரிப்பு மாறுபாடு சந்தாவாக விற்கப்படுவதை ஸ்கிரிப்ட் கண்டறிய நீங்கள் விரும்பினால் இந்த முறை பயனுள்ளதாக இருக்கும்.

List

List பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.newListஒரு பட்டியலைக் குறிக்கும் வகையில் புதிய பொருளை உருவாக்கும்.
.[]Element அல்லது nil

குறிப்பிடப்பட்டுள்ள குறியீட்டில் இருக்கும் உறுப்பை வழங்கும்.

.&List

எந்த நகல்களும் இல்லாமல், இரண்டு பட்டியல்களுக்கும் பொதுவான உறுப்புகளைக் கொண்ட புதிய பட்டியலை வழங்கும்.

.delete_ifListவிருப்பத்திற்குரிய குறியீட்டுத் தொகுதியைப் பயன்படுத்தி உறுப்புகளை நீக்கும். Ruby-இன் delete_if முறைக்கான ஆவணங்களைப் பார்க்கவும்.
.empty?Boolean

பட்டியலில் உறுப்புகள் ஏதுமில்லை எனில் true என்பதை வழங்கும்.

.firstElement அல்லது nil

முதல் உறுப்பை அல்லது பட்டியல் காலியாக இருந்தால் nil என்பதை வழங்கும்.

.index(*args, &block)int அல்லது nil

பட்டியலின் முதல் உறுப்பின் குறியீட்டை வழங்கும். அளவுருவுக்குப் பதிலாகத் தொகுதி கொடுக்கப்பட்டால், தொகுதி எதற்கு உண்மையாக இருக்கிறதோ அந்த முதல் உறுப்பின் குறியீட்டை வழங்கும்.

.rindex(*args, &block)int அல்லது nil

பட்டியலின் இறுதி உறுப்பின் குறியீட்டை வழங்கும். அளவுருவுக்குப் பதிலாகத் தொகுதி கொடுக்கப்பட்டால், தொகுதி எதற்கு உண்மையாக இருக்கிறதோ அந்த முதல் உறுப்பின் குறியீட்டை வழங்கும்.

.lastElement அல்லது nil

இறுதி உறுப்பை அல்லது பட்டியல் காலியாக இருந்தால் nil என்பதை வழங்கும்.

.lengthint

பட்டியலில் உள்ள உறுப்புகளின் எண்ணிக்கையை வழங்கும்.

.sizeint

நீளத்திற்கான மாற்றுப்பெயர்.

.each(*args, &block)List

பட்டியலில் உள்ள ஒவ்வொரு உறுப்புக்கும் ஒரு முறை தொகுதியை அழைக்கும், அந்த உறுப்பைத் தொகுதிக்கான அளவுருவாக அனுப்பும்.

ShippingAddress

ShippingAddress பொருளைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.nameசரம்ஷிப்பிங் முகவரியுடன் தொடர்புடைய நபரின் பெயரை வழங்கும்.
.address1சரம்ஷிப்பிங் முகவரியின் தெருப் பகுதிக்கான முகவரியை வழங்கும்.
.address2சரம்ஷிப்பிங் முகவரியின் தெருப் பகுதிக்கான முகவரியில் இருக்கும் விருப்பத்திற்குரிய கூடுதல் புலத்தை வழங்கும்.
.phoneசரம்ஷிப்பிங் முகவரியின் தொலைபேசி எண்ணை வழங்கும்.
.cityசரம்ஷிப்பிங் முகவரியின் நகரத்தை வழங்கும்.
.zipசரம்ஷிப்பிங் முகவரியின் ZIP குறியீட்டை வழங்கும்.
.provinceசரம்ஷிப்பிங் முகவரியின் மாகாணம்/மாநிலத்தை வழங்கும்.
.province_codeசரம்ஷிப்பிங் முகவரியின் மாகாணம்/மாநிலத்தின் சுருக்கப்பட்ட மதிப்பை வழங்கும்.
.country_codeசரம்ஷிப்பிங் முகவரியின் நாட்டின் சுருக்கப்பட்ட மதிப்பை வழங்கும்.

Money

Money ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.derived_from_presentment(customer_cents:X)Moneyதொகையை (சென்ட்களில்) வாடிக்கையாளரின் உள்ளூர் (காட்சிப்படுத்தல்) நாணயத்திலிருந்து உங்கள் ஸ்டோரின் நாணயத்திற்கு மாற்றும். இந்த முறை customer_cents அளவுருவை ஏற்கும், இது சென்ட்களில் உள்ள எண்ணை ஏற்கும். எடுத்துக்காட்டாக, Money.derived_from_presentment(customer_cents: 500).
.newMoneyஒரு விலையைக் குறிக்கப் புதிய ஆப்ஜெக்ட்டை உருவாக்கும்.
.zeroMoney

பூஜ்ஜிய விலையுடன் புதிய ஆப்ஜெக்ட்டை உருவாக்கும்.

+Moneyஇரண்டு Money ஆப்ஜெக்ட்களைச் சேர்க்கும்.
-Moneyஒரு Money ஆப்ஜெக்ட்டிலிருந்து மற்றொன்றைக் கழிக்கும்.
*MoneyMoney ஆப்ஜெக்ட்டை ஒரு எண்ணால் பெருக்கும்.

Money எடுத்துக்காட்டுகள்

Money.new(cents: 1000)

1000 சென்ட்கள் அல்லது $10 மதிப்பைக் குறிக்கும் Money ஆப்ஜெக்ட்டை உருவாக்கும்.

Money.new(cents: 100) * 50

$1 மதிப்பைக் குறிக்கும் Money ஆப்ஜெக்ட்டை உருவாக்கும், அதன் பிறகு அந்தத் தொகையை 50 ஆல் பெருக்கும். $50 மதிப்பைக் குறிக்கும் Money ஆப்ஜெக்ட்டை வழங்கும்.

மாறுபாடு

Variant ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.idIntegerமாறுபாட்டின் ID எண்ணை வழங்கும்.
.priceMoneyமாறுபாட்டின் யூனிட் விலையை வழங்கும்.
.productProductமாறுபாட்டுடன் தொடர்புடைய தயாரிப்பை வழங்கும்.
.skusList<String>மாறுபாட்டின் ஸ்டாக் கீப்பிங் யூனிட்களை (SKUகள்) வழங்கும், இவை பெரும்பாலும் சரக்கு இருப்பைக் கண்காணிக்கப் பயன்படுத்தப்படுகின்றன.
.titleசரம்மாறுபாட்டின் தலைப்பை வழங்கும்.

தயாரிப்பு

Product ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.idIntegerதயாரிப்பின் ID எண்ணை வழங்கும்.
.gift_card?Booleanதயாரிப்பு ஒரு கிஃப்ட் கார்டா என்பதை வழங்கும்.
.tagsList<Tag>இந்தத் தயாரிப்பிற்கு அமைக்கப்பட்டுள்ள டேக்குகளைக் குறிக்கும் சரங்களின் (strings) பட்டியலை வழங்கும்.
.product_typeசரம்தயாரிப்புக்கு டேக் செய்யக்கூடிய ஒரு வகைப்பாடு, இது பொதுவாக வடிப்பான் மற்றும் தேடலுக்குப் பயன்படுத்தப்படும்.
.vendorசரம்இந்தத் தயாரிப்பின் விற்பனையாளரை வழங்கும்.

Kernel

Kernel என்பது ஒவ்வொரு வகுப்பிலும் (class) சேர்க்கப்படும் ஒரு Ruby மாட்யூல் ஆகும். இதன் விளைவாக, இதன் முறைகள் ஒவ்வொரு ஆப்ஜெக்ட்டுக்கும் கிடைக்கின்றன. பிற மொழிகளில் உள்ள உலகளாவிய சார்புகள் (global functions) செயல்படுவதைப் போலவே இந்த முறைகளும் செயல்படும்.

Kernel ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.exitஎதுவுமில்லைபிழையின்றி தற்போதைய ஸ்கிரிப்ட்டின் செயல்பாட்டை முடிக்கும். Output.cart என்பதற்கு எதையேனும் ஒதுக்குவதற்கு முன்பு இது இயக்கப்பட்டால், ஸ்கிரிப்ட் எந்த விளைவையும் ஏற்படுத்தாது. வாடிக்கையாளர் ஸ்கிரிப்ட்டை இயக்கத் தகுதியற்றவர் எனில், எடுத்துக்காட்டாக ஸ்கிரிப்ட்களிலிருந்து வெளியேற இது பயனுள்ள வழியாகும்.

Kernel எடுத்துக்காட்டு

customer = Input.cart.customer
if customer && customer.email.end_with?("@mycompany.com")
  # Employees are not eligible for this promotion.
  exit
end

வரிசை உருப்படி முறைகள்

பின்வரும் முறைகளை வரிசை உருப்படி ஸ்கிரிப்ட்களில் மட்டுமே பயன்படுத்த முடியும்:

கார்ட்

வரிசை உருப்படி ஸ்கிரிப்ட்களில் Cart ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.subtotal_price_wasMoneyஎந்தத் தள்ளுபடிகளும் பயன்படுத்தப்படுவதற்கு முன்பு கார்ட்டின் துணை மொத்த விலையை வழங்கும்.
.subtotal_price_changed?Booleanதுணை மொத்த விலை மாறியுள்ளதா என்பதை வழங்கும்.

LineItem

வரிசை உருப்படி ஸ்கிரிப்ட்களில் LineItem ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.change_line_price(Money new_price, { message: String }) Moneyகுறிப்பிடப்பட்ட தொகைக்கு வரிசை உருப்படியின் விலையை மாற்றவும். ஒரு message தேவை. new_price தற்போதைய விலையை விடக் குறைவாக இருக்க வேண்டும்.
.original_line_priceMoneyஸ்கிரிப்ட்கள் மற்றும் தள்ளுபடிகள் பயன்படுத்தப்படுவதற்கு முன்பு வரிசை உருப்படியின் அசல் விலையை வழங்கும்.
.line_price_wasMoneyதற்போதைய ஸ்கிரிப்ட் மூலம் மாற்றங்கள் செய்யப்படுவதற்கு முன்பு வரிசை உருப்படியின் விலையை வழங்கும்.
.line_price_changed?Booleanவரிசை உருப்படியின் விலை மாறியுள்ளதா என்பதை வழங்கும்.
.change_properties(hash new_properties, { message: String }) hashவரிசை உருப்படிக்குப் புதிய பண்புகளை அமைக்கும். அசல் பண்புகளின் ஹாஷ் properties_was என்பதில் சேமிக்கப்படும் மேலும் முறைக்குக் கடத்தப்படும் பண்புகளின் ஹாஷ், வரிசை உருப்படிக்கான புதிய பண்புகளாக மாறும்.
.properties_washashமாற்றங்கள் பயன்படுத்தப்படுவதற்கு முன்பு வரிசை உருப்படியின் அசல் பண்புகளின் ஹாஷை வழங்கும்.
.properties_changed?Booleanவரிசை உருப்படிக்கான பண்புகள் மாற்றப்பட்டுள்ளதா என்பதை வழங்கும்.
.split({ take: Integer })LineItemஒரு வரிசை உருப்படியை இரண்டு வரிசை உருப்படிகளாகப் பிரிக்கும். புதிய வரிசை உருப்படியை உருவாக்க, அசல் வரிசை உருப்படியிலிருந்து எவ்வளவு அளவை நீக்க வேண்டும் என்பதை take குறிப்பிடும்.

.split எடுத்துக்காட்டு

இந்த எடுத்துக்காட்டு ஸ்கிரிப்ட் original_line_item என்றழைக்கப்படும் வரிசை உருப்படியை இரண்டு வரிசை உருப்படிகளாகப் பிரிக்கிறது. புதிய வரிசை உருப்படி 1 என்ற அளவைக் (take: 1 மூலம் குறிப்பிடப்பட்டுள்ளது) கொண்டுள்ளது. ஸ்கிரிப்ட், "Third hat for 5 dollars" என்ற மெசேஜுடன் புதிய வரிசை உருப்படிக்கு தள்ளுபடி விலையைப் பயன்படுத்துகிறது.

if original_line_item.quantity >= 3
  new_line_item = original_line_item.split(take: 1)
  new_line_item.change_line_price(Money.new(cents: 500), message: "Third hat for 5 dollars")
  cart.line_items << new_line_item
end

மாறுபாடு

வரிசை உருப்படி ஸ்கிரிப்ட்களில் Variant ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.compare_at_priceMoneyமாறுபாட்டின் ஒப்பீட்டு விலையை வழங்கும். மாறுபாட்டிற்கு ஒப்பீட்டு விலை இல்லை எனில், இது nil என்பதை வழங்கும்.

ஷிப்பிங் முறைகள்

பின்வரும் முறைகளை ஷிப்பிங் ஸ்கிரிப்ட்களில் பயன்படுத்தலாம்:

உள்ளீடு

ஷிப்பிங் ஸ்கிரிப்ட்களில் Input ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.shipping_ratesShippingRateListஅனைத்து ஷிப்பிங் கட்டணங்களின் பட்டியலையும் வழங்கும்.

ShippingRateList

ஷிப்பிங் ஸ்கிரிப்ட்களில் ShippingRateList ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.delete_ifShippingRateListவிருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்தி ஷிப்பிங் கட்டணங்களை நீக்கலாம். Ruby-இன் delete_if முறைக்கான ஆவணங்களைப் பார்க்கவும்.
.sort!ShippingRateListஒப்பீட்டு ஆபரேட்டரைப் பயன்படுத்தி அல்லது விருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்தி ஷிப்பிங் கட்டணங்களை வரிசைப்படுத்தலாம். Ruby-இன் sort! முறைக்கான ஆவணங்களைப் பார்க்கவும்.
.sort_by!ShippingRateListவிருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்தி ஷிப்பிங் கட்டணங்களை வரிசைப்படுத்தலாம். Ruby-இன் sort_by! முறைக்கான ஆவணங்களைப் பார்க்கவும்.

ShippingRate

ஷிப்பிங் ஸ்கிரிப்ட்களில் ShippingRate ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.codeசரம்ஷிப்பிங் கட்டணத்தின் குறியீட்டை வழங்கும்.
.markupMoneyஷிப்பிங் கட்டணளுக்கான மார்க்கப் பொருந்தினால், அதை வழங்கும்.
.nameசரம்ஷிப்பிங் கட்டணத்தின் பெயரை வழங்கும். இதை change_name முறையைப் பயன்படுத்தி மாற்றிக்கொள்ளலாம்.
.priceMoneyஷிப்பிங் கட்டணத்தின் விலையை வழங்கும்.
.sourceசரம்ஷிப்பிங் கட்டணத்துடன் தொடர்புடைய மூலத்தை (கேரியர்), பொருத்தமானதாக இருந்தால் வழங்கும். இதை மாற்ற முடியாது.
.change_name(String new_name)சரம் ஷிப்பிங் கட்டணத்தின் பெயரை மாற்றுகிறது (அதிகபட்சம் 255 எழுத்துகள்). மூலத்தை மாற்றவோ, நீக்கவோ அல்லது மறைக்கவோ முடியாது.
.apply_discount(Money discount, { message: String })Moneyகுறிப்பிட்ட நிலையான தொகையின் தள்ளுபடியைப் பயன்படுத்துகிறது. விலையை 0-க்குக் கீழ் குறைக்க முடியாது. மெசேஜ் ஒன்று தேவை.
.phone_required?Booleanஷிப்பிங் கட்டணத்தைப் பெற தொலைபேசி எண் தேவையெனில், true என்பதை வழங்கும், அல்லது தொலைபேசி எண் தேவையில்லை எனில், false என்பதை வழங்கும்.

கட்டண முறைகள்

பின்வரும் முறைகளை கட்டண ஸ்கிரிப்ட்களில் பயன்படுத்தலாம்:

உள்ளீடு

கட்டண ஸ்கிரிப்ட்களில் Input ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.payment_gatewaysPaymentGatewaysListஸ்டோரில் உள்ள அனைத்துக் கட்டண நுழைவாயில்களின் பட்டியலையும் வழங்கும்.

PaymentGatewayList

கட்டண ஸ்கிரிப்ட்களில் PaymentGatewayList ஆப்ஜெக்ட்டைப் பயன்படுத்தும் ஸ்கிரிப்ட் முறைகள்
முறைரிட்டர்ன் வகைவிளக்கம்
.delete_ifPaymentGatewayListவிருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்திக் கட்டண நுழைவாயில்களை நீக்கலாம். Ruby-இன் delete_if முறைக்கான ஆவணங்களைப் பார்க்கவும்.
.sort!PaymentGatewayListஒப்பீட்டு ஆபரேட்டரைப் பயன்படுத்தி அல்லது விருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்திக் கட்டண நுழைவாயில்களை வரிசைப்படுத்தலாம். Ruby-இன் sort! முறைக்கான ஆவணங்களைப் பார்க்கவும்.
.sort_by!PaymentGatewayListவிருப்பக் குறியீட்டுத் தொகுதியைப் பயன்படுத்திக் கட்டண நுழைவாயில்களை வரிசைப்படுத்தலாம். Ruby-இன் sort_by! முறைக்கான ஆவணங்களைப் பார்க்கவும்.

PaymentGateway

முறைரிட்டர்ன் வகைவிளக்கம்
.nameசரம்கட்டண நுழைவாயிலின் பெயரை வழங்கும்.
.enabled_card_brandsList<String>

கட்டண நுழைவாயில் கிரெடிட் கார்டுகளை ஆதரித்தால், ஸ்டோர் ஏற்கும் கிரெடிட் கார்டு வகைகளின் பட்டியலை வழங்கும். நுழைவாயில் கிரெடிட் கார்டுகளை ஆதரிக்கவில்லை எனில், வெற்றுப் பட்டியலை வழங்கும்.

.change_name(String new_name)சரம்கட்டண நுழைவாயிலின் பெயரை மாற்றும். லோகோக்களைக் கொண்ட கட்டண நுழைவாயில்களின் பெயரை மாற்ற முடியாது.

எடுத்துக்காட்டுகள்

பின்வரும் வரிசை உருப்படி ஸ்கிரிப்ட் எடுத்துக்காட்டில், ஒரு வாடிக்கையாளர் கிஃப்ட் கார்டு அல்லாத ஒரு தயாரிப்பை ஆர்டர் செய்யும்போது, தயாரிப்பின் விலை $9 குறைக்கப்படுகிறது. மேலும், உங்கள் ஸ்டோருக்கான அனைத்துப் பார்வைகளிலும் வாடிக்கையாளர் செலவழித்த மொத்தத் தொகையும் காட்டப்படும்:

customer = Input.cart.customer
Input.cart.line_items.each do |line_item|
  product = line_item.variant.product
  next if product.gift_card?
  line_item.change_line_price(line_item.line_price - Money.new(cents: 900), message: customer.total_spent)
end

Output.cart = Input.cart