PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.2.2
ShopBuilder – WooCommerce Builder For Elementor v2.2.2
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
shopbuilder / templates / elementor / general / grid / grid-layout1.php

grid-layout1.php in ShopBuilder – WooCommerce Builder For Elementor 2.2.2, at templates/elementor/general/grid/grid-layout1.php

218 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Template: Grid Layout 1.
4 *
5 * @package RadiusTheme\SB
6 */
7
8 /**
9 * Template variables:
10 *
11 * @var $grid string
12 * @var $class string
13 * @var $p_id int
14 * @var $img_args array
15 * @var $p_link string
16 * @var $items array
17 * @var $rating_args array
18 * @var $add_to_cart string
19 * @var $title_tag string
20 * @var $excerpt_limit string
21 * @var $excerpt string
22 * @var $title_class string
23 * @var $title_link bool
24 * @var $title string
25 * @var $badge_class string
26 * @var $action_btn_preset string
27 * @var $action_btn_position string
28 * @var $swatch_position string
29 * @var $swatch_type string
30 * @var $has_attributes bool
31 * @var $raw_settings array
32 */
33
34 use Elementor\Utils;
35 use RadiusTheme\SB\Helpers\Fns;
36
37 // Do not allow directly accessing this file.
38 if ( ! defined( 'ABSPATH' ) ) {
39 exit( 'This script cannot be accessed directly.' );
40 }
41
42 global $product;
43
44 $classes = esc_attr( $grid ) . ' ' . esc_attr( $class );
45 $swatch_title_class = $has_attributes && in_array( 'swatches', $items, true ) && 'title' === $swatch_position ? 'title-with-swatch' : 'title-with-no-swatch';
46 $swatch_price_class = $has_attributes && in_array( 'swatches', $items, true ) && 'price' === $swatch_position ? ' price-with-swatch' : '';
47 ?>
48
49 <div <?php wc_product_class( $classes, $product ); ?> data-id="<?php echo absint( $p_id ); ?>">
50 <?php
51 /**
52 * Before product items hook.
53 */
54 do_action( 'rtsb/before/shop/product/item' );
55 ?>
56
57 <div class="rtsb-grid-item">
58 <div class="rtsb-product-img">
59 <?php
60 /**
61 * Before product image hook.
62 */
63 do_action( 'rtsb/before/shop/product/image' );
64
65 /**
66 * Product image hook.
67 *
68 * @hooked RadiusTheme\SB\Controllers\Hooks\ActionHooks::render_image 10
69 */
70 do_action( 'rtsb/shop/product/image', $img_args, $raw_settings );
71
72 /**
73 * Sale Badge.
74 */
75 if ( ! empty( $p_sale ) ) {
76 ?>
77 <div class="rtsb-promotion">
78 <?php
79 Fns::get_badge_html( $p_sale, $badge_class );
80 ?>
81 </div>
82 <?php
83 }
84
85 /**
86 * Action buttons above image.
87 */
88 Fns::print_html( Fns::get_formatted_action_buttons( $items, $add_to_cart, $action_btn_preset, $action_btn_position, 'top' ) );
89
90 /**
91 * After product image hook.
92 */
93 do_action( 'rtsb/after/shop/product/image', $raw_settings );
94 ?>
95 </div><!-- .rtsb-product-img -->
96
97 <div class="rtsb-product-content">
98 <?php
99 /**
100 * Before product content hook.
101 */
102 do_action( 'rtsb/before/shop/product/content' );
103
104 /**
105 * Product Swatches.
106 */
107 if ( in_array( 'swatches', $items, true ) && 'top' === $swatch_position ) {
108 Fns::get_product_swatches( $swatch_type );
109 }
110
111 /**
112 * Product Categories.
113 */
114 if ( in_array( 'categories', $items, true ) ) {
115 ?>
116 <div class="rtsb-product-category">
117 <?php
118 Fns::get_categories_list( $p_id );
119 ?>
120 </div>
121 <?php
122 }
123
124 /**
125 * Before product title hook.
126 */
127 do_action( 'rtsb/before/shop/product/title' );
128
129 /**
130 * Product Title.
131 */
132 if ( in_array( 'title', $items, true ) ) {
133 ?>
134 <div class="rtsb-product-title-wrapper <?php echo esc_attr( $swatch_title_class ); ?>">
135 <<?php Fns::print_validated_html_tag( $title_tag ); ?> class="<?php echo esc_attr( $title_class ); ?>">
136 <?php
137 if ( $title_link ) {
138 ?>
139 <a class="woocommerce-LoopProduct-link" href="<?php echo esc_url( $p_link ); ?>"><?php Fns::print_html( $title ); ?></a>
140 <?php
141 } else {
142 Fns::print_html( $title );
143 }
144 ?>
145 </<?php Fns::print_validated_html_tag( $title_tag ); ?>>
146 <?php
147 if ( in_array( 'swatches', $items, true ) && 'title' === $swatch_position ) {
148 Fns::get_product_swatches( $swatch_type );
149 }
150 ?>
151 </div>
152 <?php
153 }
154
155 /**
156 * After product title hook.
157 */
158 do_action( 'rtsb/after/shop/product/title' );
159
160 /**
161 * Product Rating.
162 */
163 if ( in_array( 'rating', $items, true ) ) {
164 Fns::get_product_rating_html( $rating_args );
165 }
166
167 /**
168 * Product Short Description.
169 */
170 if ( in_array( 'excerpt', $items, true ) ) {
171 ?>
172 <div class="product-short-description rtsb-text-limit limit-<?php echo esc_attr( $excerpt_limit ); ?>">
173 <?php
174 Fns::print_html( $excerpt );
175 ?>
176 </div>
177 <?php
178 }
179
180 /**
181 * Product Price.
182 */
183 if ( in_array( 'price', $items, true ) ) {
184 ?>
185 <div class="product-price<?php echo esc_attr( $swatch_price_class ); ?>">
186 <div class="price-wrapper">
187 <?php woocommerce_template_single_price(); ?>
188 </div>
189 <?php
190 if ( in_array( 'swatches', $items, true ) && 'price' === $swatch_position ) {
191 Fns::get_product_swatches( $swatch_type );
192 }
193 ?>
194 </div>
195 <?php
196 }
197
198 /**
199 * Action buttons after content.
200 */
201 Fns::print_html( Fns::get_formatted_action_buttons( $items, $add_to_cart, $action_btn_preset, $action_btn_position, 'bottom' ) );
202
203 /**
204 * After product content hook.
205 */
206 do_action( 'rtsb/after/shop/product/content', $raw_settings );
207 ?>
208 </div><!-- .rtsb-product-content -->
209 </div><!-- .rtsb-grid-item -->
210
211 <?php
212 /**
213 * After product item hook.
214 */
215 do_action( 'rtsb/after/shop/product/item' );
216 ?>
217 </div><!-- .rtsb-product -->
218