PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.6.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.6.3
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks-next / build / blocks / product-quick-view / view.php
surecart / packages / blocks-next / build / blocks / product-quick-view Last commit date
block.json 8 months ago controller.php 11 months ago index-rtl.css 11 months ago index.asset.php 6 months ago index.css 11 months ago index.js 6 months ago style-index-rtl.css 10 months ago style-index.css 10 months ago view.php 11 months ago
view.php
103 lines
1 <?php
2
3 use SureCart\Models\Blocks\ProductPageBlock;
4 ?>
5
6 <div
7 <?php
8 echo wp_kses_data(
9 get_block_wrapper_attributes(
10 [
11 'data-wp-interactive' => '{ "namespace": "surecart/product-quick-view" }',
12 'data-wp-router-region' => 'product-quick-view',
13 'data-wp-class--sc-modal-active' => 'state.open',
14 'data-wp-watch--open' => 'callbacks.handleOpenChange',
15 ]
16 )
17 );
18 ?>
19 >
20 <?php
21 while ( $query->have_posts() ) :
22 $query->the_post();
23 ?>
24 <div
25 class="sc-product-quick-view-dialog <?php echo esc_attr( $position_class ); ?>"
26 style="<?php echo esc_attr( $style ); ?>"
27 tabindex="-1"
28 role="dialog"
29 aria-modal="true"
30 aria-label="<?php esc_attr_e( 'Quick view product details', 'surecart' ); ?>"
31 data-wp-on--keydown="callbacks.handleKeyDown"
32 <?php
33 echo wp_kses_data(
34 wp_interactivity_data_wp_context(
35 [
36 'url' => $close_url,
37 ]
38 )
39 );
40 ?>
41 >
42 <div class="sc-product-quick-view-dialog__content" style="<?php echo esc_attr( $content_style ); ?>">
43 <?php
44
45 // Get an instance of the current Product Quick view block.
46 $block_instance = $block->parsed_block;
47
48 // Set the block name to one that does not correspond to an existing registered block.
49 // This ensures that for the inner instances of the Product Quick view block, we do not render any block supports.
50 $block_instance['blockName'] = 'core/null';
51
52 $product_post_id = get_the_ID();
53 $product_post_type = get_post_type();
54 $filter_block_context = static function ( $context ) use ( $product_post_id, $product_post_type ) {
55 $context['postType'] = $product_post_type;
56 $context['postId'] = $product_post_id;
57 return $context;
58 };
59
60 // Use an early priority to so that other 'render_block_context' filters have access to the values.
61 add_filter( 'render_block_context', $filter_block_context, 1 );
62
63 // Render the inner blocks of the Product Quick view block with `dynamic` set to `false` to prevent calling
64 // `render_callback` and ensure that no wrapper markup is included.
65 $block_content = ( new WP_Block( $block_instance ) )->render( array( 'dynamic' => false ) );
66 remove_filter( 'render_block_context', $filter_block_context, 1 );
67
68 // Wrap the render inner blocks in a `li` element with the appropriate post classes.
69 $post_classes = implode( ' ', get_post_class( 'wp-block-post' ) );
70
71 $controller = new ProductPageBlock();
72 $state = $controller->state();
73 $context = $controller->context();
74
75 wp_interactivity_state( 'surecart/product-page', $state );
76 ?>
77 <form
78 <?php
79 echo wp_kses_data( wp_interactivity_data_wp_context( $context ) );
80 ?>
81 data-wp-interactive='{ "namespace": "surecart/product-page" }'
82 data-wp-on--submit="callbacks.handleSubmit"
83 data-wp-init="callbacks.init">
84 <?php echo $block_content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
85 </form>
86 </div>
87 </div>
88 <?php endwhile; ?>
89 <div class="sc-product-quick-view-overlay"
90 data-wp-on--click="actions.close"
91 data-wp-bind--hidden="surecart/product-list::state.loading"
92 aria-hidden="true"
93 <?php
94 echo wp_kses_data(
95 wp_interactivity_data_wp_context(
96 [
97 'url' => $close_url,
98 ]
99 )
100 );
101 ?>
102 ></div>
103 </div>