将静态字符串与视图参数混合
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
【讨论】:
以上是关于将静态字符串与视图参数混合的主要内容,如果未能解决你的问题,请参考以下文章