构建Drupal通讯模块以处理通讯文章

时间:2010-03-03 21:23:00

标签: php drupal-modules

我们正在构建一个用于为电子邮件简报生成HTML的模块。我们已经研究过使用其他一些模块(SimpleNews,MailChimp等),但由于各种要求,我们构建自定义解决方案会更容易也更好。

作为一名新的Drupal开发人员,我有点担心以“非Drupal”方式处理这个问题。话虽这么说,我的计划是设置一个词汇表,将新闻通讯作为一个术语,将实际的通讯设置为子词汇,如下:

Newsletters  (term)
  - Newsletter A (sub-term)
  - Newsletter B (sub-term)

这样做的另一个好处是能够组织发布文章的位置(除了在网站上)。

但问题是如何处理不同的时事通讯问题。我可以更深入地学习词汇,如下:

Newsletters  (term)
  - Newsletter A (sub-term)
    - Issue - 2010-03-01
    - Issue - 2010-03-02
  - Newsletter B (sub-term)
    - Issue - 2010-03-01
    - Issue - 2010-03-08

但我想知道这是否会增加太多的复杂性。一旦我有了这个分类设置,当用户去添加新的时事通讯时,它也会创建一个节点(内容类型:时事通讯),当他/她去添加新问题时,它也会创建一个节点(内容类型:问题) 。)那些将成为该内容的登陆页面。

所以,问题是有没有更好的方法来处理这个结构?这是一个类似Drupal的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我认为你肯定在想Drupal-Like,特别是因为你正在考虑使用分类法来对你的简报进行分类。

我认为你的“问题 - 2010-03-01”实际上是一个节点,而不是一个术语。 (除非您计划创建多个文章节点以引用单个“问题”)

查看模块:http://drupal.org/project/nat(NAT - 节点自动术语),它管理节点和分类之间的关系。使用此模块,您只需为每个简报(子术语)创建一个新节点。这将自动为您创建新术语。然后,您将创建一个新的“问题”节点,您可以在其中选择希望发布该简报的“新闻稿”类别。

您可以使用注册模块(甚至标记模块)来允许用户注册以加入您的简报节点。 (http://drupal.org/project/signup

答案 1 :(得分:0)

我想知道为什么用户应该在有问题的节点类型时首先创建类型简报的节点?第二个节点类型的目的是什么?

关于您的分类法层次结构,您几乎在Drupal的轨道上。我不会创建一个名为“Newsletters”的术语(我还没有看到这一点),但创建一个名为“Newsletters”的词汇表。在这个词汇表中,我会创建描述不同时事通讯的第一级术语(即“时事通讯A”)。

接下来,将词汇“简讯”与您的内容类型“问题”相关联。

正如xkingpin正确指出的那样,NAT(http://drupal.org/project/nat)将是您的首选模块,因此请安装它并为内容类型“问题”设置新选项(即问题术语的链接)。

然后使用您的问题节点类型来创建问题(我假设所有新闻简报共享相同的内容类型)。根据分类选择,您只需选择此问题所属的正确通讯术语(即“新闻稿A”)。 NAT会自动将此术语分配给该问题,并为该第一级术语创建一个子术语。子项的名称将与您的问题的标题相匹配,因此您可以将其称为“问题#1 - 2010-03-01”,以创建名为“问题#1 - 2010-03-01”的子项。< / p>

查看问题节点时,将分配两个术语(“简报A”,“问题#1 - 2010-03-01”)。现在可以使用问题子术语标记问题中引用的任何文章。在NAT管理员上,您可以选择问题术语是否直接链接到问题节点,而不是链接到使用相同问题术语标记的所有节点的视图(这是drupal的默认行为)。