<?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 pentru dressing la comandă, realizate din PAL melaminat de 18 mm și sticlă sablată aplicată pe verso. Dispun de sistem de glisare PKM 80, rezistent și durabil.
Rama este din inox, iar accesoriile sunt din aluminiu sau inox, garantând funcționare impecabilă în timp.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși Glisante Dressing la comandă – moderne, eficiente și spectaculoase vizual.
Uși Glisante Dressing la comandă
Uși glisante cu sticlă sablată și sistem de glisare PKM 80 – soluția elegantă și practică pentru dressingul tău.
Panourile sunt realizate din PAL melaminat de 18 mm, dublate cu sticlă sablată pe spate, oferind un efect translucid, rafinat și modern. Ramele ușilor sunt din inox durabil, iar aspectul general este unul sofisticat, minimalist, perfect pentru spații aerisite și contemporane.
Sistemul de glisare PKM 80 este conceput special pentru ușile de mari dimensiuni și susține o greutate de până la 80 kg per ușă. Componentele acestui sistem – role, ghidaje, șine superioare și inferioare – sunt fabricate din dur aluminiu sau inox și oferă o deschidere/închidere silențioasă și lină, chiar și după ani de utilizare.
Aceste uși glisante sunt ideale pentru spațiile de dressing, dar pot fi folosite și pentru a închide dulapuri mari sau pentru a delimita elegant o zonă de depozitare. Sticla sablată adaugă intimitate, fără să blocheze lumina, iar PAL-ul melaminat oferă rezistență și stabilitate.
- Accesorii de top: rama inox, sistem PKM 80, role cu rulmenți, perii antipraf adezive.
- Personalizare completă: dimensiuni la comandă, opțiuni de texturi, finisaje mate sau lucioase, nuanțe variate.
Cum alegi sistemul pentru uși glisante?
- Alege în funcție de greutatea și dimensiunea fiecărei uși – o ușă standard poate avea între 90-100 cm lățime și o înălțime de aprox. 2.5 m, ajungând la 30-35 kg.
- Nu depăși niciodată limitele tehnice ale sistemului – pentru durabilitate și funcționare corectă.
- Verifică calitatea rolelor și a glisierelor – acestea sunt esențiale pentru o mișcare lină și o durată lungă de viață.
- O ușă glisantă bine proiectată, ușoară și montată corect, va funcționa perfect ani întregi.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși Glisante Dressing la comandă – moderne, eficiente și spectaculoase vizual.
Reviews
There are no reviews yet.