2016-03-22 2 views
2

Я пытаюсь переопределить Bootstrap css в моем проекте. Добавление этого кода в конфигурационный файл работает, но тогда все glyphicons не правильноYii 2.0: перегрузка бутстрапа CSS приводит к сбою глификонов

'assetManager' => [ 
'bundles' => [ 
    'yii\bootstrap\BootstrapAsset' => [ 
     'sourcePath' => '@webroot', 
     'css' => ['css/bootstrap.css'] 
     ], 
    ], 
], 

Страница перед тем отображается: enter image description here

Страница за: enter image description here

Я понимаю, что файлы шрифтов отсутствует, но, как добавить их?

+0

, если ваша проблема только в том, что отсутствует файл glyphicon, почему бы вам не попробовать и не экспортировать компонент glyphicon в bootstrap и не добавить его в ur-файл. мы надеемся, что он будет отменять существующий, если он есть. – rockStar

ответ

1

По умолчанию bootstrap.css ожидает, что шрифты будут расположены в папке шрифтов, которая является родной частью папки css. Эта папка не существует в вашей реализации.

Из документов для $sourcePath для yii\web\Asset:

Вы должны установить это свойство, если каталог, содержащий файлы ресурсы источника не доступен из веба. Установив это свойство, yii\web\AssetManager автоматически опубликует исходные файлы ресурсов в каталог, доступный через Интернет, когда пакет ресурсов зарегистрирован на странице.

по умолчанию $sourcePath для yii\bootstrap\BootstrapAsset установлен в @bower/bootstrap/dist. Эта папка содержит 3 подпапки: css, js и fonts, которые все опубликованы в папке assets.

Чтобы это исправить, нужно либо:

  1. Скопируйте шрифты и JS папки из vendor/bower/bootstrap/dist в вашем вебсервера, чтобы поддерживать связь.
  2. Измените $sourcePath на копию папки bootstrap/dist и замените bootstrap.css на нее собственной копией.

Вы также можете изменить путь к шрифтам прямо в вашем bootstrap.css, но я бы не рекомендовал его, поскольку его сложнее поддерживать.

1

Так что это было мое непонимание yii2 & бутстрап. Для переопределения начальной загрузки CSS нам нужно скопировать загрузочный дистрибутив (не только bootstap.css) в новый каталог, в моем случае это был веб-доступ к веб/custombootstrap/расстояние

и переопределить в конфигурационном файле следующим образом:

'assetManager' => [ 
    'bundles' => [ 
     'yii\bootstrap\BootstrapAsset' => [ 
      'basePath' => '@webroot', 
      'baseUrl' => '@web/custombootstrap/dist', 
      'css' => ['css/bootstrap.css'] 
     ], 
    ], 
], 
+0

Ты бил меня на 4 минуты. – topher

 Смежные вопросы

  • Нет связанных вопросов^_^