<?php
add_filter('woocommerce_dropdown_variation_attribute_options_args','woo_select_default_option',10,1);
function woo_select_default_option( $args)
{
if(count($args['options']) > 0) //Ensure product variation isn't empty
$args['selected'] = $args['options'][0];
return $args;
}
add_action( 'woocommerce_variable_add_to_cart', 'bbloomer_update_price_with_variation_price' );
function bbloomer_update_price_with_variation_price() {
if(is_product()){
global $product;
$price = $product->get_price_html();
wc_enqueue_js( "
$(document).on('found_variation', 'form.cart', function( event, variation ) {
if(variation.price_html) $('.fb-prod-content-one p.price').html(variation.price_html);
$('.woocommerce-variation-price').hide();
});
$(document).on('hide_variation', 'form.cart', function( event, variation ) {
$('.fb-prod-content-one p.price').html('" . $price . "');
});
" );
}
}
add_filter('woocommerce_available_variation', function($available_variations, \WC_Product_Variable $variable, \WC_Product_Variation $variation) {
if (empty($available_variations['price_html'])) {
$available_variations['price_html'] = '<span class="price">' . $variation->get_price_html() . '</span>';
}
return $available_variations;
}, 10, 3);
?>
<?php
function add_variation_radio_buttons() {
?>
<script type="text/javascript">
document.addEventListener( 'DOMContentLoaded', function() {
var variations_form = document.querySelector( 'form.variations_form' );
var data = variations_form.getAttribute( 'data-product_variations' );
data = JSON.parse( data );
var selects = document.querySelectorAll( 'table.variations select' );
selects.forEach( function( select ) {
var options = select.querySelectorAll( 'option' );
options.forEach( function( option ) {
if( ! option.value ) {
return;
}
var pricing = '';
data.forEach( function( row ) {
if( row.attributes[select.name] == option.value ) {
pricing = row.price_html;
}
} );
var radio = document.createElement( 'input' );
radio.type = 'radio';
radio.name = select.name;
radio.value = option.value;
radio.checked = option.selected;
var label = document.createElement( 'label' );
label.appendChild( document.createTextNode( ' ' + option.text + ' ' ) );
var div = document.createElement( 'div' );
div.classList.add('fb-woo-single-btn-variation');
div.appendChild( radio );
div.appendChild( label );
// Check if variation has stock
var variationData = data.find(function(row) {
return row.attributes[select.name] == option.value;
});
// Check if product has only one attribute
var hasSingleAttribute = Object.keys(variationData.attributes).length === 1;
if (variationData && !variationData.is_in_stock && hasSingleAttribute) {
div.classList.add('disable');
}
select.closest( 'td' ).appendChild( div );
radio.addEventListener( 'click', function( event ) {
select.value = radio.value;
jQuery( select ).trigger( 'change' );
} );
} );
select.style.display = 'none';
} );
} );
</script>
<?php
}
add_action( 'woocommerce_variable_add_to_cart', 'add_variation_radio_buttons' );
# SOURCE: https://codedcommerce.com/woo/change-variation-drop-downs-to-radio-buttons/
/*
add_action( 'woocommerce_variable_add_to_cart', function() {
add_action( 'wp_print_footer_scripts', function() {
?>
<script type="text/javascript">
// DOM Loaded
document.addEventListener( 'DOMContentLoaded', function() {
// Get Variation Pricing Data
var variations_form = document.querySelector( 'form.variations_form' );
var data = variations_form.getAttribute( 'data-product_variations' );
data = JSON.parse( data );
// Loop Drop Downs
document.querySelectorAll( 'table.variations select' )
.forEach( function( select ) {
// Loop Drop Down Options
select.querySelectorAll( 'option' )
.forEach( function( option ) {
// Skip Empty
if( ! option.value ) {
return;
}
// Get Pricing For This Option
var pricing = '';
data.forEach( function( row ) {
if( row.attributes[select.name] == option.value ) {
pricing = row.price_html;
}
} );
// Create Radio
var radio = document.createElement( 'input' );
radio.type = 'radio';
radio.name = select.name;
radio.value = option.value;
radio.checked = option.selected;
var label = document.createElement( 'label' );
label.appendChild( document.createTextNode( ' ' + option.text + ' ' ) );
var div = document.createElement( 'div' );
div.classList.add('fb-woo-single-btn-variation');
div.appendChild( radio );
div.appendChild( label );
// Insert Radio
select.closest( 'td' ).appendChild( div );
// Handle Clicking
radio.addEventListener( 'click', function( event ) {
select.value = radio.value;
jQuery( select ).trigger( 'change' );
} );
} ); // End Drop Down Options Loop
// Hide Drop Down
select.style.display = 'none';
} ); // End Drop Downs Loop
} ); // End Document Loaded
</script>
<?php
} );
} );
*/
?>
Uși Glisante Dressing sunt soluția ideală pentru spații restrânse, fie în dormitor, fie în dressing. Lucioase, cu inserții fine din aluminiu, se integrează perfect în amenajările moderne. Sunt dotate cu sisteme de glisare premium, import Hafele (Germania) și SISCO (Italia), ce oferă fiabilitate, funcționare lină și estetică impecabilă.
Poți personaliza culorile și dimensiunile în funcție de nevoile tale. Potrivite pentru delimitarea zonelor sau închiderea dulapurilor elegante, aceste uși oferă un plus de stil. Comandă acum și beneficiezi de montaj și transport gratuit în București.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși Glisante Dressing – moderne, eficiente și spectaculoase vizual.
Uși Glisante Dressing – Eleganță lucioasă și funcționalitate în spații compacte
Uși Glisante Dressing lucioase cu inserții din aluminiu reprezintă o soluție modernă și practică pentru organizarea eficientă a spațiilor înguste, precum dulapurile sau camerele de tip dressing. Designul contemporan al acestui model aduce un aer sofisticat, iar suprafața lucioasă reflectă subtil lumina, oferind senzația de spațiu mărit.
Sistemele de glisare sunt de înaltă calitate, importate de la producători consacrați precum Hafele – Germania și SISCO – Italia, garantând o mișcare silențioasă, durabilitate și rezistență la utilizare intensă. Profilele din aluminiu completează aspectul elegant, adăugând un plus de rafinament și stabilitate.
Cum alegem sistemul pentru uși glisante?
- Ține cont de dimensiunile și greutatea panourilor – ușa standard are între 90 cm și 1 m lățime și 2,5 m înălțime.
- Un sistem corect dimensionat este cheia unei utilizări fără probleme pe termen lung.
- Rotilele și ghidajele trebuie să fie de calitate superioară pentru o glisare lină și silențioasă.
- Montajul corect, alături de un sistem fiabil, asigură o durată de viață extinsă a produsului.
Un alt avantaj al acestor uși glisante este adaptabilitatea – pot fi configurate în funcție de nevoile tale specifice, indiferent de dimensiunile spațiului disponibil. Sunt ideale atât pentru locuințele moderne, cât și pentru spațiile de birouri sau camerele multifuncționale.
Finisajul lucios în nuanțe calde sau neutre adaugă un plus de stil, iar întreținerea este facilă – suprafețele netede se curăță rapid și nu rețin praful. Alege un produs personalizat care combină estetica impecabilă cu funcționalitatea desăvârșită.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși Glisante Dressing – moderne, eficiente și spectaculoase vizual.
Reviews
There are no reviews yet.