`
radzhang
  • 浏览: 308004 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Orchard的多语言网站的开发

 
阅读更多

Orchard 1.10添加多语言

1.添加localization module。

2.enable content localization。

3.setting里面添加需要的语言。

 

4.module里面,很多cultureswitcher啊,culturepicker啊都不能用,没法出来language select widget。

后来试了一个PVlt localization这个module,总算widget出来了。

 

5.添加culture layer module,用来控制层里的rule 可以用Lang("zh-cn")来区分语言。

 

6.添加PJS.Bootstrap的Theme,一开始编译不通过,看到https://github.com/psenechal/PJS.Bootstrap/issues里有相关和orchard v1.10的兼容性的讨论,然后下载github的最新的master分支,之后,兼容性问题解决了。其中编译的时候要在theme工程里添加相应的orchard包的引用。编译通过后,正常运行打开网站,但是css和js一直就是没法正常导入,相同目录下的TheThemeMachine的orchard自带theme的css就能引入。

google到vs工程里的目录下如果有静态文件的话,要在该文件夹下面建立一个web.config。内容如下

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

  <system.webServer>

    <staticContent>

      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />

    </staticContent>

 

    <handlers accessPolicy="Script,Read">

      <!--

      iis7 - for any request to a file exists on disk, return it via native http module.

      accessPolicy 'Script' is to allow for a managed 404 page.

      -->

      <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />

    </handlers>

  </system.webServer>

</configuration>

看到Themes\PJS.Bootstrap\Styles也都有这个web.config文件。后来发现,Themes\PJS.Bootstrap\下面也有一个web.config文件。里面也有一段静态文件引用的配置。一开始先把StaticFile改成所有文件 path="*"。

还是不行,后来想了想,是不是因为web.config嵌套了,StaticFile这个节点重名了呢?于是把StaticFile改成了bootstrapthemeStaticFile。重新启动,竟然成功了。css和js都正常引入了。

证明我的猜想是正确的,

1.web.config嵌套的话,StaticFile名称不能重名。

2.猜想,其实只要在需要引入的所有目录的最外层的目录下放一个web.config,里面配置StaticFile,并配置path=“*”就可以了。

 

  <system.webServer>

    <handlers accessPolicy="Script,Read">

      <add name="bootstrapthemeStaticFile" path="*/Theme.png" verb="GET" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />

      <!--<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />-->

    </handlers>

  </system.webServer>

 

 7.安装featureitemslider,必须先安装mediapickerfield。要不不会出现图片选择。这次也出现了css文件无法引入的问题,但是每个有静态文件的目录下面也都有 如上的定义。并且多了

  <!--<system.web>

    <httpHandlers>

      --><!-- iis6 - for any request in this location, return via managed static file handler --><!--

      <add path="*" verb="*" type="System.Web.StaticFileHandler" />

    </httpHandlers>

  </system.web>-->

一个IIS6的配置。偶尔看到有些网站上面说要把这段给去掉。于是注释掉了上面那段。但是还是不行,

后来发现还有一个目录下面的web.config里这段没有注释掉。注释掉了之后,重新启动,就正常吧css引入了。

 

2016-10-03  测试下来,mediapickerfield还是和orchard v1.10不兼容。当创建带有media picker field的content type之后,再次打开这个content type会报错。 

因为Media和Media Picker两个module是deprecate了的。所有依赖media模块的其他模块如Image Field也不能用,所以弃用 feature item slider了。

安装了一个Mojabi.ImageSliderGallery 1.0 ,他的选择MediaLibraryPickerField,这个是Media Library自带的一个图片选择控件。目前使用一切正常。

 

 

 

 

 8.因为css都是less编写的,而且网页内都是引用的*min.css,所以下载了一个vs2015的插件web compiler 

https://visualstudiogallery.msdn.microsoft.com/3b329021-cd7a-4a01-86fc-714c2d05bb6c

选择less文件,web complie后,自动更新*.css和*min.css。

 

9.projection是一个集合,可以用来显示产品列表,文章列表,projection的数据源是query,可以在query里制定列表数据,query里添加filter,一个是localization,一个是contenttype。就可以过滤到自己想要的数据列表了,projection默认是没有localization的,要在content  definition里add parts,把localization加上去。然后要把projecttion对应到layer上,每种语言个一个layer,要设定rule:Lang("zh-cn") and ContentType("ProjectionPage"),这样就得对于不同的列表情况设定多个projection的contenttype。如ProductProjection等。

 

 

分享到:
评论

相关推荐

    Orchard1.2.41源代码

    3. **C#编程**:Orchard CMS的主要开发语言是C#,这是微软开发的一种面向对象的编程语言。C#具有类型安全、垃圾回收、泛型、Linq等现代特性,使得代码更加简洁和高效。在Orchard源代码中,你可以看到C#如何被用来...

    Orchard 1.8

    CMS的核心特性,如内容管理、用户管理、工作流以及多语言支持,在1.8版本中得到了进一步的优化。此外,Orchard的模块化设计使得开发者能够轻松地添加新的功能,这为构建复杂的企业级网站提供了可能。 总的来说,...

    orchard 1.8 技术架构.官方文档(中英双语)

    - **本地化**:介绍了多语言支持的实现方法。 - **日志**:解释了日志记录的重要性以及在Orchard中的实现方式。 - **Orchard Core**:介绍了Orchard Core模块,它是Orchard的一个版本,旨在提供更加现代化和灵活的...

    Orchard.Source开源系统

    8. **国际化**:Orchard支持多语言,方便创建多语言网站。 9. **强大的内容创建和编辑工具**:用户可以创建各种类型的内容,如页面、博客文章,以及自定义内容类型,并通过直观的编辑界面进行内容编辑。 10. **...

    Orchard CMS: Up and Running

    本书适用于希望使用Orchard CMS构建和管理网站的开发人员和技术人员。 #### 二、核心概念和技术要点 **1. MVC架构模式** Orchard CMS基于MVC架构模式设计,这意味着它的代码结构被明确地分为三个主要部分: - **...

    Orchard MVC 1.6 源代码

    8. **强大的国际化支持**:Orchard MVC内置了多语言支持,可以轻松创建多语种网站,满足全球化需求。 在提供的压缩包文件中,我们可以看到以下几个文件: - **Readme-说明.htm**:通常包含项目的介绍、安装指南、...

    OrchardCH基于net框架的开源CMS

    5. **国际化和本地化**:系统支持多语言内容发布,方便全球化的网站运营。 6. **强大的API和插件系统**:Orchard CMS拥有丰富的API,开发者可以利用这些接口来开发自己的模块和插件,进一步扩展系统功能。 7. **...

    MultiTenantApp:使用ASP.NET Core 2.1和Orchard Core编写多租户Web应用程序的示例代码

    ASP.NET Core 2.1是微软提供的一个强大的开源Web开发框架,而Orchard Core则是一个基于ASP.NET Core的内容管理和应用程序框架,特别适合构建多租户应用。这个"MultiTenantApp"项目就是结合了这两个强大的工具,提供...

    .NET-CMS-Compare:Umbraco、Orchard、MojoPortal 和 Koobo CMS 的快速比较

    它支持工作流、角色管理、多语言等功能,适合企业级应用。Orchard 的独特之处在于其基于角色的权限管理,使得内容管理和协作变得更加灵活。开发人员可以通过NuGet包管理和Orchard Gallery获取额外的功能。 3. **...

    orchardweb

    7. **国际化支持**:Orchard 支持多语言网站,可以轻松创建和管理不同语言版本的网站,满足全球化需求。 8. **插件生态**:Orchard 社区活跃,有许多第三方开发者贡献的插件,这些插件可以扩展Orchard的功能,满足...

    ASP网站CMS程序源码——44款国外主流开源CMS最新版打包下载实例开发.zip

    例如,你可以看到某些CMS如何处理多语言支持,或者它们是如何处理内容工作流和审批流程的。 总的来说,这个压缩包为开发者提供了一个宝贵的资源库,不仅可以直接用于项目开发,也可以作为学习和研究ASP.NET CMS的...

    Apple Orchard-开源

    "Apple Orchard" 是一款基于Python编程语言和Pygame库开发的开源游戏。Pygame是Python中的一个模块,它为开发者提供了在Python中进行2D游戏开发的能力,包括图形、音频和事件处理等功能。这款开源游戏的目标是通过...

    OrchardCoreCMS-Demo

    7. **多语言支持**:对于多语言网站,Orchard Core 支持多种语言的切换和翻译管理。 在 `OrchardCoreCMS-Demo-develop` 这个压缩包中,我们可以找到项目的源代码和开发版本。开发人员可以通过以下几个步骤来学习和...

    TimeTracking:Orchard 的时间跟踪模块

    TypeScript是一种强类型、面向对象的超集语言,它在JavaScript的基础上增加了类、接口和其他特性,以提高代码的可维护性和开发效率。在Orchard的这个时间跟踪模块中,TypeScript可能被用于构建用户友好的界面和交互...

    ORCHARD_Proyecto:社交网络项目

    ORCHARD_Proyecto是一...综上所述,ORCHARD_Proyecto项目是一个全面的JavaScript社交网络应用,涵盖了前端开发的多个重要方面,从用户交互到数据管理,再到安全性,都体现了JavaScript在构建现代Web应用中的核心地位。

    基于asp.net的企业及其分支机构的内部办公管理系统

    【企业及其分支机构的内部办公管理系统】是一个专为大型企业或具有多分支机构的组织设计的高效协同工作平台。基于ASP.NET技术构建,该系统提供了一整套完善的管理解决方案,旨在优化内部工作流程,提升团队协作效率...

    .net 开源cms.zip

    - **多语言支持**:对于全球化的企业,多语言支持是必备功能,很多.NET开源CMS都内置了这一特性。 - **安全性**:由于.NET框架的安全机制,开源CMS能够提供良好的数据保护和防止恶意攻击。 - **SEO友好**:优秀的...

    c# 开源CMS推荐

    C#开源CMS(内容管理系统)是基于微软的.NET框架,使用C#编程语言开发的用于构建网站的应用程序。这类CMS提供了灵活的模板引擎、内容管理、用户管理、权限控制等功能,便于非技术人员也能轻松创建和维护网站。以下是...

    ASP开源框架

    10. ** nopCommerce **:强大的电子商务平台,支持多商店、多语言和多货币,是ASP.NET上的热门选择。 11. **Sitefinity**:商业级CMS,提供了丰富的营销工具和优秀的用户体验,适合大型企业。 12. **Rainbow**:轻...

Global site tag (gtag.js) - Google Analytics