如果页面URL与数组中的地址匹配,则显示不同的数据?

时间:2013-08-08 13:09:57

标签: php smarty

我有一个HTML表,其中包含各种数据,但在到达某个地址时,我需要显示一些不同的数据。

现在,只需使用我设置的以下数据检查1个URL就足够了:

{$page_details.URL}

但是出现了一个场景,我需要在页面URL集合上应用这种数据更改而不需要编写大量{if} {else}语句,我希望还有另一种方法可以实现这一点吗?

我正在考虑这些方面的事情......

将数组存储在模板中,其中存储了URL,然后编写1 {if}语句检查以查看数组中的任何值是否为真,然后应用新数据,如下所示:

{assign var="pages" value=[URL-1,URL-2,URL-3]}

{if $pages}
    {* display special data *}
{else}
    {* Display normal data *}
{/if}

如果您使用数组中任何值的URL登陆网页,即。 / URL-3 /它会显示特殊数据。

这可以用Smarty,还是PHP?

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

我相信你所寻找的是: http://php.net/manual/en/reserved.variables.server.php

我想所有的URL都与脚本属于同一个域?在这种情况下,您可以通过以下方式获取当前页面的路径:

var current_page = $_SERVER['REQUEST_URI']; // would be something like "/index.html"

然后根据您的示例,您可以执行以下操作来显示您的特殊数据:

if in_array(current_page, $pages)

你总是可以在表格中使用这个javascript:

var currentPage = document.URL;
var pages       = [url1, url2, url2];

if (pages.indexOf(currentPage) != -1) {
  document.write('Your special data');
} else {
  document.write('Your normal data');
}