我正在建设一个网站,其主要目标是获取世界各地不同目的地的详细信息。使用drupal 7这样的东西推荐的站点结构是什么?
到目前为止,我设想:我的节点将是一个自定义位置类型,该位置的详细信息将使用字段展开。然后,我会将位置层次复制成一个等级词汇(欧洲大陆>乡村>城市等等)。这样用户就可以搜索特定的位置。等级结构是否应该是平的(一个词是国家的,另一个是城市的,等等)?
发布于 2012-02-09 04:15:05
将Drupal看作数据库的接口(它是一个接口)和词汇表,当用作与内容项关联的字段的基础时,将其视为筛选表中值的一种方法。如果层次结构中的术语具有1到多或多到多的关系,那么您将需要有单独的表,因此需要单独的词汇表,以便您可以使用关系进行选择。在你的例子中,大陆-县-城市之间的关系是一对一的(偶尔重复,比如两个同名的城市),所以使用层次结构的单一词汇就更有意义了。
视图模块基本上是一个用于查询数据库的UI,因此您将使用视图从表中进行选择,并且菜单可以被构造为层次结构,使用相同的位置词汇表的多层逻辑将选择呈现给用户。您可以选择通过定义一个新的内容类型文章来创建内容,该文章附带了一个与位置词汇表相关联的字段,也许还有第二个词汇表来标识它包含的信息类型。第二个词汇有地理、政府、烹饪、酒店、餐馆等术语。当你写一篇关于巴黎酒店的文章时,你会在词汇表中标注这两个字段,以便对文章进行相应的过滤。简单地说,这就是Drupal如何组装站点。
发布于 2012-05-05 23:01:03
您可以创建一个具有术语层次结构的词汇表,这样最高层是每个国家,第二级是州或普罗旺斯,第三级是城镇。通过这种设置,分层选择模块是非常有效的。另一种方法是使用地址字段模块和搜索Api的S面搜索。如果有人选择波士顿,那么这方面唯一的州和国家将是马萨诸塞州和美国。当然,如果数据库中有一个波士顿,英格兰,它将显示,但在大多数情况下,它是有效的。
发布于 2013-09-10 09:38:59
有一个名为Reference选项限制https://drupal.org/project/reference_选项_限制的模块,它非常适合像Country -> Region -> City这样的目标词汇表结构。
对于这样的结构: Country -> Region -> City,您需要创建3个词汇表
区域和城市需要有一个术语参考字段。
该模块有很好的文档记录。https://drupal.org/node/1596310
https://drupal.stackexchange.com/questions/22027
复制相似问题