Shopware یک ماژول هزینه حمل و نقل قدرتمند دارد که می توانید به طور خاص در محاسبه آن مداخله کنید. در مورد ما ، ما می خواهیم سناریوی زیر را اجرا کنیم: هزینه حمل و نقل برای هر مقاله در ابتدا با توجه به وزن مقاله تعیین می شود (محدودیت های وزن مشخص شده است). فقط برای استثناهای خاص می توان هزینه های ثابت حمل و نقل را برای هر کالا تعیین کرد.
جدول هزینه حمل و نقل به این شکل است:
| وزن | بالا رفتن وزن | قیمت |
| 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 € برای هر کیلوگرم |
در ابتدا ممکن است این ایده را داشته باشید که مقدار "Weight" را در قسمت "محاسبه هزینه حمل و نقل مطابق با" انتخاب کنید و محدوده های مربوطه را در زیر وارد کنید.:

در اینجا چندین مشکل پیش میآید: قانون «از ۴۰ کیلوگرم: ۴۹.۹۰ یورو قیمت پایه + ۰.۵۹ یورو به ازای هر کیلوگرم» به راحتی قابل اجرا نیست، مقادیری مانند ۲.۹۹۹ دقیق نیستند و گزینهای برای تعیین هزینه حمل و نقل جداگانه برای هر کالا وجود ندارد. برای حل این مشکل، ابتدا یک فیلد متنی رایگان جدید (مثلاً "attr5") در قسمت تنظیمات > موارد > فیلدهای متنی رایگان مورد ایجاد میکنیم.:

اکنون این فیلد را با مقدار یورو برای همه اقلامی که باید هزینه ارسال جداگانه داشته باشند، پر میکنیم. برای اعداد اعشاری، به جای ویرگول از نقطه استفاده کنید.:

در آخر ، ما یک روش حمل و نقل جدید با تنظیمات مهم "محاسبه هزینه حمل و نقل مطابق با: محاسبه خود" و "فاکتور (٪): 100" ایجاد می کنیم:

سرانجام ، در بخش "تنظیمات پیشرفته" ، عملکرد محاسبه جدید خود را در بخش "محاسبه خود" ذخیره می کنیم:
a359cdf87765551f0706
این تابع وزن هر کالا را می گیرد و قیمت را محاسبه می کند. سه آیتم مختلف با وزن 2.5 کیلوگرم 14.97 یورو قیمت دارند، سه برابر یک کالای مشابه با وزن 2.5 کیلوگرم قیمت 9.50 یورو دارند. اگر می خواهید محاسبه را بر اساس وزن کل انجام دهید (با نتیجه در هر دو مورد 9.50 یورو)، شما فقط تابع محاسبه را به حداقل تغییر می دهید.:
a359cdf87765551f0706
اگر نمایندگی های فروش نیز در این فروشگاه گنجانده می شوند ، باید در مورد قیمت های مشخص شده در پرسش SQL ، ارزش خالص یا ناخالص خود را داشته باشید (بسته به مقادیری که در تنظیمات اساسی> تنظیمات فروشگاه> گروه های مشتری> وارد کردن قیمت ناخالص تعیین می شود).
اگر میخواهید ویژگی «علامتگذاری کالا بهعنوان ارسال رایگان» (برای هر کالا) را نیز در نظر بگیرید، ستون b.shippingfree را نشان میدهید و گزینه زیر را در «تنظیمات > هزینههای ارسال > تنظیمات پیشرفته > اقلام ارسال رایگان» تنظیم میکنید.:

با کمک SQL می توانید در هر پرس و جو پیچیده ای ایجاد کنید. توصیه می شود پرس و جو نهایی را با کمک متغیرهای SQL تهیه کنید تا حفظ همه چیز آسان باشد. مثال زیر مثالی از یک پرسش پیچیده تر است که بین مشتریان فروشگاه و خرده فروشان تفاوت قائل می شود ، موارد حمل رایگان را در نظر می گیرد ، فقط هزینه حمل و نقل را برای حداکثر سبد خرید دریافت می کند و مقیاس های مختلف قیمت را لمس می کند (بسته به مارک تجاری):
a359cdf87765551f0706