0

我对 Magnolia CMS(与 Spring 集成)用户有疑问。

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

  1. 由管理员编辑和添加
  2. 静态页面,如用户帐户设置、购物车等。

第一个,必须由管理员完全自定义 - 我的意思是,管理员必须能够创建自己的模板,随时添加文本区域或图形/视频。他还必须能够(这非常重要)创建新产品,这些新产品也必须存储在数据库中以便应用程序代码可以访问(我自己在代码中填写产品列表或在静态管理页面上设置价格)。

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

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

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

我还需要添加主页面模板必须由 HTML 设计器设计,所以它可能是纯 HTML,并且由于 CMS 中的管理员需求,该主模板将被更新。

云任何人请告诉我最好的 CMS 解决方案,我可以实现这一切吗?

此致

4

1 回答 1

2

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

回答其他问题和规定

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

  • 正如您提到的,html 将来自设计器,所以您想要的是获取该 html,将其分解为在多个页面中重复的功能块,将其保存为 ftl 模板并用 FM 标签替换其中的示例文本以检索此类数据来自玉兰。实际上,更好的是,下载 STK 静态原型并将其交给您的图形设计师。告诉她只通过更改css/js/images来创建设计,而不是更改原型中html本身的结构,那么您就可以真正将设计师提供给您的css/js/img放入其中。

  • 关于静态页面 - 即使您不希望任何人编辑它们,您也可以随时从 Magnolia 提供它们(因为有人想要编辑它们通常迟早发生),或者您可以简单地为此类页面的 url 配置绕过并让 Magnolia 忽略它们,以便它们可以由底层应用程序服务器容器提供服务

  • 要引入基于 Spring 的应用程序,您可能会考虑查看更多详细信息并使用 Magnolia 的 Blossom 模块,该模块反过来可以让您将 Spring 控制器注释为 Magnolia 模板,从而使集成更加简单。

HTH,一月

于 2014-04-13T02:34:14.403 回答