Smart-ipモジュールをインストールしています。これにより、ユーザーの国、都市などを次のように非常に簡単に取得できます。
echo $_SESSION['smart_ip']['location']['country_code'];
これをwebformsフィールドのトークンの置き換えとして使用したいと思います。しかし、私はそれを行う方法がわかりません。グーグルの後で混乱しました。 template.phpでフックする必要がありますか?どうすればいいのですか? :/
独自のトークンを作成してください!
次のように、トークンフックを実装する小さなモジュールを作成できます(D6ですが、D7も同様です)。
function YOURMODULE_token_list($type = 'all') {
$list = array();
$list['smart-ip']['smart-ip-country-code'] = t("The Country code");
// ...etc
return $list;
}
function YOURMODULE_token_values($type, $object = NULL, $options = array()) {
$tokens = array();
$tokens['smart-ip-country-code'] = $_SESSION['smart_ip']['location']['country_code'];
// ...etc
return $tokens;
}
または、さらに良いことに、これらのフックをsmart_ip.moduleファイルに追加して、モジュールのメンテナにパッチを送信します:-)。トークンは本当に素晴らしいです、そして、それは確かにsmart_ipモジュールへの良い追加です。