Skip to content

Commit 4cb5df9

Browse files
authored
Merge pull request #469 from TeamEver/codex/add-display-configuration-for-prettyblock
Add responsive visibility option to Prettyblocks
2 parents 79f734a + ea2e2e8 commit 4cb5df9

File tree

60 files changed

+232
-57
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+232
-57
lines changed

config/allowed_files.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@
197197
'views/templates/hook/pdf.tpl',
198198
'views/templates/hook/prettyblocks.tpl',
199199
'views/templates/hook/prettyblocks/index.php',
200+
'views/templates/hook/prettyblocks/_partials/visibility_class.tpl',
200201
'views/templates/hook/prettyblocks/prettyblock_accordeon.tpl',
201202
'views/templates/hook/prettyblocks/prettyblock_alert.tpl',
202203
'views/templates/hook/prettyblocks/prettyblock_button.tpl',

src/Service/EverblockPrettyBlocks.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4372,13 +4372,49 @@ public static function getEverPrettyBlocks($context)
43724372
],
43734373
],
43744374
];
4375+
$blocks = self::addDisplaySettings($blocks, $module);
43754376
$blocks = self::applyFileUploadPath($blocks);
43764377
EverblockCache::cacheStore($cacheId, $blocks);
43774378
return $blocks;
43784379
}
43794380
return EverblockCache::cacheRetrieve($cacheId);
43804381
}
43814382

4383+
private static function addDisplaySettings(array $blocks, Module $module): array
4384+
{
4385+
foreach ($blocks as &$block) {
4386+
if (!isset($block['config']) || !is_array($block['config'])) {
4387+
$block['config'] = [];
4388+
}
4389+
4390+
if (!isset($block['config']['fields']) || !is_array($block['config']['fields'])) {
4391+
$block['config']['fields'] = [];
4392+
}
4393+
4394+
if (isset($block['config']['fields']['display_on'])) {
4395+
continue;
4396+
}
4397+
4398+
$displayField = [
4399+
'display_on' => [
4400+
'type' => 'select',
4401+
'label' => $module->l('Display on'),
4402+
'default' => 'all',
4403+
'choices' => [
4404+
'all' => $module->l('Mobile and desktop'),
4405+
'mobile' => $module->l('Mobile only'),
4406+
'desktop' => $module->l('Desktop only'),
4407+
'none' => $module->l('Nowhere'),
4408+
],
4409+
],
4410+
];
4411+
4412+
$block['config']['fields'] = array_merge($displayField, $block['config']['fields']);
4413+
}
4414+
4415+
return $blocks;
4416+
}
4417+
43824418
private static function applyFileUploadPath(array $blocks): array
43834419
{
43844420
foreach ($blocks as &$block) {

views/templates/hook/prettyblocks.tpl

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,21 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
{widget name="prettyblocks" zone_name="{$zone}{$objectName}{$idObj}"}
18+
<style>
19+
.everblock-visibility-none {
20+
display: none !important;
21+
}
22+
23+
@media (min-width: 992px) {
24+
.everblock-visibility-mobile {
25+
display: none !important;
26+
}
27+
}
28+
29+
@media (max-width: 991.98px) {
30+
.everblock-visibility-desktop {
31+
display: none !important;
32+
}
33+
}
34+
</style>
35+
{widget name="prettyblocks" zone_name="{$zone}{$objectName}{$idObj}"}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{assign var='prettyblock_visibility' value=$block.settings.default.display_on|default:'all'}
2+
{assign var='prettyblock_visibility_class' value=''}
3+
{if $prettyblock_visibility === 'mobile'}
4+
{assign var='prettyblock_visibility_class' value=' everblock-visibility-mobile'}
5+
{elseif $prettyblock_visibility === 'desktop'}
6+
{assign var='prettyblock_visibility_class' value=' everblock-visibility-desktop'}
7+
{elseif $prettyblock_visibility === 'none'}
8+
{assign var='prettyblock_visibility_class' value=' everblock-visibility-none'}
9+
{/if}

views/templates/hook/prettyblocks/prettyblock_accordeon.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}">
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}">
1921
{if $block.settings.default.force_full_width}
2022
<div class="row gx-0 no-gutters">
2123
{elseif $block.settings.default.container}

views/templates/hook/prettyblocks/prettyblock_alert.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}">
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}">
1921
{if $block.settings.default.force_full_width}
2022
<div class="row gx-0 no-gutters">
2123
{elseif $block.settings.default.container}

views/templates/hook/prettyblocks/prettyblock_brands.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
1921
{assign var=brands value=[]}
2022
{if isset($block.states) && $block.states}
2123
{foreach from=$block.states item=state}

views/templates/hook/prettyblocks/prettyblock_button.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
1921
{if $block.settings.default.force_full_width}
2022
<div class="row gx-0 no-gutters">
2123
{elseif $block.settings.default.container}

views/templates/hook/prettyblocks/prettyblock_card.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
1921
{if isset($block.states) && $block.states}
2022
<div class="{if $block.settings.center_cards}px-2 px-md-0 pb-2{else}overflow-auto px-2 px-md-0 pb-2{/if}">
2123
<div class="d-flex gap-3 pe-1{if $block.settings.center_cards} flex-wrap justify-content-center{else} flex-nowrap{/if}">

views/templates/hook/prettyblocks/prettyblock_category_highlight.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
* @copyright 2019-2025 Team Ever
1616
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
1717
*}
18-
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
18+
{include file='module:everblock/views/templates/hook/prettyblocks/_partials/visibility_class.tpl'}
19+
20+
<div id="block-{$block.id_prettyblocks}" class="{if $block.settings.default.force_full_width}container-fluid px-0 mx-0{elseif $block.settings.default.container}container{/if}{$prettyblock_visibility_class}"{if isset($block.settings.default.bg_color) && $block.settings.default.bg_color} style="background-color:{$block.settings.default.bg_color|escape:'htmlall':'UTF-8'};"{/if}>
1921
{if $block.settings.default.force_full_width}
2022
<div class="row row-cols-1 row-cols-md-{$block.settings.desktop_columns|default:2} gx-0 no-gutters">
2123
{elseif $block.settings.default.container}

0 commit comments

Comments
 (0)