如何在Stencil for BigCommerce中开发自定义主题CSS

时间:2017-05-01 20:57:08

标签: css themes bigcommerce

对于我在工作中的最新项目,我被告知为BigCommerce开发自定义(模板)主题,以便我们可以通过BigCommerce主题市场分发它们。我来自Wordpress背景,所以实现这一飞跃让我的头脑旋转一点点,但我想我理解他们的平台在大多数情况下是如何组合在一起的。 Handlebars表达式调用了一些组件,这些组件可以在模板文件中重新排列,而任何默认样式都可以通过config.json应用,客户端可以通过主题编辑器GUI进行基本更改。

但是,我仍然迷失在这里。一些设计要求需要进行大量的CSS更改,而不仅仅是JSON变量。我有一个完全开发的HTML / CSS主题我想通过将其转换为BigCommerce将接受的格式来使用,但我找不到任何关于如何执行此操作的文档。我可以繁琐地修改每个现有的SCSS文件,或者我可以覆盖它们,就好像我正在开发一个子主题。我很想完全废弃SCSS并重新开始,但是我需要重新创建用于在需要时引入JSON的SASS函数。

当我开始使用空白画布(或者最多是粗略的草图)并在其上构建时,我的工作要好得多,而不是将完整的产品变形为我需要的东西。有没有办法用BigCommerce做到这一点?

1 个答案:

答案 0 :(得分:1)

我发布这个问题已经有一段时间了,从那以后我学到了更多关于Stencil开发的知识。

这里简短的回答是,加上,不要删除。 BigCommerce的Cornerstone主题不是像wordpress的_underscores这样的空白主题。这是一个完全开发但非常基本的主题。最好尽量避免编辑其默认文件,因为它可能会在将来更新,并可能覆盖您的更改。而是添加包含自定义主题名称的文件夹。例如,您通常会看到:

  

/scss/layouts/body/_body.scss

因此,您可以添加自己的样式,同时保持上述结构的完整性:

  

/scss/layouts/customtheme/body/_body.scss

我们不必覆盖前 _body.scss 中定义的样式,因为我们还需要将新创建的样式导入

  

/scss/layouts/_layouts.scss

在此文件中,您会在顶部看到此代码段:

// =============================================================================
// LAYOUTS
// =============================================================================


// Global layouts
// -----------------------------------------------------------------------------

// Header
@import "header/header";

// Page
@import "body/body";

由于下划线定义了SCSS局部,我们知道只是创建_body.scss不会做任何事情。我们必须找到主要的SCSS文件并添加 @import“body”,或者在这种情况下,我们必须将它添加到导入主文件的另一个部分。所以只需删除或注释掉默认的

即可
//@import "body/body";

并将其替换为

@import "customtheme/body/body";

你去吧。您没有覆盖或竞争任何现有的样式,并且您已经定制了身体的外观。您也可以添加自己的组件,但这是另一个主题。可以说,

中有更多的SCSS文件
  

/ SCSS /组件/

他们遵循相同的原则。