PHP片段到Smarty代码

时间:2015-08-19 16:04:33

标签: php smarty

我希望将一些PHP代码转换为智能代码,但我正在努力使用功能部分。

<?php function get_client_ip_env() {
          $ipaddress = '';
            if (getenv('HTTP_CLIENT_IP'))
              $ipaddress = getenv('HTTP_CLIENT_IP');
            else if(getenv('HTTP_X_FORWARDED_FOR'))
              $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
            else if(getenv('HTTP_X_FORWARDED'))
              $ipaddress = getenv('HTTP_X_FORWARDED');
            else if(getenv('HTTP_FORWARDED_FOR'))
              $ipaddress = getenv('HTTP_FORWARDED_FOR');
            else if(getenv('HTTP_FORWARDED'))
              $ipaddress = getenv('HTTP_FORWARDED');
            else if(getenv('REMOTE_ADDR'))
              $ipaddress = getenv('REMOTE_ADDR');
            else
            $ipaddress = 'UNKNOWN';
           return $ipaddress;}

          $user_ip = get_client_ip_env();
          $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
          $country = $geo["geoplugin_countryCode"];

            if ($country == "GB") {
              echo "You are from Great Britain";
             } else {
              echo "Please visit our other website.";
            }                       ?>

我唯一能做的就是最后一句if语句。对此有何帮助?

2 个答案:

答案 0 :(得分:0)

您是否可以在加载相关模板的文件中执行此逻辑,然后将其结果作为变量传递给smarty?这可能更整洁,可能 - 保持显示逻辑分离。

在回答您的问题时,您可以使用{php}标签,这些标签允许您编写原始的PHP代码,当.tpl文件用于生成显示页面的php文件时,该代码将不受影响 - 还有一些信息here

希望有所帮助!

答案 1 :(得分:0)

迟到了,但也许对其他人有用:

node_module