【问题标题】:Expression Engine: When to use channels and when not to use them?表达式引擎:什么时候使用通道,什么时候不使用它们?
【发布时间】:2012-06-27 20:43:12
【问题描述】:

作为开发人员和用户,我仍然是 Expression Engine 的新手。我面临的问题是,我的很多知识正在被用户传递给我,他们已经找到了通过使用渠道系统来完成传统上由开发人员(例如产品库)承担的任务的方法。

我想知道人们的看法是什么时候最好建议客户使用它,什么时候不使用。

让我举个例子,客户想要一个系统,该系统具有可以举办活动的场所。之前的开发者选择使用会员系统来做场馆和频道系统来做活动,并编写一些自定义代码来尝试将两者结合在一起,特别是因为没有足够的钩子来完成一些后台自动化任务,比如查找场所创建或更新时的地址的长/纬度。

我主要是在追随别人的工作,但这不是他们的错,这是他们获得的信息,因为他们也是系统的新手。

在任何其他项目中,这将是一个主从类型设置,事件属于场地,我可能会编写 2 个自定义表格,通过模块在管理区域中编辑,然后在页面中使用常规自定义代码来显示和根据信息采取行动 - 这样,我可以控制用户点击提交时发生的事情。

但是,教唆方是一位资深的Expression Engine用户,以“哦,把它都放在频道里然后有这个标签那个标签等等”的方式指示之前的开发者。

那么,这不适合渠道系统,什么时候应该使用渠道,什么时候不适合?

感谢朋友。

【问题讨论】:

标签: expressionengine channels


【解决方案1】:

这个问题是非常假设性的,每个开发人员都会给你不同的答案,因为这完全取决于要求以及 EE 开发人员的滚动方式。

从根本上说,ExpressionEngine 允许您以多种方式处理构建,没有对错之分,尽管有些更容易,有些更难,有些则很愚蠢。

基本上,通道是一组数据“条目”——它们可以是任何东西。使用您的示例,场所可以是一个通道,其中创建了与主题相关的字段(例如位置、大小、价格等)。以及具有不同字段(例如日期、类型、位置)的事件的另一个渠道。

大多数东西都可以插入频道。但会员详细信息最好保存在本机会员功能中(尽管有一个商业插件将会员数据保存在频道中)。

您参考了以前的开发人员方法 - 这可能是因为他们使用了第三方插件,需要将数据单独保存到渠道中,或者对最佳方法缺乏了解。或者只是因为开发人员决定以这种方式处理它!我怀疑最后一个开发人员将成员(场地)关联到条目(事件)以将事件链接到场地。基本 EE 功能允许相关条目,允许您将 1 个条目与另一个条目相关联(例如 Event -> Venue),或使用出色的 Playa 插件,因此这种方法实际上是没有必要的。

就我个人而言,我总是将数据存储在渠道中,并将人员/成员存储在本地会员功能中(例如管理员、网站访问者、客户等)。我只会构建一个附加组件(利用它自己的表/数据)来存储附加信息,如果它超出了 EE 可以存储的范围。

【讨论】:

    【解决方案2】:

    回答您的实际问题(老实说,它扩大了what Stack Overflow questions are supposed be 的范围):您应该为场地使用频道,为活动使用频道,并且活动条目中的场地字段是链接到场馆频道。这是“标准”EE 方式,与传统数据库模式最相似。

    【讨论】:

    • 感谢你们两个,我选择了彼得的答案,因为它适合我的情况,我在最后一刻被抛出这个项目,没有任何经验,因为黑客技术,我不是 EE 的粉丝他们已经对 CI 的后端做了 - 位似乎丢失了。 API 似乎也很不成熟,可以说把东西放在通道中 - 也许是因为已经为此目的构建了一个编辑器,但是当涉及到在代码中以编程方式操作它们时,开发人员需要的文档太多了,恕我直言有点缺乏。这是一个我不会在我的投资组合中列出的平台。
    猜你喜欢
    • 2018-05-15
    • 1970-01-01
    • 2010-12-28
    • 2014-08-24
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多