@total_onion/onion-library 2.0.66 → 2.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +2 -2
- package/components/block-accent-image-v3/accent-image-v3.twig +2 -2
- package/components/block-accordion-v3/accordion-v3.twig +23 -24
- package/components/block-betterreviews-display-v3/betterreviews-display-v3.twig +2 -3
- package/components/block-block-interactions-v3/block-interactions-v3.twig +7 -9
- package/components/block-carousel-multi-layout-v3/carousel-multi-layout-v3.twig +5 -3
- package/components/block-cover-link-v3/cover-link-v3.twig +1 -1
- package/components/block-divider-v3/divider-v3.twig +1 -1
- package/components/block-featured-image-gallery-v3/featured-image-gallery-v3.twig +2 -2
- package/components/block-featured-image-gallery-v3/group_5f91897095b42.json +162 -7
- package/components/block-form-selection-v3/form-selection-v3.twig +16 -1
- package/components/block-gradient-layer-v3/gradient-layer-v3.twig +2 -2
- package/components/block-group-container-v3/group-container-v3.twig +5 -4
- package/components/block-group-container-v3/group_6865578ada499.json +364 -38
- package/components/block-lottie-content-v3/lottie-content-v3.twig +5 -7
- package/components/block-market-selector-v3/market-selector-v3.twig +1 -1
- package/components/block-modal-form-v3/modal-form-v3.twig +12 -12
- package/components/block-nav-menu-container-v3/group_687e00b45e9a3.json +96 -66
- package/components/block-nav-menu-container-v3/nav-menu-container-v3.twig +9 -8
- package/components/block-post-type-filter-grid-v3/group_64690c62487bc.json +3674 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/better-reviews-widget.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/buy-now-widget.vue +72 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-category.vue +40 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/cocktail-tasting-notes.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/divider-widget.vue +11 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/drink-tastes.vue +26 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/featured-post-component.vue +62 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/global-image-widget.vue +23 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/media-widget.vue +23 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-email-widget.vue +20 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-name-widget.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-questionaire-widget.vue +17 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/person-rating-widget.vue +25 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-author-widget.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-category-widget.vue +20 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-component.vue +130 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-headline-widget.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-image-widget.vue +60 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-description.vue +14 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-info-subtitle.vue +14 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-link-widget.vue +44 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-publish-widget.vue +44 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-tags-widget.vue +19 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-text-alternative-style.vue +18 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/post-title-widget.vue +20 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/pre-render-posts-html.twig +17 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-abv.vue +18 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-age-statement.vue +17 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-bazaarvoice.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-brand.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-cask-type.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-country.vue +14 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-description.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-name.vue +18 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-details-price.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-finish.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-history.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-link.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-logo-widget.vue +22 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-name.vue +17 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-nose.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-price.vue +15 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-slug.vue +14 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-taste.vue +16 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/product-whisky-type.vue +25 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/ptfg-posts.twig +474 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/ptfg-utils.vue +38 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/shopify-add-to-cart.vue +31 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/social-media-item.vue +58 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/spacer-widget.vue +13 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/text-search.vue +10 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.js +14 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.php +48 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.scss +1084 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.twig +157 -0
- package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3.vue +938 -0
- package/components/block-product-info-v3/product-info-v3.twig +2 -1
- package/components/block-scrolling-banner-v3/group_68e67fca1ec80.json +1 -56
- package/components/block-scrolling-banner-v3/scrolling-banner-v3.twig +7 -4
- package/components/block-section-separator-v3/section-separator-v3.twig +2 -2
- package/components/block-single-column-container-v3/single-column-container-v3.twig +1 -1
- package/components/block-single-responsive-image-v3/group_6867bcf24c2fc.json +5 -11
- package/components/block-single-responsive-image-v3/single-responsive-image-v3.twig +2 -2
- package/components/block-site-copyright-notice-v3/site-copyright-notice-v3.php +1 -1
- package/components/block-site-logo-container-v3/group_687e3b887b508.json +53 -5
- package/components/block-site-logo-container-v3/site-logo-container-v3.twig +4 -2
- package/components/block-site-title-and-tagline-v3/site-title-and-tagline-v3.twig +2 -2
- package/components/block-smash-balloon-social-media-v3/smash-balloon-social-media-v3.twig +2 -2
- package/components/block-social-networks-v3/social-networks-v3.twig +5 -6
- package/components/block-standard-content-v3/standard-content-v3.twig +2 -3
- package/components/block-sticky-buy-cta-v3/sticky-buy-cta-v3.twig +59 -59
- package/components/block-sub-group-container-v3/group_686ceba7d6066.json +197 -56
- package/components/block-sub-group-container-v3/sub-group-container-v3.twig +3 -4
- package/components/block-video-content-v3/group_687190b8d26df.json +175 -167
- package/components/block-video-content-v3/video-content-v3.twig +1 -1
- package/components/component-accent-image-v3/group_686cd5547efd2.json +5 -5
- package/components/component-athena-body-close-v3/athena-body-close-v3.twig +2 -2
- package/components/component-athena-head-v3/athena-head-v3.twig +11 -11
- package/components/component-block-settings-v3/group_689f649af2ac4.json +22 -1
- package/components/component-child-block-video-fields/group_6852a4f384204.json +351 -349
- package/components/component-content-box-settings-v3/group_686e6ec702acc.json +1727 -1937
- package/components/component-content-box-v3/group_686b8a4f1fe5d.json +50 -1
- package/components/component-core-body-close-v3/core-body-close-v3.twig +2 -0
- package/components/component-core-body-open-v3/core-body-open-v3.twig +32 -0
- package/components/component-core-head-v3/core-head-v3.twig +63 -0
- package/components/component-cta-selection-v3/cta-selection-v3.twig +1 -2
- package/components/component-responsive-image-v3/group_6867bc53f1da8.json +4 -31
- package/components/component-text-editor-settings-variables-v3/text-editor-settings-variables-v3.twig +1 -1
- package/components/component-video-component-v3/video-component-v3.twig +1 -1
- package/components/component-video-trigger-button-v3/video-trigger-button-v3.twig +1 -1
- package/components/entrypoint-entry-point-html-v3/entry-point-html-v3.twig +4 -7
- package/components/entrypoint-entry-point-style-v3/entry-point-style-v3.twig +2 -5
- package/components/fields-block-editor-assets-v3/block-editor-assets-v3.php +5 -7
- package/components/{fields-core-athena-block-render-function-v3/core-athena-block-render-function-v3.php → fields-core-block-render-function-v3/core-block-render-function-v3.php} +1 -1
- package/components/fields-drink-responsibly-notice-v3/group_68751257883ad.json +2 -1
- package/components/fields-dynamic-critical-css-v3/group_65abcd463e8d0.json +1 -1
- package/components/fields-image-management-service-v3/group_677813165b633.json +149 -0
- package/components/fields-modal-popup-content-v3/group_689876f1ee3fc.json +403 -0
- package/components/{component-modal-popup-content-v3 → fields-modal-popup-content-v3}/modal-popup-content-v3.twig +1 -1
- package/package.json +3 -2
- package/components/block-smash-balloon-social-media-v3/group_6890a2ab0e0a9.json +0 -143
- package/components/component-modal-popup-content/modal-popup-content.twig +0 -18
- package/components/fields-buy-now-button/group_658432636bde2.json +0 -340
- package/components/fields-cta-icons-v3/group_677ed96c3c64f.json +0 -822
- package/components/fields-design-system-v3/group_6870e9e74a347.json +0 -743
- package/components/fields-modal-popup-content/group_689876f1ee3fc.json +0 -390
- package/components/fields-modal-popup-content/modal-popup-content.twig +0 -18
- package/components/fields-site-logos-v3/group_6877b1697bf9f.json +0 -149
- package/components/fields-typography-settings-v3/group_6876149264002.json +0 -5636
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
{% set orderby = 'menu_order' %}
|
|
2
|
+
{% set order = 'DESC' %}
|
|
3
|
+
{% set sorting = sorting|default(fields.sorting) %}
|
|
4
|
+
{% if sorting|ru == 'ascending' or sorting|ru == 'descending' %}
|
|
5
|
+
{% set orderby = 'title' %}
|
|
6
|
+
{% endif %}
|
|
7
|
+
{% if sorting|ru == 'dateasc' or sorting|ru == 'datedesc' %}
|
|
8
|
+
{% set orderby = 'date' %}
|
|
9
|
+
{% endif %}
|
|
10
|
+
|
|
11
|
+
{% if sorting|ru == 'ascending' or sorting|ru == 'dateasc' %}
|
|
12
|
+
{% set order = 'ASC' %}
|
|
13
|
+
{% endif %}
|
|
14
|
+
|
|
15
|
+
{% if sorting|ru == 'postorder' or sorting == 'postorder' %}
|
|
16
|
+
{% set order = 'ASC' %}
|
|
17
|
+
{% set orderby = 'menu_order' %}
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
{# when toggle is selected, show only global posts #}
|
|
21
|
+
{% set marketLang = currentMarket == 'all' ? 'en' : currentMarket %}
|
|
22
|
+
{% set isGlobalToggle = currentMarket == 'all' %}
|
|
23
|
+
|
|
24
|
+
{% set showAllPosts = showAllPosts|default(fields.show_all_posts) %}
|
|
25
|
+
{% if showAllPosts %}
|
|
26
|
+
{% set postsPerPage = -1 %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
|
|
29
|
+
{% set initialPostsPerPage = initialPostsPerPage|default(fields.initial_posts_per_page_desktop) %}
|
|
30
|
+
{% set postsPerPage = desktopPostsPerPage|default(fields.posts_per_page_desktop) %}
|
|
31
|
+
|
|
32
|
+
{% set defaultCategory = 'all' %}
|
|
33
|
+
|
|
34
|
+
{% if categories is not empty and categories is not null %}
|
|
35
|
+
{% set categoryIds = categories %}
|
|
36
|
+
{% endif %}
|
|
37
|
+
|
|
38
|
+
{% if categoryIds is not empty and categoryIds is not null %}
|
|
39
|
+
{% if categoryIds is not iterable %}
|
|
40
|
+
{% set categoryIds = categoryIds|split(',') %}
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% if categoryIds is iterable %}
|
|
43
|
+
{% set defaultCategory = categoryIds %}
|
|
44
|
+
{% endif %}
|
|
45
|
+
{% endif %}
|
|
46
|
+
|
|
47
|
+
{% set currentMarket = currentMarket|default(fn('apply_filters', 'wpml_current_language', NULL)) %}
|
|
48
|
+
|
|
49
|
+
{% if ( pageNum <= 0 ) %}
|
|
50
|
+
|
|
51
|
+
{% set allPostsTotal = 0 %}
|
|
52
|
+
{% set allPostIdArgs = {
|
|
53
|
+
'post_type': postType,
|
|
54
|
+
'posts_per_page': -1,
|
|
55
|
+
'post_status': 'publish',
|
|
56
|
+
'orderby' : orderby,
|
|
57
|
+
'order' : order,
|
|
58
|
+
'lang': currentMarket,
|
|
59
|
+
'suppress_filters': false,
|
|
60
|
+
} %}
|
|
61
|
+
|
|
62
|
+
{% if postType == 'media' %}
|
|
63
|
+
{% set allPostIdArgs = {
|
|
64
|
+
'post_type': 'attachment',
|
|
65
|
+
'posts_per_page' : -1,
|
|
66
|
+
'post_status': 'inherit',
|
|
67
|
+
'post_mime_type': 'image',
|
|
68
|
+
'lang': currentMarket,
|
|
69
|
+
'suppress_filters': false
|
|
70
|
+
} %}
|
|
71
|
+
{% endif %}
|
|
72
|
+
|
|
73
|
+
{% if isGlobalToggle %}
|
|
74
|
+
{% set allPostIdArgs = allPostIdArgs|merge({ 'lang': 'en' }) %}
|
|
75
|
+
{% else %}
|
|
76
|
+
{% set allPostIdArgs = allPostIdArgs|merge({ 'lang': marketLang }) %}
|
|
77
|
+
{% endif %}
|
|
78
|
+
|
|
79
|
+
{% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
|
|
80
|
+
{% if postType in ['product', 'cocktail', 'treat', 'drink'] %}
|
|
81
|
+
{% set allPostIdArgs = allPostIdArgs|merge({
|
|
82
|
+
'tax_query': [{
|
|
83
|
+
'taxonomy': postType ~ '_category',
|
|
84
|
+
'field': 'term_id',
|
|
85
|
+
'terms': defaultCategory,
|
|
86
|
+
'include_children': false,
|
|
87
|
+
'operator': 'IN'
|
|
88
|
+
}]
|
|
89
|
+
}) %}
|
|
90
|
+
{% else %}
|
|
91
|
+
{% set allPostIdArgs = allPostIdArgs|merge({
|
|
92
|
+
'tax_query': [{
|
|
93
|
+
'taxonomy': 'category',
|
|
94
|
+
'field': 'term_id',
|
|
95
|
+
'terms': defaultCategory,
|
|
96
|
+
'include_children': false,
|
|
97
|
+
'operator': 'IN'
|
|
98
|
+
}]
|
|
99
|
+
}) %}
|
|
100
|
+
{% endif %}
|
|
101
|
+
{% endif %}
|
|
102
|
+
|
|
103
|
+
{% set allPosts = get_posts(allPostIdArgs|merge( { 'no_found_rows' : true, 'fields' : 'ids' } )) %}
|
|
104
|
+
{% set allPostsTotal = allPosts|length %}
|
|
105
|
+
|
|
106
|
+
{# Get all products anyway when post type is cocktails #}
|
|
107
|
+
{% if postType in ['cocktail', 'drink'] %}
|
|
108
|
+
{% set productQuery = {
|
|
109
|
+
'post_type': 'product',
|
|
110
|
+
'posts_per_page': -1,
|
|
111
|
+
'post_status': 'publish',
|
|
112
|
+
'orderby': orderby,
|
|
113
|
+
'order': order,
|
|
114
|
+
'suppress_filters': false,
|
|
115
|
+
'has_password': false,
|
|
116
|
+
'fields': 'ids'
|
|
117
|
+
} %}
|
|
118
|
+
{% if isGlobalToggle %}
|
|
119
|
+
{% set productQuery = productQuery|merge({ 'lang': 'en' }) %}
|
|
120
|
+
{% else %}
|
|
121
|
+
{% set productQuery = productQuery|merge({ 'lang': marketLang }) %}
|
|
122
|
+
{% endif %}
|
|
123
|
+
{% set allProducts = get_posts(productQuery) %}
|
|
124
|
+
{% endif %}
|
|
125
|
+
{% endif %}
|
|
126
|
+
|
|
127
|
+
{% set postsArgs = {
|
|
128
|
+
'post_type': postType,
|
|
129
|
+
'posts_per_page': -1,
|
|
130
|
+
'post_status': 'publish',
|
|
131
|
+
'orderby': orderby,
|
|
132
|
+
'order': order,
|
|
133
|
+
'suppress_filters': false,
|
|
134
|
+
'has_password': false
|
|
135
|
+
} %}
|
|
136
|
+
|
|
137
|
+
{% if isGlobalToggle %}
|
|
138
|
+
{% set postsArgs = postsArgs|merge({ 'lang': 'en' }) %}
|
|
139
|
+
{% else %}
|
|
140
|
+
{% set postsArgs = postsArgs|merge({ 'lang': marketLang }) %}
|
|
141
|
+
{% endif %}
|
|
142
|
+
|
|
143
|
+
{% if ( pageNum > 0 ) %}
|
|
144
|
+
{% set offset = initialPostsPerPage + ((pageNum -1) * postsPerPage )%}
|
|
145
|
+
{% set postsArgs = postsArgs|merge({
|
|
146
|
+
'offset' : offset,
|
|
147
|
+
}) %}
|
|
148
|
+
{% if postType == 'media' %}
|
|
149
|
+
{% set postsArgs = {
|
|
150
|
+
'post_type': 'attachment',
|
|
151
|
+
'posts_per_page' : -1,
|
|
152
|
+
'offset' : offset,
|
|
153
|
+
'post_status': 'inherit',
|
|
154
|
+
'post_mime_type': 'image',
|
|
155
|
+
'lang': 'en',
|
|
156
|
+
'suppress_filters': false
|
|
157
|
+
} %}
|
|
158
|
+
{% endif %}
|
|
159
|
+
{% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
|
|
160
|
+
{% if postType == 'product' or postType == 'cocktail' or postType == 'treat' or postType == 'drink' %}
|
|
161
|
+
{% set postsArgs = postsArgs|merge( {
|
|
162
|
+
'tax_query' : [{'taxonomy' : postType ~ '_category',
|
|
163
|
+
'field' : 'term_id',
|
|
164
|
+
'terms' : defaultCategory,
|
|
165
|
+
'include_children' : false,
|
|
166
|
+
'operator' : 'IN'}],
|
|
167
|
+
} ) %}
|
|
168
|
+
{% elseif postType == 'media' %}
|
|
169
|
+
{% set postsArgs = {
|
|
170
|
+
'post_type': 'attachment',
|
|
171
|
+
'posts_per_page' : -1,
|
|
172
|
+
'offset' : offset,
|
|
173
|
+
'post_status': 'inherit',
|
|
174
|
+
'post_mime_type': 'image',
|
|
175
|
+
'lang': 'en',
|
|
176
|
+
'suppress_filters': false
|
|
177
|
+
} %}
|
|
178
|
+
{% else %}
|
|
179
|
+
{% set postsArgs = postsArgs|merge( {
|
|
180
|
+
'tax_query' : [{'taxonomy' : 'category',
|
|
181
|
+
'field' : 'term_id',
|
|
182
|
+
'terms' : defaultCategory,
|
|
183
|
+
'include_children' : false,
|
|
184
|
+
'operator' : 'IN'}],
|
|
185
|
+
} ) %}
|
|
186
|
+
{% endif %}
|
|
187
|
+
{% endif %}
|
|
188
|
+
{% set posts = get_posts(postsArgs) %}
|
|
189
|
+
{% else %}
|
|
190
|
+
{% set postsArgs = postsArgs|merge({
|
|
191
|
+
'posts_per_page' : initialPostsPerPage,
|
|
192
|
+
'orderby' : orderby,
|
|
193
|
+
'order' : order,
|
|
194
|
+
}) %}
|
|
195
|
+
{% if postType == 'media' %}
|
|
196
|
+
{% set postsArgs = {
|
|
197
|
+
'post_type': 'attachment',
|
|
198
|
+
'posts_per_page' : initialPostsPerPage,
|
|
199
|
+
'post_status': 'inherit',
|
|
200
|
+
'post_mime_type': 'image',
|
|
201
|
+
'lang': 'en',
|
|
202
|
+
'suppress_filters': false
|
|
203
|
+
} %}
|
|
204
|
+
{% set testVariable = postsArgs %}
|
|
205
|
+
{% endif %}
|
|
206
|
+
{% if limitPostsToSelectedCategories and limitPostsToSelectedCategories != 'false' %}
|
|
207
|
+
{% if postType == 'product' or postType == 'cocktail' or postType == 'treat' or postType == 'drink' %}
|
|
208
|
+
{% set postsArgs = postsArgs|merge( {
|
|
209
|
+
'tax_query' : [{'taxonomy' : postType ~ '_category',
|
|
210
|
+
'field' : 'term_id',
|
|
211
|
+
'terms' : defaultCategory,
|
|
212
|
+
'include_children' : false,
|
|
213
|
+
'operator' : 'IN'}],
|
|
214
|
+
} ) %}
|
|
215
|
+
{% else %}
|
|
216
|
+
{% set postsArgs = postsArgs|merge( {
|
|
217
|
+
'tax_query' : [{'taxonomy' : 'category',
|
|
218
|
+
'field' : 'term_id',
|
|
219
|
+
'terms' : defaultCategory,
|
|
220
|
+
'include_children' : false,
|
|
221
|
+
'operator' : 'IN'}],
|
|
222
|
+
} ) %}
|
|
223
|
+
{% if postType == 'media' %}
|
|
224
|
+
{% set postsArgs = postsArgs|merge( {
|
|
225
|
+
'tax_query' : [{'taxonomy' : 'category',
|
|
226
|
+
'field' : 'term_id',
|
|
227
|
+
'terms' : defaultCategory,
|
|
228
|
+
'include_children' : false,
|
|
229
|
+
post_mime_type: 'image',
|
|
230
|
+
'operator' : 'IN'}],
|
|
231
|
+
} ) %}
|
|
232
|
+
{% endif %}
|
|
233
|
+
{% endif %}
|
|
234
|
+
{% endif %}
|
|
235
|
+
{% set posts = get_posts(postsArgs) %}
|
|
236
|
+
{% endif %}
|
|
237
|
+
|
|
238
|
+
{% set updatedPosts = [] %}
|
|
239
|
+
|
|
240
|
+
{% if postType == 'media' %}
|
|
241
|
+
{% for mediaItem in posts %}
|
|
242
|
+
{% set updatedPost = {} %}
|
|
243
|
+
{% set post_images = {} %}
|
|
244
|
+
{% set post_image = get_image(mediaItem) %}
|
|
245
|
+
{% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
|
|
246
|
+
{% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
|
|
247
|
+
{% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
|
|
248
|
+
{% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
|
|
249
|
+
{% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
|
|
250
|
+
{% set post_data = {'slug' : post_image.guid, 'post_type' : postType} %}
|
|
251
|
+
{% set post_images = post_images|merge({'post_image' : post_image}) %}
|
|
252
|
+
{% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
|
|
253
|
+
{% set updatedPost = updatedPost|merge({'post_data' : post_data}) %}
|
|
254
|
+
{% set updatedPost = updatedPost|merge({'categories' : post_image.terms}) %}
|
|
255
|
+
{% set updatedPost = updatedPost|merge({'id' : post_image.id}) %}
|
|
256
|
+
{% set updatedPost = updatedPost|merge({'link' : post_image.link}) %}
|
|
257
|
+
{% set updatedPosts = updatedPosts|merge([updatedPost]) %}
|
|
258
|
+
{% endfor %}
|
|
259
|
+
{% endif %}
|
|
260
|
+
|
|
261
|
+
{% if postType == 'pr_social_media_item' %}
|
|
262
|
+
{% set pr_social_media_item = get_posts({
|
|
263
|
+
'post_type' : 'pr_social_media_item',
|
|
264
|
+
'posts_per_page' : -1,
|
|
265
|
+
'post_status' : 'publish',
|
|
266
|
+
'pr_social_account' : fields.social_account,
|
|
267
|
+
'lang' : currentMarket,
|
|
268
|
+
'suppress_filters' : false,
|
|
269
|
+
'has_password' : false})
|
|
270
|
+
%}
|
|
271
|
+
{% set posts = [] %}
|
|
272
|
+
{% for mediaItem in pr_social_media_item %}
|
|
273
|
+
{% set updatedPost = {} %}
|
|
274
|
+
{% set post_images = {} %}
|
|
275
|
+
{% set post_image = get_image(mediaItem.thumbnail) %}
|
|
276
|
+
{% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
|
|
277
|
+
{% set post_images = post_images|merge({'post_image_srcset' : post_image.srcset}) %}
|
|
278
|
+
{% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
|
|
279
|
+
{% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
|
|
280
|
+
{% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
|
|
281
|
+
{% set post_data = {'slug' : post_image.guid, 'post_type' : postType} %}
|
|
282
|
+
{% set post_images = post_images|merge({'post_image' : post_image}) %}
|
|
283
|
+
{% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
|
|
284
|
+
{% set updatedPost = updatedPost|merge({'post_data' : post_data}) %}
|
|
285
|
+
{% set updatedPost = updatedPost|merge({'categories' : post_image.terms}) %}
|
|
286
|
+
{% set updatedPost = updatedPost|merge({'link' : post_image.link}) %}
|
|
287
|
+
{% set updatedPosts = updatedPosts|merge([updatedPost]) %}
|
|
288
|
+
{% endfor %}
|
|
289
|
+
{% endif %}
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
{# Post Data Processing #}
|
|
293
|
+
{% if (postType != 'pr_social_media_item') and (postType != 'media')%}
|
|
294
|
+
{% set updatedPosts = [] %}
|
|
295
|
+
{% for post in posts %}
|
|
296
|
+
{% set updatedPost = {} %}
|
|
297
|
+
{% set post_images = {} %}
|
|
298
|
+
{% set updatedPost = updatedPost|merge({'post_data' : filter_post_data(post.meta, [
|
|
299
|
+
'post_info_description',
|
|
300
|
+
'post_colour',
|
|
301
|
+
'post_container_background_colour',
|
|
302
|
+
'post_colour_secondary',
|
|
303
|
+
'post_text_colour_style',
|
|
304
|
+
'post_type',
|
|
305
|
+
'person_email',
|
|
306
|
+
'person_name',
|
|
307
|
+
'person_questionaire',
|
|
308
|
+
'star_rating',
|
|
309
|
+
'product_bazaarvoice',
|
|
310
|
+
'product_country',
|
|
311
|
+
'product_finish',
|
|
312
|
+
'product_age_statement',
|
|
313
|
+
'product_history',
|
|
314
|
+
'product_nose',
|
|
315
|
+
'c7_slug',
|
|
316
|
+
'product_taste',
|
|
317
|
+
'product_name',
|
|
318
|
+
'product_whisky_type',
|
|
319
|
+
'buy_now_option_select',
|
|
320
|
+
'click_to_buy_pim_id',
|
|
321
|
+
'debrain_pim_id',
|
|
322
|
+
'reserve_bar_liquid_grouping_id',
|
|
323
|
+
'direct_link',
|
|
324
|
+
'debrain_sku_id',
|
|
325
|
+
'mikmak_ean_ids',
|
|
326
|
+
'shopify_pim_id',
|
|
327
|
+
'shopify_engraved_pim_id',
|
|
328
|
+
'post_text_alternative_style',
|
|
329
|
+
'post_info_subtitle',
|
|
330
|
+
])})
|
|
331
|
+
%}
|
|
332
|
+
{% set updatedPost = updatedPost|merge({'slug' : post.slug}) %}
|
|
333
|
+
{% set updatedPost = updatedPost|merge({'post_title' : post.post_title}) %}
|
|
334
|
+
{% set updatedPost = updatedPost|merge({'product_details' : post.product_details}) %}
|
|
335
|
+
{% set updatedPost = updatedPost|merge({'post_date' : post.post_date}) %}
|
|
336
|
+
{% set updatedPost = updatedPost|merge({'id' : post.ID}) %}
|
|
337
|
+
{% for term in post.terms %}
|
|
338
|
+
{% if term.taxonomy == 'drink_category' %}
|
|
339
|
+
{% set updatedPost = updatedPost|merge({'cocktail_category' : term.name}) %}
|
|
340
|
+
{% endif %}
|
|
341
|
+
{% endfor %}
|
|
342
|
+
|
|
343
|
+
{% set updatedPost = updatedPost|merge({'categories' : post.terms}) %}
|
|
344
|
+
{% if postType == 'post' or postType == 'page' %}
|
|
345
|
+
{% set updatedPost = updatedPost|merge({'categories' : post.categories}) %}
|
|
346
|
+
{% endif %}
|
|
347
|
+
{% set updatedPost = updatedPost|merge({'tags' : post.tags}) %}
|
|
348
|
+
{% set updatedPost = updatedPost|merge({'author_display_name' : post.author.display_name}) %}
|
|
349
|
+
{% set updatedPost = updatedPost|merge({'link' : post.link}) %}
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
{% if includeReviews == true %}
|
|
353
|
+
{% set rating = function( 'do_shortcode', '[better-reviews post_id="' ~ post.ID ~ '" display="' ~ reviewDisplayOptions ~ '"]' )|raw %}
|
|
354
|
+
{% set updatedPost = updatedPost|merge({'rating' : rating}) %}
|
|
355
|
+
{% endif %}
|
|
356
|
+
{% set updatedPost = updatedPost|merge({'product_buynow_direct_link' : gt_unserialize_data(post.meta.direct_link)}) %}
|
|
357
|
+
|
|
358
|
+
{% set relatedProducts = post.meta('related_products') %}
|
|
359
|
+
{% set MikMakDrawerWidgetID = attribute(options['e-shop_settings'], 'mikmak_ctb_drawer_widget_id') %}
|
|
360
|
+
{% set relatedProductEANs = '' %}
|
|
361
|
+
{% for relatedPost in relatedProducts %}
|
|
362
|
+
{% set relatedProduct = get_post(relatedPost) %}
|
|
363
|
+
{% set relatedProductEANs = relatedProductEANs ~ ',' ~ relatedProduct.meta('mikmak_ean_ids')|trim(',') %}
|
|
364
|
+
{% endfor %}
|
|
365
|
+
{% set relatedProductEANs = relatedProductEANs|trim(',') %}
|
|
366
|
+
{% if relatedProductEANs is not empty %}
|
|
367
|
+
{% set updatedPost = updatedPost|merge({'related_product_eans' : relatedProductEANs}) %}
|
|
368
|
+
{% endif %}
|
|
369
|
+
{% set updatedPost = updatedPost|merge({'mikmak_drawer_widget_ID' : MikMakDrawerWidgetID}) %}
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
{% set post_image = get_image(post.post_image) %}
|
|
373
|
+
{% if post_image.id %}
|
|
374
|
+
{% set post_images = [] %}
|
|
375
|
+
{% set post_images = post_images|merge({'post_image' : post_image}) %}
|
|
376
|
+
{% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
|
|
377
|
+
{% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
|
|
378
|
+
{% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
|
|
379
|
+
{% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
|
|
380
|
+
{% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
|
|
381
|
+
{% endif %}
|
|
382
|
+
{% if not post_image.id %}
|
|
383
|
+
{% set post_image = get_image(post.meta[postType ~ '_image']) %}
|
|
384
|
+
{% set post_images = post_images|merge({'post_image' : post_image}) %}
|
|
385
|
+
{% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
|
|
386
|
+
{% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
|
|
387
|
+
{% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
|
|
388
|
+
{% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
|
|
389
|
+
{% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
|
|
390
|
+
{% endif %}
|
|
391
|
+
{% if not post_image.id %}
|
|
392
|
+
{% set post_image = get_image(post._thumbnail_id) %}
|
|
393
|
+
{% set post_images = post_images|merge({'post_image' : post_image}) %}
|
|
394
|
+
{% set post_images = post_images|merge({'post_image_src' : gt_image_mainsrc(post_image)}) %}
|
|
395
|
+
{% set post_images = post_images|merge({'post_image_srcset' : gt_image_srcset(post_image)}) %}
|
|
396
|
+
{% set post_images = post_images|merge({'post_image_width' : post_image.width}) %}
|
|
397
|
+
{% set post_images = post_images|merge({'post_image_height' : post_image.height}) %}
|
|
398
|
+
{% set post_images = post_images|merge({'post_image_alt_text' : post_image.alt}) %}
|
|
399
|
+
{% endif %}
|
|
400
|
+
|
|
401
|
+
{% set post_image_alt_id = post.meta['post_image_alt'] %}
|
|
402
|
+
{% if post_image_alt_id != null %}
|
|
403
|
+
{% set post_image_alt = get_image(post.meta['post_image_alt']) %}
|
|
404
|
+
{% set post_images = post_images|merge({'post_image_alt' : post_image_alt}) %}
|
|
405
|
+
{% set post_images = post_images|merge({'post_image_alt_src' : gt_image_mainsrc(post_image_alt)}) %}
|
|
406
|
+
{% set post_images = post_images|merge({'post_image_alt_srcset' : gt_image_srcset(post_image_alt)}) %}
|
|
407
|
+
{% set post_images = post_images|merge({'post_image_alt_width' : post_image_alt.width}) %}
|
|
408
|
+
{% set post_images = post_images|merge({'post_image_alt_height' : post_image_alt.height}) %}
|
|
409
|
+
{% set post_images = post_images|merge({'post_image_alt_alt_text' : post_image_alt.alt}) %}
|
|
410
|
+
{% endif %}
|
|
411
|
+
|
|
412
|
+
{% set post_image_background_id = post.meta['post_image_background'] %}
|
|
413
|
+
{% if post_image_background_id != null %}
|
|
414
|
+
{% set post_image_background = get_image(post.meta['post_image_background']) %}
|
|
415
|
+
{% set post_images = post_images|merge({'post_image_background' : post_image_background}) %}
|
|
416
|
+
{% set post_images = post_images|merge({'post_image_background_src' : gt_image_mainsrc(post_image_background)}) %}
|
|
417
|
+
{% set post_images = post_images|merge({'post_image_background_srcset' : gt_image_srcset(post_image_background)}) %}
|
|
418
|
+
{% set post_images = post_images|merge({'post_image_background_width' : post_image_background.width}) %}
|
|
419
|
+
{% set post_images = post_images|merge({'post_image_background_height' : post_image_background.height}) %}
|
|
420
|
+
{% set post_images = post_images|merge({'post_image_background_alt_text' : post_image_background.alt}) %}
|
|
421
|
+
{% endif %}
|
|
422
|
+
|
|
423
|
+
{% set post_image_accent_id = post.meta['post_image_accent'] %}
|
|
424
|
+
{% if post_image_accent_id != null %}
|
|
425
|
+
{% set post_image_accent = get_image(post.meta['post_image_accent']) %}
|
|
426
|
+
{% set post_images = post_images|merge({'post_image_accent' : post_image_accent}) %}
|
|
427
|
+
{% set post_images = post_images|merge({'post_image_accent_src' : gt_image_mainsrc(post_image_accent)}) %}
|
|
428
|
+
{% set post_images = post_images|merge({'post_image_accent_srcset' : gt_image_srcset(post_image_accent)}) %}
|
|
429
|
+
{% set post_images = post_images|merge({'post_image_accent_width' : post_image_accent.width}) %}
|
|
430
|
+
{% set post_images = post_images|merge({'post_image_accent_height' : post_image_accent.height}) %}
|
|
431
|
+
{% set post_images = post_images|merge({'post_image_accent_alt_text' : post_image_accent.alt}) %}
|
|
432
|
+
{% endif %}
|
|
433
|
+
{% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
|
|
434
|
+
|
|
435
|
+
{% set post_image_lifestyle_id = post.meta['post_image_lifestyle'] %}
|
|
436
|
+
{% if post_image_lifestyle_id != null %}
|
|
437
|
+
{% set post_image_lifestyle = get_image(post.meta['post_image_lifestyle']) %}
|
|
438
|
+
{% set post_images = post_images|merge({'post_image_lifestyle' : post_image_lifestyle}) %}
|
|
439
|
+
{% set post_images = post_images|merge({'post_image_lifestyle_src' : gt_cf_mainsrc(post_image_lifestyle)}) %}
|
|
440
|
+
{% set post_images = post_images|merge({'post_image_lifestyle_srcset' : gt_cf_srcset(post_image_lifestyle)}) %}
|
|
441
|
+
{% set post_images = post_images|merge({'post_image_lifestyle_width' : post_image_lifestyle.width}) %}
|
|
442
|
+
{% set post_images = post_images|merge({'post_image_lifestyle_height' : post_image_lifestyle.height}) %}
|
|
443
|
+
{% set post_images = post_images|merge({'post_image_lifestyle_alt_text' : post_image_lifestyle.alt}) %}
|
|
444
|
+
{% endif %}
|
|
445
|
+
{% set updatedPost = updatedPost|merge({'post_images' : post_images}) %}
|
|
446
|
+
{% set updatedPosts = updatedPosts|merge([updatedPost]) %}
|
|
447
|
+
{% endfor %}
|
|
448
|
+
{% endif %}
|
|
449
|
+
|
|
450
|
+
{% set returnedPosts = {
|
|
451
|
+
'testVariable' : media,
|
|
452
|
+
'postType' : postType,
|
|
453
|
+
'pageNum' : pageNum,
|
|
454
|
+
'order' : order,
|
|
455
|
+
'orderby' : orderby,
|
|
456
|
+
'offset' : offset,
|
|
457
|
+
'sorting' : sorting|ru,
|
|
458
|
+
'postsPerPage' : postsPerPage,
|
|
459
|
+
'initialPostsPerPage' : initialPostsPerPage,
|
|
460
|
+
'defaultCategory' : defaultCategory,
|
|
461
|
+
'limitPostsToSelectedCategories' : limitPostsToSelectedCategories,
|
|
462
|
+
'categoryIds' : categoryIds,
|
|
463
|
+
'defaultCategory' : defaultCategory,
|
|
464
|
+
'categories' : categories,
|
|
465
|
+
'allPosts' : allPosts,
|
|
466
|
+
'allProducts' : allProducts|default([]),
|
|
467
|
+
'categoryId' : categoryId,
|
|
468
|
+
'total' : allPostsTotal,
|
|
469
|
+
'posts' : updatedPosts,
|
|
470
|
+
'taxonomy' : postType ~ '_category',
|
|
471
|
+
'language': fn('apply_filters', 'wpml_current_language', NULL),
|
|
472
|
+
'currentMarket': currentMarket
|
|
473
|
+
} %}
|
|
474
|
+
{{ returnedPosts|json_encode() }}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export default function (props) { }
|
|
3
|
+
export function gridLayoutElement(props) {
|
|
4
|
+
const element = props.element;
|
|
5
|
+
return `
|
|
6
|
+
--grid-column-start-mobile: ${element.grid_layout_element?.grid_column_start_mobile};
|
|
7
|
+
--grid-column-span-mobile: ${element.grid_layout_element?.grid_column_span_mobile};
|
|
8
|
+
--grid-row-start-mobile: ${element.grid_layout_element?.grid_row_start_mobile};
|
|
9
|
+
--grid-row-span-mobile: ${element.grid_layout_element?.grid_row_span_mobile};
|
|
10
|
+
--grid-horizontal-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_horizontal_placement_mobile?.slice(2) : element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
|
|
11
|
+
--grid-vertical-placement-mobile: ${element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_mobile?.grid_vertical_placement_mobile?.slice(2) : element.grid_layout_element?.grid_vertical_placement?.slice(2)};
|
|
12
|
+
--grid-column-start-portrait: ${element.grid_layout_element?.grid_column_start_portrait};
|
|
13
|
+
--grid-column-span-portrait: ${element.grid_layout_element?.grid_column_span_portrait};
|
|
14
|
+
--grid-row-start-portrait: ${element.grid_layout_element?.grid_row_start_portrait};
|
|
15
|
+
--grid-row-span-portrait: ${element.grid_layout_element?.grid_row_span_mobile};
|
|
16
|
+
--grid-horizontal-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_horizontal_placement_portrait?.slice(2) : element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
|
|
17
|
+
--grid-vertical-placement-portrait: ${element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.slice(2) != 'default' ? element.grid_layout_element?.grid_layout_portrait?.grid_vertical_placement_portrait?.slice(2) : element.grid_layout_element?.grid_vertical_placement?.slice(2)};
|
|
18
|
+
--grid-column-start: ${element.grid_layout_element?.grid_column_start};
|
|
19
|
+
--grid-column-span: ${element.grid_layout_element?.grid_column_span};
|
|
20
|
+
--grid-row-start: ${element.grid_layout_element?.grid_row_start};
|
|
21
|
+
--grid-row-span: ${element.grid_layout_element?.grid_row_span};
|
|
22
|
+
--grid-horizontal-placement-desktop: ${element.grid_layout_element?.grid_horizontal_placement?.slice(2)};
|
|
23
|
+
--grid-vertical-placement-desktop: ${element.grid_layout_element?.grid_vertical_placement?.slice(2)};`;
|
|
24
|
+
}
|
|
25
|
+
export function textEditorStyles(props) {
|
|
26
|
+
const element = props.element;
|
|
27
|
+
const textColourType = props.element?.text_style?.text_colour?.slice(2);
|
|
28
|
+
let textColour = textColourType;
|
|
29
|
+
if (textColourType == 'post_text_colour_style') {
|
|
30
|
+
textColour = props.post.post_data?.post_text_colour_style?.slice(2);
|
|
31
|
+
}
|
|
32
|
+
if (textColourType == 'post_colour') {
|
|
33
|
+
textColour = props.post.post_data?.post_colour;
|
|
34
|
+
}
|
|
35
|
+
return `--text-align: ${element.text_style?.text_align?.slice(2)};
|
|
36
|
+
--text-transform: ${element.text_style?.text_transform?.slice(2)}; --font-weight: ${element.text_style?.text_font_weight?.slice(2)}; --text-colour: ${textColour}`;
|
|
37
|
+
}
|
|
38
|
+
</script>
|
package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/shopify-add-to-cart.vue
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
|
|
3
|
+
const props = defineProps(["post", "element", "ctaIcons", "blockClassname"]);
|
|
4
|
+
|
|
5
|
+
const gridLayoutString = gridLayoutElement(props);
|
|
6
|
+
|
|
7
|
+
const blockClassname = props.blockClassname;
|
|
8
|
+
const ctaIcons = props.ctaIcons;
|
|
9
|
+
const element = props.element;
|
|
10
|
+
const ctaStyle = element.cta_style.replace("__", "");
|
|
11
|
+
|
|
12
|
+
const post = props.post;
|
|
13
|
+
</script>
|
|
14
|
+
<template>
|
|
15
|
+
<div
|
|
16
|
+
:class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify`"
|
|
17
|
+
:data-label="`${element.shopify_text}`"
|
|
18
|
+
:data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
|
|
19
|
+
:data-pim="post.post_data.shopify_pim_id"
|
|
20
|
+
:style="`--post-colour: ${postColour}; --post-text-colour-style: ${postTextColourStyle}; ${gridLayoutString}`"
|
|
21
|
+
v-if="element.product_type.slice(2) == 'standard'"
|
|
22
|
+
></div>
|
|
23
|
+
<div
|
|
24
|
+
:class="`${blockClassname}__shopify shopify-add-to-cart ${blockClassname}__info-item shopify-wrapper shopify-integration has-shop shop-shopify engraved`"
|
|
25
|
+
:data-label="`${element.shopify_text}`"
|
|
26
|
+
:data-shopifya2cbtnstyle="`cmpl-cta-style-${element.cta_style}`"
|
|
27
|
+
:data-pim="post.post_data.shopify_engraved_pim_id"
|
|
28
|
+
:style="`--post-colour: ${postColour}; --post-text-colour-style: ${postTextColourStyle}; ${gridLayoutString}`"
|
|
29
|
+
v-if="element.product_type.slice(2) == 'engraved'"
|
|
30
|
+
></div>
|
|
31
|
+
</template>
|
package/components/block-post-type-filter-grid-v3/post-type-filter-grid-v3/social-media-item.vue
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { gridLayoutElement, textEditorStyles } from "./ptfg-utils.vue";
|
|
3
|
+
|
|
4
|
+
const props = defineProps(["post", "element", "fields"]);
|
|
5
|
+
const blockClassname = "post-type-filter-grid-v3";
|
|
6
|
+
const imageType = props.element?.image_select?.slice(2);
|
|
7
|
+
const setAsBackgroundImage = props.element?.set_as_background_image;
|
|
8
|
+
let positioningString = '';
|
|
9
|
+
let postImageWidthString = `--post-image-width-mobile: ${props.element.post_image_width}%; --post-image-width-desktop: ${props.element.post_image_width}%;`;
|
|
10
|
+
if (imageType === 'image_accent') {
|
|
11
|
+
const elementPositioning = props.element?.post_image_positioning.element_positioning;
|
|
12
|
+
positioningString = `
|
|
13
|
+
--element-rotation-desktop: ${elementPositioning.desktop_positioning.element_rotation_desktop}deg;
|
|
14
|
+
--element-rotation-mobile: ${elementPositioning.desktop_positioning.element_rotation_desktop}deg;
|
|
15
|
+
--element-z-index: ${elementPositioning.element_z_index};
|
|
16
|
+
--element-horizontal-offset-mobile: ${elementPositioning.mobile_positioning.horizontal_offset}%;
|
|
17
|
+
--element-vertical-offset-mobile: ${elementPositioning.mobile_positioning.vertical_offset}%;
|
|
18
|
+
--element-horizontal-offset-desktop: ${elementPositioning.desktop_positioning.horizontal_offset}%;
|
|
19
|
+
--element-vertical-offset-desktop: ${elementPositioning.desktop_positioning.vertical_offset}%;
|
|
20
|
+
--mobile-horizontal-placement: ${elementPositioning.mobile_positioning.horizontal_snap?.slice(2)};
|
|
21
|
+
--mobile-vertical-placement: ${elementPositioning.mobile_positioning.vertical_snap?.slice(2)};
|
|
22
|
+
--desktop-horizontal-placement: ${elementPositioning.desktop_positioning.horizontal_snap?.slice(2)};
|
|
23
|
+
--desktop-vertical-placement: ${elementPositioning.desktop_positioning.vertical_snap?.slice(2)};
|
|
24
|
+
`;
|
|
25
|
+
postImageWidthString = `--post-image-width-mobile: calc( ${props.element.post_image_width_mobile_px} / var(--mobile-design-reference) * var(--screen-width-mobile)); --post-image-width-desktop: calc(${props.element.post_image_width_desktop_px} / var(--desktop-design-reference) * var(--screen-width-desktop));`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const styleString = `
|
|
29
|
+
|
|
30
|
+
--post-image-border-radius: ${props.fields.post_image_border_radius};
|
|
31
|
+
`
|
|
32
|
+
let postType = props.post.post_data.post_type;
|
|
33
|
+
let sizes = "(min-width: 1440px) 50vw, (min-width: 1024px) 50vw, (min-width: 768px) 768px') 100vw";
|
|
34
|
+
|
|
35
|
+
const gridLayoutString = gridLayoutElement(props);
|
|
36
|
+
const textEditorStylesString = textEditorStyles(props);
|
|
37
|
+
|
|
38
|
+
</script>
|
|
39
|
+
<template>
|
|
40
|
+
<a :class="`${blockClassname}__post-image-container-link ${blockClassname}__info-item ${blockClassname}__post-image-container--${imageType} ${blockClassname}__post-image-container-link--${props.fields.show_alt_image_on_hover ? 'show-alt-image-on-hover' : 'no-hover'} ${setAsBackgroundImage ? blockClassname + '__post-image-container-link--set-as-background-image' : ''}`"
|
|
41
|
+
:href="props.post.link" :aria-label="props.post.post_title" :style="`${gridLayoutString}`">
|
|
42
|
+
<img v-if="props.post.post_images['post_' + imageType + '_src']"
|
|
43
|
+
:class="`${blockClassname}__post-image ${blockClassname}__post-${imageType} ${blockClassname}__post-image--${imageType}`"
|
|
44
|
+
loading="lazy" :src="props.post.post_images['post_' + imageType + '_src']"
|
|
45
|
+
:width="props.post.post_images['post_' + imageType + '_width']"
|
|
46
|
+
:height="props.post.post_images['post_' + imageType + '_height']"
|
|
47
|
+
:srcset="props.post.post_images['post_' + imageType + '_srcset']" :sizes=sizes
|
|
48
|
+
:alt="props.post.post_images['post_' + imageType + '_alt_text']"
|
|
49
|
+
:style="`${styleString} ${positioningString} ${postImageWidthString}`" />
|
|
50
|
+
<img v-if="props.fields.show_alt_image_on_hover"
|
|
51
|
+
:class="`${blockClassname}__post-image--secondary ${blockClassname}__post-${imageType}`" loading="lazy"
|
|
52
|
+
:src="props.post.post_images['post_' + imageType + '_src']"
|
|
53
|
+
:width="props.post.post_images['post_' + imageType + '_width']"
|
|
54
|
+
:height="props.post.post_images['post_' + imageType + '_height']"
|
|
55
|
+
:srcset="props.post.post_images['post_' + imageType + '_srcset']" :sizes=sizes
|
|
56
|
+
:alt="props.post.post_images['post_' + imageType + '_alt_text']" :style="`${postImageWidthString}`" />
|
|
57
|
+
</a>
|
|
58
|
+
</template>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { gridLayoutElement } from "./ptfg-utils.vue";
|
|
3
|
+
|
|
4
|
+
const props = defineProps(["post", "element", "blockClassname"]);
|
|
5
|
+
const gridLayoutString = gridLayoutElement(props);
|
|
6
|
+
|
|
7
|
+
const blockClassname = "post-type-filter-grid-v3";
|
|
8
|
+
</script>
|
|
9
|
+
<template>
|
|
10
|
+
<div :class="`${blockClassname}__post-spacer ${blockClassname}__info-item`"
|
|
11
|
+
:style="`${gridLayoutString}; --spacer-size-mult:${element.spacer_size}; --spacer-size-mult-portrait:${element.size_portrait}; --spacer-size-mult-mobile:${element.size_mobile}; --spacer-bg-colour:${element.spacer_background}`">
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
const props = defineProps(["modelValue", "placeholder"]);
|
|
3
|
+
const model = defineModel();
|
|
4
|
+
const blockClassname = "post-type-filter-grid-v3";
|
|
5
|
+
</script>
|
|
6
|
+
<template>
|
|
7
|
+
<div :class="`${blockClassname}__search-container`">
|
|
8
|
+
<input :class="`${blockClassname}__search-input`" v-model="model" :placeholder="props.placeholder" />
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {createApp} from 'vue';
|
|
2
|
+
import posttypefiltergridv3 from './post-type-filter-grid-v3.vue';
|
|
3
|
+
|
|
4
|
+
export default function posttypefiltergridv3Js(options = {}) {
|
|
5
|
+
try {
|
|
6
|
+
const {block} = options;
|
|
7
|
+
const mountElement = block.children[0];
|
|
8
|
+
createApp(posttypefiltergridv3, {...mountElement.dataset}).mount(
|
|
9
|
+
mountElement
|
|
10
|
+
);
|
|
11
|
+
} catch (error) {
|
|
12
|
+
console.error(error);
|
|
13
|
+
}
|
|
14
|
+
}
|