私は折りたたみ可能なメニューを作成してみました Joomla! 3.3 そして ブートストラップ3 と部分的に得た。ただし、折りたたみバージョンがアクティブで、ボタンをクリックして展開すると、開くだけで閉じません。
ここでは、index.php
コード
そしてここ、 Joomla administration
助けてください。
私は認めるよりも長くこれに苦労しました。私の答えはBootstrap 3.2.0に基づいており、Joomla 3.3の折りたたみ可能なドロップダウンメニューを作成します
私のテンプレートには、bootstrap.cssとbootstrap.jsの修正バージョンを含めました。修正に関する詳細は、この回答の下部にあります。
次のコードをindex.phpファイルに入れます
<!--Navigation-->
<div id="navigation">
<div class="container">
<div class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#targetedestination">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div id="brand">
<a href="<?php echo $this->params->get('logo_link') ?>"
<img style="width:<?php echo $this->params->get('logo_width') ?>px; height:<?php echo $this->params->get('logo_height') ?>px; " src="<?php echo $this->params->get('logo_file') ?>" alt="Logo" />
</a>
</div>
</div>
<div class="navbar-collapse collapse" id="targetedestination">
<?php if ($this->countModules('navigation')) : ?>
<nav class="navigation" role="navigation">
<jdoc:include type="modules" name="navigation" style="none" />
</nav>
<?php endif; ?>
</div>
</div>
</div>
</div>
<!--Navigation-->
次に、本文の終了タグの直前(つまり、</body>
の前)
<script type="text/javascript">
(function($){
$(document).ready(function(){
// dropdown
if ($('.parent').children('ul').length > 0)
{
$('.parent').addClass('dropdown');
$('.parent > a').addClass('dropdown-toggle');
$('.parent > a').attr('data-toggle', 'dropdown');
$('.parent > a').append('<b class="caret"></b>');
$('.parent > ul').addClass('dropdown-menu');
}
});
})(jQuery);
</script>
<script type="text/javascript">
(function($){
$('.dropdown input').click(function(e) {
e.stopPropagation();
});
})(jQuery);
</script>
<script type="text/javascript">
(function($){
$('.dropdown-menu .dropdown-submenu a[data-toggle="dropdown-submenu"]').click(function (e)
{
e.stopPropagation();
});
})(jQuery);
</script>
<!-- JS -->
</body>
上記のjavascriptは https://github.com/gsuez/master-bootstrap- からダウンロードできるスケルトンテンプレートから取得されたことに注意してください
bootstrap私が使用するバージョンは、標準のBootstrap 3.2.0とほぼ同じですが、1つの変更点があります。dropdown.jsというセクションを置き換えました。 bootstrap.jsのv3.2.0
https://github.com/mrhanlon/twbs-dropdown-doubletap のdropdown-doubletap.jsを使用
この変更されたbootstrapバージョンを使用すると、親ドロップダウンリンク(最初のドロップダウン)をダブルクリックしてリンクをたどることができます。通常、親ドロップダウンはヘッダーとしてのみ機能します(つまり、クリックできますが、リンクをたどることはできません)。
おそらく通常のbootstrapを使用することもできますが、私はテストしていません。メモリから、上記のスケルトンテンプレートを使用し、変更されたブートストラップを使用する場合は、 params.phpファイルからdropdown.jsを削除します。
//$doc->addScript('templates/'.$this->template.'/js/dropdown.js');
また、メニュークラスのサフィックスにnav navbar-nav
を使用したことを忘れていました。ナビゲーションの前にスペースを残してください。
コードのデバッグが難しい場合は、これらのメニューモジュールを試してみてください。
http://www.joomlack.fr/en/joomla-extensions/accordeonmenu-ck
http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/accordion-menus/22571(this one has bootstrap)