我正在开始我的第一个Drupal项目,非常兴奋:)我有一个问题;
该项目是酒店目录网站。在侧边栏我有位置列表(伦敦,曼彻斯特,利物浦等)并过滤相关位置点击的酒店。
那么,我该如何创建这些城市呢?我应该手动放置它们并根据位置ID手动提供链接吗?或者是否有更好的方法来创建此位置列表并动态链接过滤(通过cms或自定义模块等...)
欣赏建议!!!!
答案 0 :(得分:3)
这将是何时使用核心(基础Drupal软件的一部分)Taxonomy模块的一个很好的例子。使用分类法,您可以设置一个或多个描述部分或全部节点的术语列表。例如,您可以获得位置列表,设施列表(游泳池,桑拿,高尔夫球场等)以及价格范围列表(低,中,高)。
对于每个酒店,您可以从位置列表,一个或多个便利设施和价格范围中选择一个位置。然后,您可以选择与其中一个列表匹配的所有酒店,使用Taxonomy的一个简洁功能,它将返回这些节点的列表。
术语列表称为“词汇表”,您需要为每个列表创建词汇表。转到管理 - >分类 - >添加词汇。如果您愿意,请为其命名,如“位置”,并选择应允许与之关联的内容类型。 (在您的情况下,酒店可能应该是与页面和故事类型不同的自定义内容类型,但是为了尝试这一点,现在只需选择页面。)底部有几个复选框来决定:Don' t选中标签或多选,因为它们允许用户(构成城市名称的图像用户)进行免费标记,并允许节点拥有多个位置。请选中必填复选框,因为每家酒店都应该有一个。
单击“保存”,然后单击词汇表列表页面上的“添加术语”,并添加几个位置。然后创建一些酒店节点(现在的页面),您将看到“创建内容”页面中有一个新部分,它是包含位置的下拉选择器。为每家酒店选择一个,并在您刚刚创建的地点添加一些酒店。
要选择指定地点的酒店,您需要知道与每个字词相关的路径。返回Taxonomy管理页面,选择Location词汇表的List Terms。在“位置中的条款”页面上,您可以通过单击位置的名称来获取某个位置的酒店列表。生成的页面路径(例如example.com/taxonomy/term/2)将是您在该位置的菜单中使用的路径。每个位置都有自己的术语编号,该编号位于路径的末尾。
这是使用Taxonomy模块的最简单方法,但它与其他模块(如Views)一起使用效果非常好。使用视图,您可以控制每个位置的酒店列表的格式。
有关详细信息,请参阅Taxonomy文档,尤其是名为About Taxonomy的子页面。