我有以下问题:
我让joomla 3.3.3在多语言站点中使用HelixV2框架。一切都很好,除了一件事:
在同一位置创建两个菜单:
这是它的浏览器代码:
<div id="sp-menu" class="span5">
<ul class="nav ">
<li class="item-101 current active"><a href="/Terra_3/index.php">Home</a></li>
<li class="item-113"><a href="/Terra_3/index.php/about-us">About us </a></li>
</ul>
<div id="sp-main-menu" class="visible-desktop">
<ul class="sp-menu level-0"><li class="menu-item active first"><a href="http://localhost/Terra_3/" class="menu-item active first"><span class="menu"><span class="menu-title">Home</span></span></a></li>
<li class="menu-item last"><a href="/Terra_3/index.php/about-us" class="menu-item last"><span class="menu"><span class="menu-title">About us </span></span></a></li></ul>
</div>
</div>
部分:
<ul class="nav ">
<li class="item-101 current active"><a href="/Terra_3/index.php">Home</a></li>
<li class="item-113"><a href="/Terra_3/index.php/about-us">About us </a></li>
</ul>
不应该在那里!
任何人都知道如何删除它?
提前感谢!
答案 0 :(得分:0)
你需要制作&#34;主菜单&#34;模块未发表
答案 1 :(得分:0)
这很直接。您已分配了一个&#34;菜单模块&#34;进入&#34;菜单&#34;位置。默认情况下,Helix会显示一个菜单,您可以在选项卡&#34;菜单&#34;下的模板中选择该菜单。因此,基本上不要发布您的模块,如有必要,请在模板中选择正确的菜单。
这使我们得到了Helix 2的多语言支持。在我看来,支持对开发人员来说不是那么友好。模板本身没有支持多种语言的解决方案,这主要是由主菜单选择引起的。模板只能显示一个菜单(即一种菜单语言)。如果您想要显示多种语言,解决方案是复制模板并为其指定正确的菜单语言(不要忘记将模板分配到正确的语言)。开发人员会立即看到问题,因为对模板进行更改需要多次完成(取决于您拥有多少种语言)。
答案 2 :(得分:0)
我遇到了同样的问题,但对我来说是另一种解决方案:我将菜单模块位置更改为非螺旋位置,而不是复制某些东西。由于Helix自己的菜单管理,导航保持在正确的位置,不再是双倍。也许它也适合你:)
答案 3 :(得分:0)
这是不复制模板的解决方案:
以下解决方案读取当前的语言标签,并将特定的“ mainmenu-languageTag”菜单手动加载到我们的菜单位置。
templates/{YOUR TEMPLATE}/features/menu.php
class Helix3FeatureMenu {
private $helix3;
public function __construct($helix3){
$this->helix3 = $helix3;
$this->position = 'menu';
}
public function renderFeature() {
$menu_type = $this->helix3->getParam('menu_type');
ob_start();
if($menu_type == 'mega_offcanvas') { ?>
<div class='sp-megamenu-wrapper'>
<a id="offcanvas-toggler" href="#"><i class="fa fa-bars"></i></a>
<?php $this->helix3->loadMegaMenu('hidden-sm hidden-xs'); ?>
</div>
<?php } else if ($menu_type == 'mega') { ?>
<div class='sp-megamenu-wrapper'>
<a id="offcanvas-toggler" class="visible-sm visible-xs" href="#"><i class="fa fa-bars"></i></a>
<?php $this->helix3->loadMegaMenu('hidden-sm hidden-xs'); ?>
</div>
<?php } else { ?>
<a id="offcanvas-toggler" href="#"><i class="fa fa-bars"></i></a>
<?php }
return ob_get_clean();
}
}
class Helix3FeatureMenu {
private $helix3;
public function __construct($helix3){
$this->helix3 = $helix3;
$this->position = 'menu';
}
public function renderFeature() {
$menu_type = $this->helix3->getParam('menu_type');
$name = '';
if (JLanguageMultilang::isEnabled())
{
$lang = JFactory::getLanguage()->getTag();
// Please replace to your multi-language menutype name
$name = 'mainmenu-' . strtolower($lang);
}
ob_start();
if($menu_type == 'mega_offcanvas') { ?>
<div class='sp-megamenu-wrapper'>
<a id="offcanvas-toggler" href="#"><i class="fa fa-bars"></i></a>
<?php $this->helix3->loadMegaMenu('hidden-sm hidden-xs', $name); ?>
</div>
<?php } else if ($menu_type == 'mega') { ?>
<div class='sp-megamenu-wrapper'>
<a id="offcanvas-toggler" class="visible-sm visible-xs" href="#"><i class="fa fa-bars"></i></a>
<?php $this->helix3->loadMegaMenu('hidden-sm hidden-xs', $name); ?>
</div>
<?php } else { ?>
<a id="offcanvas-toggler" href="#"><i class="fa fa-bars"></i></a>
<?php }
return ob_get_clean();
}
}