1

さまざまなデータを含む HTML テーブルがありますが、特定のアドレスに到達すると、いくつかの異なるデータを表示する必要があります。

さて、これは、私が設定した次のデータを使用して 1 つの URL と照合するだけで十分簡単です。

{$page_details.URL}

しかし、このデータの変更をページ URL のコレクションに適用する必要があり、多くの {if} {else} ステートメントを書かずに、これを達成する別の方法があることを望んでいるシナリオが思い浮かびますか?

私はこれらの線に沿って何かを考えていました...

URL が格納されているテンプレートに配列を格納し、1 つの {if} ステートメントを記述して、配列内の値のいずれかが true かどうかを確認し、次のように新しいデータを適用します。

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

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

そして、配列内のいずれかの値の URL を含む Web ページにアクセスした場合、つまり. /URL-3/ 代わりに特別なデータを表示します。

これは Smarty や PHP で可能でしょうか?

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

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');
}
于 2013-08-08T14:08:01.330 に答える