Harden admin AJAX and improve mega menu links
CI / PHP lint (7.4) (push) Successful in 1m7s
CI / PHP lint (8.1) (push) Successful in 1m8s
CI / Coding standards (push) Successful in 1m18s

This commit is contained in:
tiamak
2026-04-28 07:54:10 +00:00
parent cc7069e695
commit 501f6c4b07
5 changed files with 102 additions and 48 deletions
+28 -26
View File
@@ -33,23 +33,23 @@
<div class="row adv-megamenu__node-card-row">
{foreach from=$nodes item=treeNode}
<div class="col-xl-3 col-lg-3 col-md-4 col-sm-6">
<article class="card adv-megamenu__node-card">
{if $treeNode.uses_sprite && $treeNode.icon_class}
<div class="adv-megamenu__node-card-sprite">
<span class="{$treeNode.icon_class|escape:'htmlall':'UTF-8'}" aria-hidden="true"></span>
</div>
{elseif $treeNode.icon_url}
<img src="{$treeNode.icon_url|escape:'htmlall':'UTF-8'}" class="card-img-top" alt="{$treeNode.title|escape:'htmlall':'UTF-8'}" loading="lazy">
{/if}
<div class="card-body">
<h3 class="card-title">
<a href="{$treeNode.url|escape:'htmlall':'UTF-8'}">{$treeNode.title|escape:'htmlall':'UTF-8'}</a>
</h3>
{if $treeNode.description}
<p class="card-text">{$treeNode.description|escape:'htmlall':'UTF-8'}</p>
<a href="{$treeNode.url|escape:'htmlall':'UTF-8'}" class="adv-megamenu__node-card-link" {if $treeNode.new_window}target="_blank" rel="noopener"{/if}>
<article class="card adv-megamenu__node-card">
{if $treeNode.uses_sprite && $treeNode.icon_class}
<div class="adv-megamenu__node-card-sprite">
<span class="{$treeNode.icon_class|escape:'htmlall':'UTF-8'}" aria-hidden="true"></span>
</div>
{elseif $treeNode.icon_url}
<img src="{$treeNode.icon_url|escape:'htmlall':'UTF-8'}" class="card-img-top" alt="{$treeNode.title|escape:'htmlall':'UTF-8'}" loading="lazy">
{/if}
</div>
</article>
<div class="card-body">
<h3 class="card-title">{$treeNode.title|escape:'htmlall':'UTF-8'}</h3>
{if $treeNode.description}
<p class="card-text">{$treeNode.description|escape:'htmlall':'UTF-8'}</p>
{/if}
</div>
</article>
</a>
</div>
{/foreach}
</div>
@@ -185,16 +185,18 @@
{foreach from=$node.children item=child}
<li>
<div class="adv-megamenu__mobile-link-row{if $depth == 1 && (($child.uses_sprite && $child.icon_class) || $child.icon_url)} adv-megamenu__mobile-link-row--with-image{/if}">
{if $depth == 1 && ($child.uses_sprite && $child.icon_class)}
<div class="adv-megamenu__mobile-thumb adv-megamenu__mobile-thumb--sprite">
<span class="{$child.icon_class|escape:'htmlall':'UTF-8'}" aria-hidden="true"></span>
</div>
{elseif $depth == 1 && $child.icon_url}
<div class="adv-megamenu__mobile-thumb">
<img src="{$child.icon_url|escape:'htmlall':'UTF-8'}" alt="{$child.title|escape:'htmlall':'UTF-8'}" loading="lazy">
</div>
{/if}
<a href="{$child.url|escape:'htmlall':'UTF-8'}" {if $child.new_window}target="_blank" rel="noopener"{/if}>{$child.title|escape:'htmlall':'UTF-8'}</a>
<a href="{$child.url|escape:'htmlall':'UTF-8'}" class="adv-megamenu__mobile-main-link{if $depth == 1 && (($child.uses_sprite && $child.icon_class) || $child.icon_url)} adv-megamenu__mobile-main-link--with-image{/if}" {if $child.new_window}target="_blank" rel="noopener"{/if}>
{if $depth == 1 && ($child.uses_sprite && $child.icon_class)}
<div class="adv-megamenu__mobile-thumb adv-megamenu__mobile-thumb--sprite">
<span class="{$child.icon_class|escape:'htmlall':'UTF-8'}" aria-hidden="true"></span>
</div>
{elseif $depth == 1 && $child.icon_url}
<div class="adv-megamenu__mobile-thumb">
<img src="{$child.icon_url|escape:'htmlall':'UTF-8'}" alt="{$child.title|escape:'htmlall':'UTF-8'}" loading="lazy">
</div>
{/if}
<span class="adv-megamenu__mobile-main-link-label">{$child.title|escape:'htmlall':'UTF-8'}</span>
</a>
{if $child.children|count || $child.category_branch|count || $child.layouts|count || $child.type == 'rich_content'}
<button type="button" class="js-adv-open-panel" data-target="adv-panel-{$child.id}"></button>
{/if}