diff --git a/config/rapidez/frontend.php b/config/rapidez/frontend.php index 702d52ca3..2b17bb48d 100644 --- a/config/rapidez/frontend.php +++ b/config/rapidez/frontend.php @@ -11,7 +11,7 @@ 'notifications', 'checkout_steps', 'flushable_localstorage_keys', - 'customer_fields_show', + 'show_customer_address_fields', ], // The checkout steps which are used to name the steps diff --git a/resources/js/components/Checkout/Checkout.vue b/resources/js/components/Checkout/Checkout.vue index ac0f736a5..b9bd8eb91 100644 --- a/resources/js/components/Checkout/Checkout.vue +++ b/resources/js/components/Checkout/Checkout.vue @@ -188,7 +188,9 @@ export default { } const optionalFields = Object.keys( - Object.fromEntries(Object.entries(window.config.customer_fields_show).filter(([key, value]) => !value || value === 'opt')), + Object.fromEntries( + Object.entries(window.config.show_customer_address_fields).filter(([key, value]) => !value || value === 'opt'), + ), ) Object.entries(this.checkout.shipping_address).forEach(([key, val]) => { if (!val && !['region_id', 'customer_address_id', 'same_as_billing'].concat(optionalFields).includes(key)) { diff --git a/resources/views/checkout/partials/address.blade.php b/resources/views/checkout/partials/address.blade.php index 217e70b6c..3dc64bf11 100644 --- a/resources/views/checkout/partials/address.blade.php +++ b/resources/views/checkout/partials/address.blade.php @@ -16,6 +16,25 @@
+ @if(Rapidez::config('customer/address/prefix_show', '') && strlen(Rapidez::config('customer/address/prefix_options', ''))) +
+ + @if(Rapidez::config('customer/address/prefix_show', '') === 'opt') + + @endif + @foreach(explode(';', Rapidez::config('customer/address/prefix_options', '')) as $prefix) + + @endforeach + +
+ @endif
+ @if(Rapidez::config('customer/address/suffix_show', '') && strlen(Rapidez::config('customer/address/suffix_options', ''))) +
+ + @if(Rapidez::config('customer/address/suffix_show', '') === 'opt') + + @endif + @foreach(explode(';', Rapidez::config('customer/address/suffix_options', '')) as $suffix) + + @endforeach + +
+ @endif
@endif - @if(Rapidez::config('customer/address/company_show', 'opt')) + @if(Rapidez::config('customer/address/fax_show', false))
+ +
+ @endif + @if(Rapidez::config('customer/address/company_show', 'opt')) +
getCustomerFields()); + Config::set('frontend.show_customer_address_fields', $this->getCustomerAddressFields()); Config::set('frontend.grid_per_page', Rapidez::config('catalog/frontend/grid_per_page', 12)); Config::set('frontend.grid_per_page_values', explode(',', Rapidez::config('catalog/frontend/grid_per_page_values', '12,24,36'))); } - public function getCustomerFields() + public function getCustomerAddressFields() { return [ + 'prefix' => strlen(Rapidez::config('customer/address/prefix_options', '')) ? Rapidez::config('customer/address/prefix_show', 'opt') : 'opt', 'firstname' => 'req', 'middlename' => Rapidez::config('customer/address/middlename_show', 0) ? 'opt' : false, 'lastname' => 'req', + 'suffix' => strlen(Rapidez::config('customer/address/suffix_options', '')) ? Rapidez::config('customer/address/suffix_show', 'opt') : 'opt', 'postcode' => 'req', 'housenumber' => Rapidez::config('customer/address/street_lines', 3) >= 2 ? 'req' : false, 'addition' => Rapidez::config('customer/address/street_lines', 3) >= 3 ? 'opt' : false, @@ -58,6 +60,8 @@ public function getCustomerFields() 'country_id' => 'req', 'telephone' => Rapidez::config('customer/address/telephone_show', 'req'), 'company' => Rapidez::config('customer/address/company_show', 'opt'), + 'vat_id' => Rapidez::config('customer/address/taxvat_show', 'opt'), + 'fax' => Rapidez::config('customer/address/fax_show', 'opt'), ]; } }