1

キーワードに従って含まれている独自のファイルでSPIPを使用しています。たとえばinc-bla、記事にキーワードを追加すると、ファイル.../squellettes/.../inc-bla.htmlが含まれます。これらのファイルの 1 つで、URL に追加された GET 変数を使用して、現在のページへのリンクを作成したいと考えています。

[(#ENV{date}|diffdays|<{40}|?{<a href="#URL_ARTICLE?date=[(#ENV{date}|next_sunday)]">Some text...</a>,''})]

ここでの問題は、疑問符?がハードコーディングされており、URL に既に疑問符が含まれている場合があることです。したがって、このコードは のようなリンクを作成しますが...spip.php?article123?date=2014-03-30、これは である必要があります...spip.php?article123&date=2014-03-30&すべてのリンクに疑問符が含まれているわけではないため、アンパサンドをハードコードすることはできません。

SPIP の URL に GET 変数を追加する方法はありますか?

4

1 に答える 1

1

正しい方法は、フィルターを使用することです。次のような PHP 関数である独自のフィルターを作成する必要があります。

function url_add_get_var($url,$name,$value) {
    $name = urlencode($name);
    $value = urlencode($value);
    // If there is no question mark in the URL ...
    if (strpos($url,'?') === false) {
        // Add the variable with a question mark
        return "$url?$name=$value";
    } else {
        // If there is a question mark, add the variable with an ampersand
        return "$url&$name=$value";
    }
}

これで、次のように SPIP で使用できます。

[(text|filter{var1,var2, ...})]

したがって、この場合は次のようになります。

[(#URL_ARTICLE|url_add_get_var{date,[(#ENV{date}|next_sunday)]})]

そして完全なコード:

[(#ENV{date}|diffdays|<{40}|?{<a href="[(#URL_ARTICLE|url_add_get_var{date,[(#ENV{date}|next_sunday)]})]">Some text...</a>,''})]
于 2014-03-29T09:43:12.720 に答える