使用Orchard CMS制作Bootstrap主题的副本

时间:2014-02-27 09:34:52

标签: jquery twitter-bootstrap themes orchardcms orchardcms-1.6

我使用Orchard仪表板中的Bootstrap主题作为基本主题来制作我自己的主题。当我使用我的主题运行网站时(我没有做任何更改,它只是一个简单的bootstrap副本),它给了我错误:对象没有设置为对象的实例。在Views / User.cshtml文件中: var swatch = WorkContext.HttpContext.Items [Constants.UseSwatchName] .ToString();在这条线上。

我也尝试将所有名称空间从Bootstrap更改为我的新主题的名称,这也很有用。请建议

2 个答案:

答案 0 :(得分:1)

我向菲利普·塞内查尔报告了这个问题,菲利普·塞内查尔是这个主题的人,在这里:https://github.com/psenechal/Bootstrap/issues/13据说他已经在最新版本的源代码中解决了这些问题,所以如果你抓住它应该有效,虽然我没有测试过它。

我想我只是通过评论他对swatch材料的使用来修复它,但我建议从GitHub中获取最新版本:https://github.com/psenechal/Bootstrap

答案 1 :(得分:0)

我在复制Wiggleware Bootstrap主题的最新版本(3.0.0.2)时遇到了同样的问题。

我通过从Bootstrap命名空间更改每个Bootstrap命名空间对我的新命名空间的引用来解决该问题。如果你没有抓住每一个,它就行不通。

以下是我用来使其发挥作用的行动清单(并非所有可能都是必要的):

  • 将主题复制到名为“MyTheme”的文件夹
  • 将主题名称更改为“MyTheme”
  • 将所有“使用Boostrap *”语句更改为“使用MyTheme *”
  • 将所有“namespace Bootstrap”事件更改为“namespace MyTheme”
  • 在Constants.cs中将RoutesAreaName,ThemeDir和ThemeName值更改为“MyTheme”
  • 将所有代码引用(在AdminMenu.cs,AdminController.cs,CommentGravatar.cshtml中)从Bootstrap。*更改为MyTheme。*(或者您可以简单地删除Bootstrap部分,因为它是冗余的)
  • 将Bootstrap.csproj重命名为MyTheme.csproj,并将该文件中的RootNamespace和程序集名称从Bootstrap更改为MyTheme