首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >额外引导的Yii2 NavBar强制加载

问额外引导的Yii2 NavBar强制加载
EN

Stack Overflow用户
提问于 2021-09-25 12:25:06
回答 1查看 54关注 0票数 1

我正在尝试将英雄特征模板从Start Bootstrap改编为Yii2。

heroic-features.css包含Bootstrap &我喜欢在可能的情况下使用can,因此我覆盖了YiiAsset、JqueryAsset和BootstrapAsset。

在我加入NavBar之前,一切看起来都很好。

在frontend/views/layouts/main.php I have bootstrap5...

代码语言:javascript
复制
use common\widgets\Alert;
use yii\bootstrap5\Breadcrumbs;
use yii\bootstrap5\Html;
use yii\bootstrap5\Nav;
use yii\bootstrap5\NavBar;

p2m\demo\assets\ThingsDemoAsset::register($this);
p2m\assets\BootstrapIconsAsset::register($this);

给我想要的.

代码语言:javascript
复制
<link href="/assets/ffcb6986/css/heroic-features.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" integrity="sha384-tKLJeE1ALTUwtXlaGjJYM3sejfssWdAaWR2s97axw4xkiAdMzQjtOjgcyw0Y50KU" crossorigin="anonymous">

...

<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>
<script src="/assets/b94ae250/yii.js"></script>
<script src="/assets/ffcb6986/js/heroic-features.js"></script></body>

只要我在frontend/views/layouts/main.php中添加任何NavBar,甚至是完全空的内容...

代码语言:javascript
复制
    NavBar::begin();
    NavBar::end();

我得到这个输出..。

代码语言:javascript
复制
<link href="/assets/ffcb6986/css/heroic-features.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" integrity="sha384-tKLJeE1ALTUwtXlaGjJYM3sejfssWdAaWR2s97axw4xkiAdMzQjtOjgcyw0Y50KU" crossorigin="anonymous">
<link href="/assets/51c6396f/css/bootstrap.css" rel="stylesheet"> <!-- << this! -->

...

<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>
<script src="/assets/b94ae250/yii.js"></script>
<script src="/assets/ffcb6986/js/heroic-features.js"></script>
<script src="/assets/51c6396f/js/bootstrap.bundle.js"></script></body> <!-- << this! -->

插入<!-- << this! -->以突出显示额外的输出。

是什么原因导致加载额外的引导程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-26 12:45:48

不要使用bootstrap navbar,它会在内部注册bootstrap插件资产。您还需要自定义导航栏。

Yii2 Bootstrap NavrBar

代码语言:javascript
复制
public function run()
{
    $tag = ArrayHelper::remove($this->containerOptions, 'tag', 'div');
    echo Html::endTag($tag);
    if ($this->renderInnerContainer) {
        echo Html::endTag('div');
    }
    $tag = ArrayHelper::remove($this->options, 'tag', 'nav');
    echo Html::endTag($tag);
    BootstrapPluginAsset::register($this->getView());
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69326121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档