【问题标题】:Pass Movable Type variable from one page to another将 Movable Type 变量从一页传递到另一页
【发布时间】:2011-10-14 18:55:23
【问题描述】:

我有一个相关网站的活动页面,其中每个活动的日期、时间、地点等都列在表格行中。见here

每个事件实际上是Movable Type中的一个“入口”,时间、地点等都是自定义字段。到目前为止一切正常。现在,当用户点击 rsvp 时,我想将用户带到一个简单的 rsvp 表单。目前,我有一个rsvp.php?eid=.. 安排,其中事件ID 在URL 中传递。这是使用 PHP 将事件 id 从一个页面 (events.php) 传递到另一个页面 (rsvp.php) 的一种方式。当我尝试通过 Movable Type 访问这个值时,问题就出现了。因为 Movable Type 是首先被处理的,在 PHP 服务器端之前,我在查询 Movable Type 和输出事件信息(在 rsvp.php 上)时遇到了问题,该事件的 id 列在 URL 中。

基本上,当我从一个页面移动到另一个页面时,我需要一种方法来跟踪存储在 Movable Type 中的事件。

【问题讨论】:

    标签: variables url get movabletype


    【解决方案1】:

    如果您为每个事件创建一个包含给定事件详细信息的数组,则上述 Maarten 提到的第一种方法可以工作。

    Maarten 提到的第二种方法是,您可以为每个事件发布一个额外的“条目”存档,假设您将每个事件创建为一个名为“事件”的部分中的条目。

    当我查看您的网站时,我会假设您有一个“事件”部分,您将每个事件创建为一个条目,然后您正在生成:

    1) 索引模板位于: http://www.weillcornell.org/prc/events.php

    2) 发布在以下位置的单个模板: http://www.weillcornell.org/prc/events/caring-for-our-feet.php

    但是您可以创建一个额外的条目模板,该模板仍然为我在上面调用的事件示例发布类似“10006.php”的文件名,并且该文件将包含事件数据作为数组。

    然后,当您从以下位置调用事件预订时: http://www.weillcornell.org/prc/rsvp.php?eid=10006

    实际上,您可以将“rsvp.php”文件设置为仅包含“10006”文件.php' 并从该单个事件数组中提取数据。

    希望这可以澄清它。

    【讨论】:

      【解决方案2】:

      您也可以使用 MT 发布 rsvp.php,并让它直接在 PHP 代码中发布一个包含所有事件信息的 PHP 数组,这样您就可以简单地通过该数组中的 ID 查找事件并使用数据从那里。请注意,如果您计划有大量事件(数百个或更多)可以同时被 rsvp 发送到,则此解决方案不可行,因为列表会变得太大并且可能会减慢 rsvp.php。

      或者您可以为每个事件发布第二个条目存档,其中包含事件 ID 的可预测文件名。然后,第二个条目存档将包含一些 PHP 代码,这些代码将使用事件信息设置一些变量。然后,在 rsvp.php 中,您可以查看传递的 id 并基于该 php-include 正确的文件。这样, rsvp.php 将保持相同的大小。 (请注意检查传递的 id 的值,确保它是数字的,这样你就不会被传递给你“有趣”id 的人攻击,这会导致你的脚本包含恶意文件。)

      披露:我是movabletips.com 博客的作者。

      【讨论】:

      • 感谢您的回复。对于第一种选择,我是否需要多个数组来说明位置、时间、日期等?例如,一个数组代表时间,另一个数组代表位置,等等。还是你有别的想法?至于第二个选项,我对存档模板还不是很熟悉。我如何区分我现在拥有的条目存档模板和我创建的第二个?换句话说,我将如何根据情况告诉 MT 使用哪一个?非常感谢。
      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多