1、Extending new Discounts to suit your needsPawe NiedzielskiAbout myselfhttps:/ NiedzielskiPawe NiedzielskiSenior Software EngineerIn IbexaIbexa for 4 yearsMaintainer of ibexa/migrationsPHPStan and integration tests advocatePlays board games and PC gamesAgendaAgenda1.ibexa/discounts-quick recap2.Disco
2、unt management through Admin UI wizard3.Extending Discount form to apply your conditions4.Adding more fields to Discount form wizard5.Adding a new step to Discount form wizard6.Adding a custom DiscountRule typeIbexaIbexa/discounts/discounts-work in progresswork in progressDiscounts feature is still
3、work in progressAPIs may changeIbexa/discounts-quick recapquick recapIbexa/discounts Ibexa/discounts-quick recapquick recapOpt-in library that integrates itself with commerce-related ibexa packages:oibexa/cartoibexa/checkoutoibexa/storefrontoibexa/product-catalogoibexa/order-managementBuilt-in packa
4、ge that provides baseline discount functionality out of the boxHeavily customizable to empower developers to expandIbexa/discounts Ibexa/discounts-quick recapquick recapCentered around DiscountServiceinterface DiscountServiceInterface/Methods to acquire discount datapublic function getDiscountById(i
5、nt$id):DiscountInterface;public function getDiscountByIdentifier(string$identifier):DiscountInterface;public function findDiscounts(?DiscountQuery$query=null):DiscountListInterface;/.Ibexa/discounts Ibexa/discounts-quick recapquick recapCentered around DiscountServiceinterface DiscountServiceInterfa
6、ce/Methods that manipulate data:public function createDiscount(DiscountCreateStruct$createStruct):DiscountInterface;public function updateDiscount(DiscountInterface$discount,DiscountUpdateStruct$updateStruct):DiscountInterface;public function deleteDiscount(DiscountInterface$discount):void;public fu