• Resolved OpenTips

    (@sergeiweb)


    G’day

    I’m trying to change my cart page on a website and change the positioning of all elements. So far I’ve achieved the layout I want, but my cart is not updating when I change the amount of goods. It’s always “disabled”.

    Could you please help me to find a mistake?

    Website: https://trifo-rus.ru/cart/
    Screenshot: https://joxi.ru/bmo14LRF369eDA

    Code example:

    <div id="custom_style_cart">
    <div class="remove_item_custom">
    <?php
    echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    'woocommerce_cart_item_remove_link',
    sprintf(
    '<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">&times;</a>',
    esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
    esc_html__( 'Remove this item', 'woocommerce' ),
    esc_attr( $product_id ),
    esc_attr( $_product->get_sku() )
    ),
    $cart_item_key
    );
    ?>
    </div>
    <div class="image_product_custom">
    <?php
    $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
    
    if ( ! $product_permalink ) {
    echo $thumbnail; // PHPCS: XSS ok.
    } else {
    printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    }
    ?>
    </div>
    <div class="productinfo_custom">
    <!-- Тип товара -->
    <p class="productinfo_headertxt_custom" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>">
    <span class="productinfo_headertxt_custom type_cst">Тип товара:</span>
    <!-- Product Size Section -->
    <?php
    if ( ! $product_permalink ) {
    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
    } else {
    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
    }
    
    do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
    
    // Meta data.
    echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok.
    
    // Backorder notification.
    if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
    }
    ?>
    <!-- //Product Size Section -->
    </p>
    
    <!-- Цена -->
    <p>
    <span class="productinfo_headertxt_custom" data-title="<?php esc_attr_e( 'Price', 'woocommerce' ); ?>">Цена:</span>
    <span class="productinfo_data"><?php echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.?></span>
    </p>
    
    <!-- Количество: -->
    <p class="product-quantity" data-title="<?php esc_attr_e( 'Quantity', 'woocommerce' ); ?>">
    
    <?php
    if ( $_product->is_sold_individually() ) {
    $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
    } else {
    $product_quantity = woocommerce_quantity_input(
    array(
    'input_name'   => "cart[{$cart_item_key}][qty]",
    'input_value'  => $cart_item['quantity'],
    'max_value'    => $_product->get_max_purchase_quantity(),
    'min_value'    => '0',
    'product_name' => $_product->get_name(),
    ),
    $_product,
    false
    );
    }
    
    echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok.
    ?>
    <span> <br/> <button type="submit" class="button" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>"><?php esc_html_e( 'Update cart', 'woocommerce' ); ?></button> </span>
    </p>
    
    <!-- Итого -->
    <p>
    <span class="productinfo_headertxt_custom productinfo_data product-subtotal" data-title="<?php esc_attr_e( 'Total', 'woocommerce' ); ?>">Итого:
    <?php
    echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.
    ?>
    </span>
    </p>
    </div>
    </div>

    Thank you in advance!

    • This topic was modified 4 years, 10 months ago by OpenTips.

    The page I need help with: [log in to see the link]

Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Cart update is not working’ is closed to new replies.