2012-05-10 3 views
0

Я использую Symfony2.0 с MopaBootstrapBundle v2.x_sf2.0, которые предоставляют Twitter-бутстрап. На самом деле, я включаю основной файл Less, например, в documentation. Этот файл включает все Меньшие файлы из Twitter-бутстрапа. Моя проблема в том, что я не могу получить доступ к микшинам, предоставленным TwitterBootstrap в других файлах.Как повторно использовать переменную, предоставленную Twitter-бутстрапом, используя MopaBootstrapBundle?

{% stylesheets filter='less 
     '@MopaBootstrapBundle/Resources/public/less/mopabootstrapbundle.less' 
     '@MyBundle/Resources/public/less/myfile.less' 
    %} 
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
    {% endstylesheets %} 

Каков наилучший способ решить эту проблему?

Заранее спасибо.

ответ

1

Один из способов получения миксинов и переменных в вашем комплекте - скопировать файл mopabootstrap.less в @MyBundle/Resources/public/less/bootstrap.less и изменить пути к импорту, чтобы указать на MopabootstrapBundle. Я бы также добавил дополнительный последний импорт под названием @import "bootstrap-override.less"; для стилизации дополнительных элементов.

Ваш блок стилей будет выглядеть следующим образом:

{% stylesheets filter='less 
    '@MyBundle/Resources/public/less/bootstrap.less' 
%} 
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
{% endstylesheets %} 

В случае, если вам необходимо изменить один из основных бутстраповских файлов (вероятно, нужно variables.less), просто скопируйте их в свой проект и изменения путь импорта в bootstrap.less.

+0

Я пытаюсь справиться с этой проблемой с вашим решением, но я до сих пор не удалось импортировать файл. Я использую этот URL @import "/vendor/bundles/Mopa/BootstrapBundle/Resources/public/less/mopabootstrapbundle.less"; для импорта всего файла из MopaBootstrapBundle, и у меня не было ошибок с сервера, поэтому я думаю, что путь правильный. Знаете ли вы, что не так? Спасибо – gperriard

+0

Вы дали ему абсолютный путь к файлу меньшего размера, помните, что чем меньше файл скомпилирован до достижения браузера, поэтому вы должны изменить его на относительный путь '@import '../../../. /../../../vendor/bundles/Mopa/BootstrapBundle/Resources/public/less/mopabootstrapbundle. less''. Не проверен, но должен работать. – cvaldemar

+0

У меня ошибка 500. Я пытаюсь использовать ../../../../../../vendor/bundles/Mopa/BootstrapBundle/Resources/public/less/m opabootstrapbundle из/src/Btask/DashboardBundle/Resources/public/less/main.less – gperriard

0

У меня была аналогичная проблема, когда я не мог получить доступ к переменным в переменных. В моих пользовательских меньше файлов. Поэтому я создал пакет, который поможет решить эту проблему, может быть, кто-то найдет это полезным.

https://github.com/realtyhub/BootstrapBundle

https://packagist.org/packages/realtyhub/bootstrap-bundle