繁体   English   中英

如何在Drupal中做到这一点?

[英]How do I do this in Drupal?

我目前正在评估Drupal,以查看是否可以使用它来替换我们的框架。 我的问题是我有这些旧表,我想尝试在Drupal中反映出来。 它涉及一个联接表。 我们现有的Web应用程序中存在很多此类关系,因此我正在寻找解决方案。 替代文字

感谢您的见解!

有几种方法可以做到这一点,并且很难在没有上下文的情况下就知道您对数据的实际用途是哪种最佳,但这是一些选择:

一种实现方法是使内容类型代表每个表(使用CCK ),并使用由特定于类型的节点引用字段表示的外键。 作为节点执行所有操作会为您提供围绕节点的一堆预构建功能,但是您可能需要避免一些开销。

另一种选择是保留数据库,就像现在一样。 Drupal可以进行直接数据库查询,或者您可以使用Data将表公开给View。

如果这些引用表实际上仅具有1个非ID字段,则另一种选择是将project_companies_assignments作为节点,将其他3个作为分类法。 但是,如果它们确实是更复杂的实体,则将无法正常工作;如果它们可能变得更加复杂,则将不会非常灵活。

如何使用hook_views_api并将旧表暴露在hook_views_data中呢? 我本人尝试过类似的方法-不确定那是否是您想要的...

尝试让我知道是否适合您。

http://drupalwalla.blogspot.com/2011/09/how-do-you-expose-your-legacy-database.html

与Views和CCK一起使用(可选地与附加的Data模块一起使用)具有一个巨大的缺点:它具有复杂性。

我更喜欢的替代方法是编写自己的模块。 Drupal对数据库抽象几乎没有帮助,它没有正确的ORM或类似的东西。 但是,对于数据库中的数据,有一些简单的CRUD函数,前面有一些简单的表单,以及带有一些页面的菜单回调来显示数据,因此您-经常-可以使数据模型更快地完成工作,而不是按路线进行操作过于复杂,通常记录不佳的CCK和视图模块。 吻。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM