我们想为Meteor项目创建一个主题框架----类似于Wordpress如何实现自定义主题。
我已阅读以下帖子,建议可能Iron Router或If Blocks,而meteor-template-extension package似乎也非常受欢迎。
感谢任何意见或指导。
答案 0 :(得分:0)
您无法为Meteor项目本身创建主题,您可以自定义用于UI或为自己提供的现有包。
WordPress是CMS,它具有许多开箱即用的核心功能。所以你可以自定义这些部分的视图。
Meteor是框架,因此不同项目之间没有共享UI组件,因为每个项目都是唯一的,您无需自定义。
但是,有许多基于Blaze模板的广泛使用的包,您可以为他们创建编辑源代码的主题,例如ian:accounts-ui-bootstrap-3。
另请参阅Orion - 基于Meteor的CMS,它至少有两个themes(Materialise和Bootstrap),并且可以被另一个扩展。
在您的评论之后我们正在讨论您自己项目中的一项功能。我可以同意人in question you mentioned - 您可以使用许多{{#if smth}}
块来动态加载想要的模板,但是创建两个前端实例还有很多工作要做。
它可能看起来像那样:
<template name="material-button">
<a id="myBtn" class="waves-effect waves-light btn">
Button!
</a>
</template>
<template name="bs-button">
<button id="myBtn" class="btn btn-primary">
Button!
</button>
</template>
<template name="button">
{{#if material}}
{{> material-button}}
{{else}}
{{> bs-button}}
{{/if}}
</template>
Template.button.helpers({
material: function() {
// true or false depending on user choice
return Session.get('material');
}
});
至于路由和布局 - 请查看recommended in Meteor Guide flow-router
。您可以在布局中获取用户首选主题,然后将其作为参数传递给allnested模板。