extcode / cart

Cart is a small but powerful extension which "solely" adds a shopping cart to your TYPO3 installation. The extension allows you to create coupons, products with or without variants, special prices.
GNU General Public License v2.0
56 stars 49 forks source link

Make Shipping methods be available based on cart conditions #545

Open johfeu opened 1 week ago

johfeu commented 1 week ago

Feature Request

Is your feature request related to a problem? Please describe. Use Case: A shop with virtual/downloadable and physical products. Shipping method A with 0,00 is used by default and shipping method B with actual costs should be used as soon as physical products are in the cart.

Describe the solution you'd like this could be achieved using the same Typoscript condition setup as for the extra costs e.g. by_number_of_physical_products

Describe alternatives you've considered Only using conditional costs with amount 0,00 is not an option because it confuses customers

johfeu commented 1 week ago

example config

    shippings {
        countries {
            de {
                preset = 1
                options {
                    1 {
                        title = PDF/E-Mail
                        taxClassId = 1
                        fallBackId = 2
                        status = open
                        free {
                            from = 0
                        }
                        available = by_number_of_physical_products
                        available {
                            0 {
                                value = 0
                                available = 1
                            }
                            2 {
                                value = 1
                                available = 0
                            }
                        }
                    }

                    2 {
                        title = Postversand
                        taxClassId = 1
                        fallBackId = 1
                        status = open
                        extra = by_number_of_physical_products
                        extra {
                            1 {
                                value = 1
                                extra = 5.00
                            }
                            2 {
                                value = 10
                                extra = 20.00
                            }
                            3 {
                                value = 99
                                extra = 99.00
                            }
                        }
                        available = by_number_of_physical_products
                        available {
                            0 {
                                value = 0
                                available = 0
                            }
                            2 {
                                value = 1
                                available = 1
                            }
                        }
                    }
                }
            }
rintisch commented 6 days ago

Interesting! This is a nice feature imo. 👍🏼