【问题标题】:Several PHP pages with processing in Drupal在 Drupal 中处理的几个 PHP 页面
【发布时间】:2012-02-06 15:17:57
【问题描述】:

我目前正在建立一个带有本地化功能的 Drupal 网站,效果很好。但是今天我遇到了一个我看不到明确解决方案的情况。我一直在谷歌搜索并浏览 Drupal 论坛以找到解决这种情况的正确方法,但我找不到可靠的解决方案。

在我的网站中,我有一个包含搜索表单的页面,用户可以输入邮政编码或狗/猫的品种。但难点在于数据需要来自外部服务。所以,没有花哨的 drupal CCK 数据类型、视图或任何东西。

所以我想知道实现一些自定义 php 代码的正确方法是什么。我的意思是:我需要实现几个已经由其他人编写的 php 脚本。可以这样想:有人制作了一个包含 html 表单的 php 文件,当用户单击搜索按钮时,您会被重定向到 results.php,它会在列表中显示搜索查询的结果。

所以,我想知道在不重写整个代码的情况下实现这样一个自定义代码的最佳方法是什么(它比我在这里谈论的精简案例复杂得多,所以完全重写不是目前的解决方案)。

我应该创建自定义内容类型并将 php 代码放在单独的 .tpl.php 文件中吗? 我应该启用 PHP 模块并开始在页面的正文字段中放入 php 代码吗?但是如何在多个页面上传递数据呢?等等,...?

感谢您的回答。

【问题讨论】:

    标签: php drupal-7


    【解决方案1】:

    我会选择以下内容:

    • 从 php 脚本构建一个新的搜索模块
    • 构建第二个模块以覆盖默认搜索表单,以便由您的模块处理搜索,而不是核心搜索

    作为一个好的起点,请查看 Drupal.org 的 Apache Solr 搜索模块 http://drupal.org/project/apachesolr

    使用 Ajax 使其成为“实时”搜索的奖励积分 http://drupal.org/project/apachesolr_ajax

    【讨论】:

    • 我将投票赞成您的解决方案,因为它可能是最干净的,但开发时间会更长,而我目前没有。除此之外,我需要包含其他与搜索功能无关的 php 脚本。意思是,我需要一种更通用的方法来嵌入自定义 php/sql。我读过一些关于制作具有特定节点 ID 的 .tpl.php 文件的内容?
    • 添加特定于节点 ID 的 .tpl 文件是一个非常非常糟糕的主意。在不知道您正在谈论的脚本的细节的情况下,我无法真正给您一个好的答案。但一般来说,如果您想集成外部应用程序而不是使用 Drupal 方式(模块),那么也许您真的应该考虑通过 Ajax 来实现它。这样你只需要让你的脚本返回 JSON 并且所有的接口都可以通过 JavaScript 完成,很容易通过 drupal_add_js 调用注入。从那时起,您可以随心所欲地操作 DOM,而不必使用 Drupal。
    猜你喜欢
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2019-08-22
    • 2015-02-20
    相关资源
    最近更新 更多