Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在有限范围内将Magnolia CMS与Spring应用程序集成_Spring_Spring Mvc_Content Management System_Magnolia - Fatal编程技术网

如何在有限范围内将Magnolia CMS与Spring应用程序集成

如何在有限范围内将Magnolia CMS与Spring应用程序集成,spring,spring-mvc,content-management-system,magnolia,Spring,Spring Mvc,Content Management System,Magnolia,我对Magnolia CMS(与Spring集成)用户有一个问题 我必须编写与CMS集成的电子商店,我们可以将所有页面分为两类: 由管理员编辑和添加 静态页面,如用户帐户设置、购物车等 首先,必须是完全由管理员自定义-我的意思是,管理员必须能够创建自己的模板,添加文本区域或图形/视频时,他想。他还必须能够(这一点非常重要)创建新产品,这些产品必须存储在db中,以便应用程序代码可以访问(自己在代码中填写产品列表或在静态管理页面上设置价格) 所以用户可以添加任意多的产品,为其中一些产品创建单独的模板

我对Magnolia CMS(与Spring集成)用户有一个问题

我必须编写与CMS集成的电子商店,我们可以将所有页面分为两类:

  • 由管理员编辑和添加
  • 静态页面,如用户帐户设置、购物车等
  • 首先,必须是完全由管理员自定义-我的意思是,管理员必须能够创建自己的模板,添加文本区域或图形/视频时,他想。他还必须能够(这一点非常重要)创建新产品,这些产品必须存储在db中,以便应用程序代码可以访问(自己在代码中填写产品列表或在静态管理页面上设置价格)

    所以用户可以添加任意多的产品,为其中一些产品创建单独的模板,我必须能够在db中搜索这些产品(例如,当用户尝试使用搜索条件时)。搜索面板必须由我创建-但管理员将把它放在哪里取决于他

    第二种类型的页面是在JSP中完成的静态页面,我不希望使用CMS对其进行更改。 由于第二种类型的页面当然不是问题,我不知道第一种类型的页面应该使用什么CMS解决方案。 我考虑过Magnolia CMS,但正如我所见,所有模板都必须由程序员在代码中创建

    此外,我不确定是否有可能实现维护产品的机制(在电子商店内)-从一方面来说,管理员必须能够在CMS中为其添加模板,但我必须能够从代码中访问它们(在购物车上维护它们,制作发票等)。产品价格也是从管理面板(静态页面)设置的——当然不是从CMS设置的。也许我可以在静态页面添加任何单个产品(将其插入数据库),并以某种方式将CMS页面与之连接起来

    我还需要补充的是,主页模板必须由HTML设计师设计,所以它可能会是普通的HTML和这个主模板将被更新,因为在CMS的管理需要

    云计算任何人请建议我最好的CMS解决方案,我可以实现这一切


    致以最诚挚的问候

    我已经看到相当多的商店以这种方式在Magnolia中实施,您可以使用spring和web flow来管理购物车和结账流程,同时让编辑创建和定制商店中可用的产品、类别和促销。 您也可以通过安装Magnolia的shop模块获得类似的(w/o spring)集成。它的产品和产品类别管理可能会派上用场,即使你要用自己的方式来代替结帐

    回答其他问题和规定

    • 您可以在ftl中编写模板,在groovy中编写模型,并将这些模板托管在存储库中,从而使编辑器能够访问它们,并允许她更改任何需要更改的内容。然而也有危险,因为模板负责生成html,所以编辑器可能会通过直接更改模板来破坏html布局。当您希望编辑器创建新产品并修改现有产品时,Magnolia允许您将产品模板与产品内容分离,这样您就可以让编辑器仅编辑您认为可编辑的给定产品的所有字段,而无需她直接访问html或ftl

    • 正如您所提到的,html将来自designer,所以您需要的是将html分解成多个功能块,在多个页面中重复,将其保存为ftl模板,并用FM标记替换其中的示例文本,以从Magnolia检索此类数据。实际上,更好的办法是下载STK静态原型并将其交给图形设计师。告诉她仅通过更改css/js/images来创建设计,但不要更改原型中html本身的结构,这样您就可以真正地插入设计师提供给您的css/js/img

    • 关于静态页面-你可以随时从Magnolia提供它们,即使你不希望任何人编辑它们(因为通常迟早会有人想要编辑它们)或者,您可以简单地为这些页面的url配置旁路,并让Magnolia忽略它们,以便底层应用服务器容器可以为它们提供服务

    • 在引入基于Spring的应用程序时,您可以考虑在Mulkula的Buffing模块中查看更多的细节,这将使您可以将您的Spring控制器注释为马格诺利亚模板,以使集成更加简单。

    嗯,一月