将静态字符串与视图参数混合

Posted

技术标签:

【中文标题】将静态字符串与视图参数混合【英文标题】:Mixing Static Strings with Views Arguments 【发布时间】:2010-03-24 15:55:50 【问题描述】:

谁能告诉我是否可以将视图参数与静态字符串混合使用?

例如在我需要的视图提要显示的路径部分:

/mypath/%.xml

“.xml”部分是静态字符串。

提前致谢。

【问题讨论】:

【参考方案1】:

我终于明白了。

在验证下,选择 php 代码。然后我进入:

    // strip ".xml" from incoming 
    $new_arg = preg_replace('/\.xml$/', '', $argument ); argument
    $handler->argument = $new_arg;
    return TRUE; //must return something

这行得通。现在 Drupal 将“foo”发送到 SQL 查询,即使通过 url 传入的参数是“foo.xml”

【讨论】:

【参考方案2】:

我刚刚对此进行了测试,您无法按照上面发布的确切路径进行操作。如果 '%' 位于斜杠之间,或者位于末尾,则视图似乎仅将其识别为参数占位符。所以,什么会起作用是这样的:

/mypath/%/rss.xml

/mypath/static/%

【讨论】:

我害怕那个。我们的服务器管理员不允许 /dir/index.xml 谁能告诉我如何编写一个模块来扩展视图,以便允许将路径参数与静态字符串混合使用?【参考方案3】:

在path中,无论如何,你应该设置path/% 但是您可以在验证代码中检查参数 %.xml: 在视图参数添加/编辑窗口中: 验证器选项 - 验证器 - PHP 代码: 输入返回 TRUE 或 FALSE 的 PHP 代码。无返回与 FALSE 相同,因此如果您不想声明参数无效,请务必返回某些内容。不使用 。验证的参数是“$argument”,视图是“$view”。您可以通过设置“$handler->argument”来更改参数。 使用strpos 检查是否有xml 字符串。 您也可以修改注释中所写的参数:$handler->argument

【讨论】:

以上是关于将静态字符串与视图参数混合的主要内容,如果未能解决你的问题,请参考以下文章

将PHP变量与字符串文字上的引号混合[重复]

将 UIView (Overlay) 与应用背景混合

将字符串从控制器传递到部分视图作为 javascript 函数参数

Django:将字符串参数传递给基于类的视图不起作用

PHP中字符串类型与数值类型混合计算

如何使用 Swift 在静态表视图底部添加动态表视图?