Խանութներն ունեն առաքման արժեքի հզոր մոդուլ, որին կարող եք հատուկ միջամտել հաշվարկին: Մեր պարագայում մենք ցանկանում ենք իրականացնել հետևյալ սցենարը. Մեկ ապրանքի փոխադրման ծախսերը սկզբնապես որոշվում են ըստ արտադրանքի քաշի (նշված են քաշի սահմանները): Միայն հատուկ բացառությունների դեպքում պետք է հնարավոր լինի սահմանել առաքման ֆիքսված ծախսեր յուրաքանչյուր ապրանքի համար:
Առաքման արժեքի աղյուսակն այսպիսի տեսք ունի:
| Քաշը | Քաշը | Գինը |
| 0 կգ | <3 կգ | 4,99 € |
| 3 կգ | <5 կգ | 6,90 € |
| 5 կգ | <10 կգ | 9,50 € |
| 10 կգ | <15 կգ | 10,90 € |
| 15 կգ | <20 կգ | 12,90 € |
| 20 կգ | <31 կգ | 17,90 € |
| 31 կգ | <40 կգ | 49,90 € |
| 40 կգ-ից | 49,90 € հիմնական գին + 0,59 € մեկ կգ-ի համար |
Սկզբում կարող է միտք առաջանալ «Առաքման ծախսերի հաշվարկը ըստ.» Դաշտում «Քաշ» արժեքն ընտրելու և համապատասխան սահմանները ստորև բերելու:

Այստեղ առաջանում են մի քանի խնդիրներ. «40 կգ-ից սկսած՝ €49.90 բազային գին + €0.59 մեկ կգ-ի համար» կանոնը հեշտությամբ չի կիրառվում, 2.999-ի նման արժեքները ճշգրիտ չեն, և բացակայում է յուրաքանչյուր ապրանքի համար առանձին առաքման արժեքը սահմանելու հնարավորությունը: Այս խնդիրը լուծելու համար մենք նախ ստեղծում ենք նոր ազատ տեքստային դաշտ (օրինակ՝ «attr5»)՝ Կարգավորումներ > Ապրանքներ > Ապրանքի ազատ տեքստային դաշտեր բաժնում::

Այժմ այս դաշտը կլրացնենք բոլոր այն ապրանքների արժեքը եվրոյով, որոնց առաքման արժեքը պետք է լինի առանձին։ Տասնորդական թվերի համար օգտագործեք կետ՝ ստորակետի փոխարեն։:

Վերջապես, մենք ստեղծում ենք առաքման նոր մեթոդ `« Առաքման ծախսերի հաշվարկը ըստ `սեփական հաշվարկի» և «Գործոն (%): 100» կարևոր պարամետրերով::

Վերջապես, «Ընդլայնված պարամետրեր» բաժնում մենք պահում ենք մեր նոր հաշվարկման գործառույթը «Սեփական հաշվարկ» բաժնում:
a359cdf87765551f0706
Այս ֆունկցիան վերցնում է յուրաքանչյուր ապրանքի քաշը և հաշվարկում գինը։ 2,5 կգ կշռող երեք տարբեր իրերն արժեն 14,97 եվրո, 2,5 կգ կշռող նույն իրը երեք անգամ արժե 9,50 եվրո։ Եթե փոխարենը ցանկանում եք հաշվարկն իրականացնել ընդհանուր քաշի հիման վրա (արդյունքը երկու դեպքում էլ կազմում է 9,50 եվրո), դուք միայն նվազագույնը փոխում եք հաշվարկի գործառույթը::
a359cdf87765551f0706
Եթե պետք է ներառվեն նաև դիլերներ, ապա պետք է զգույշ լինել SQL հարցումում նշված գների նկատմամբ `դրանք զուտ թե համախառն արժեքներ են (կախված Հիմնական Պարամետրեր> Խանութի Կարգավորումներ> Հաճախորդների Խմբեր> Մուտքագրեք Համախառն Գներ) սահմանված արժեքներից:
Եթե ցանկանում եք նաև հաշվի առնել ապրանքի «Նշել ապրանքը որպես անվճար առաքում» հատկանիշը (մեկ ապրանքի համար), դուք դիմում եք b.shippingfree սյունակին և սահմանում եք հետևյալ տարբերակը «Կարգավորումներ > Առաքման ծախսեր > Ընդլայնված կարգավորումներ > Անվճար առաքում ապրանքներ» բաժնում::

SQL- ի օգնությամբ դուք կարող եք կառուցել ցանկացած բարդ հարցումներում: Finalանկալի է, որ վերջին հարցումը պատրաստվի SQL փոփոխականների միջոցով, որպեսզի ամբողջը մնա հեշտ պահպանելի: Հետևյալը ավելի բարդ հարցման օրինակելի օրինակ է, որը տարբերակում է խանութի հաճախորդներին և մանրածախ վաճառքին, հաշվի է առնում անվճար առաքման ապրանքները, գանձում է առաքման ծախսերը միայն առավելագույն զամբյուղի համար և հպում տարբեր գների սանդղակներին (կախված ապրանքանիշից):
a359cdf87765551f0706