Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions Block/NodeType/CustomUrl.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,29 @@ public function getLabel()
{
return __("Custom Url");
}

/**
* @param int $nodeId
*
* @return string
*/
public function getCustomUrl($nodeId)
{
$node = $this->nodes[$nodeId];
$nodeContent = $node->getContent();
$url = '';

if (
$nodeContent
&& $nodeContent !== '#'
&& stripos($nodeContent, 'javascript:void') === false
&& !$this->isExternalUrl($nodeContent)
) {
$url = $this->_storeManager->getStore()->getBaseUrl() . ltrim($nodeContent, '/');
} else {
$url = $nodeContent;
}

return $url;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ $imageUrl = $block->getImageUrl();
$imageAltText = $block->getImageAltText();
$imageWidth = $block->getImageWidth();
$imageHeight = $block->getImageHeight();
$content = $block->getContent();
$url = $block->getCustomUrl($nodeId);
$title = $block->getTitle();
$dataAttribute = 'data-menu="menu-' . $nodeId . '"';
$nodeClasses = $block->getNodeClasses();
?>

<?php if ($content): ?>
<?php if ($url): ?>
<?php if ($imageUrl): ?>
<a href="<?= $escaper->escapeUrl($content) ?>"
<a href="<?= $escaper->escapeUrl($url) ?>"
class="transition-opacity group-hover:opacity-80"
tabindex="-1"
<?php if ($block->getTarget()): ?>
Expand All @@ -36,7 +36,7 @@ $nodeClasses = $block->getNodeClasses();
/>
</a>
<?php endif; ?>
<a href="<?= $escaper->escapeUrl($content) ?>"
<a href="<?= $escaper->escapeUrl($url) ?>"
class="snowdog-menu-link <?= $escaper->escapeHtmlAttr($nodeClasses) ?>"
<?php if ($nodeId): ?>
data-menu="menu-<?= $escaper->escapeHtmlAttr($nodeId) ?>"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ $imageUrl = $block->getImageUrl();
$imageAltText = $block->getImageAltText();
$imageWidth = $block->getImageWidth();
$imageHeight = $block->getImageHeight();
$content = $block->getContent();
$url = $block->getCustomUrl($nodeId);
$title = $block->getTitle();
$dataAttribute = 'data-menu="menu-' . $nodeId . '"';
$nodeClasses = $block->getNodeClasses();
?>

<?php if ($content): ?>
<?php if ($url): ?>
<?php if ($imageUrl): ?>
<a href="<?= $escaper->escapeUrl($content) ?>"
<a href="<?= $escaper->escapeUrl($url) ?>"
class="block mb-2 transition-opacity group-hover:opacity-80"
tabindex="-1"
<?php if ($block->getTarget()): ?>
Expand All @@ -36,7 +36,7 @@ $nodeClasses = $block->getNodeClasses();
/>
</a>
<?php endif; ?>
<a href="<?= $escaper->escapeUrl($content) ?>"
<a href="<?= $escaper->escapeUrl($url) ?>"
class="snowdog-menu-link <?= $escaper->escapeHtmlAttr($nodeClasses) ?>"
<?php if ($nodeId): ?>
data-menu="menu-<?= $escaper->escapeHtmlAttr($nodeId) ?>"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ use Snowdog\Menu\Block\NodeType\CustomUrl;
?>
<?php
$nodeId = $block->getId();
$content = $block->getContent();
$url = $block->getCustomUrl($nodeId);
$title = $block->getTitle();
$dataAttribute = 'data-menu="menu-' . $nodeId . '"';
$nodeClasses = $block->getNodeClasses();
?>

<?php if ($content): ?>
<?php if ($url): ?>
<a class="cursor-pointer snowdog-menu-link-topmenu-mobile <?= $escaper->escapeHtmlAttr($nodeClasses) ?>"
href="<?= $escaper->escapeUrl($content) ?>"
href="<?= $escaper->escapeUrl($url) ?>"
<?php if ($block->getTarget()): ?>
target="_blank"
rel="noopener"
Expand Down
7 changes: 4 additions & 3 deletions view/frontend/templates/menu/node_type/custom_url.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ $imageUrl = $block->getImageUrl();
$imageAltText = $block->getImageAltText();
$imageWidth = $block->getImageWidth();
$imageHeight = $block->getImageHeight();
$content = $block->getContent();
$nodeId = $block->getId();
$url = $block->getCustomUrl($nodeId);

if ($block->getIsViewAllLink()) {
$title = __('View All');
Expand All @@ -32,9 +33,9 @@ if ($block->getTarget()) {
}
$allAttributes = implode(' ', $attributes);
?>
<?php if ($content): ?>
<?php if ($url): ?>
<a
href="<?= $block->escapeUrl($content); ?>"
href="<?= $block->escapeUrl($url); ?>"
<?= $allAttributes; ?>
>
<?= $block->escapeHtml($title); ?>
Expand Down