首页>Magento>source

我尝试在模块的LESS样式表中包含特定的LESS变量.注意:我的模块,而不是我的主题。

例如,有一个名为 app/code/Vendor/Module/view/frontend/web/css/stylesheet.less的文件 .我怎样才能使用 lib/web/css/source/lib/variables/_layout.less的参数   在这个样式表中(如 @layout-indent__width   例如)?

Edit #1

我发现我可以这样做:

@import '../../../../../../../../lib/web/css/source/lib/_variables.less';
@import '../../../../../../../../lib/web/css/source/lib/_responsive.less';

但不知何故,这似乎不是正确的方法.对此有何建议?

Edit #2

我认为包含像这样的LESS文件会在我的主题' _theme.less中省略我的变量覆盖 .由于有问题的样式表位于 var/view_preprocessed/css/frontend/ThemeVendor/ThemeName/en_US/Vendor_Module/css   我不得不改变 @import -directives to:

@import '../../css/source/lib/_variables.less';
@import '../../css/source/_theme.less';
@import '../../css/source/lib/_responsive.less';

似乎有点古怪,但至少它有效: - /

我仍然愿意接受建议.这个解决方案对我来说不合适。

Edit #3:

我的立场得到纠正,以上都不再适用.我知道它开始时不稳定. : - /有人建议吗?

最新回答
  • 2019-12-5
    1 #

    如果你想使用lib变量。

    你不需要 include lib   文件或不修改它。

    你需要把代码放在下面的例子中,

    .classname {
    .lib-css(color, @color-white);
    }
    

  • 2019-12-5
    2 #

    我不能立即建议你想要做什么工作的方法,但是我会说模块不应该依赖主题中的LESS变量.这样做将是一个Magento反模式,因为主题是模块的风格,反之亦然。

    您尝试在此处应用于模块的UI的样式应该在您的主题中定义.我总是建议该模块应该附带自己的默认样式,然后可以通过它所使用的网站的主题进行修饰。

    希望有所帮助!

  • 2019-12-5
    3 #

    您不必导入任何lib核心。 如果您想在模块中使用较少并希望从基本模块的样式扩展,只需在模块的css文件夹中创建文件夹源/模块

    模块中的结构将是:
    网络
    --- CSS
    ------源
    ---------模块
    ---------------_ minicart.less
    ---------_ module.less

    例如,您想要扩展minicart的样式.在magento-blank-theme文件夹Magento_Checkout中复制文件minicart.less

  • 2019-12-5
    4 #

    我有一个大概的问题。 主题和相同的变量 必须使用模块* .less文件。 在生产模式期间,静态内容部署Magento Blank主题没有看到我的模块(Magento 2.3)的_theme.less变量.

    来源编辑: /app/source/vendor/magento/theme-frontend-blank/web/css/styles-m.less 变量 @custom-style   在文件 /app/source/var/view_preprocessed/pub/static/frontend/Magento/blank/en_US/Test_Module/css/source/widgets/_test.less中未定义   在_ test.less

    所以,我唯一看到 wrote in 的方式 _theme.less   (以防止重复)

    //@magento_import 'source/_variables.less';
    

    add file   app/code/../../view/frontend/web/css/source/_variables.less

  • error:Magento 23安装问题陷入0%
  • magento2:Magento 2 Knockout JS(从foreach访问UiClass)