我最初在Silverstripe论坛上问过这个问题。 http://www.silverstripe.org/data-model-questions/show/21293
我正在尝试从各种Google位置广告中获取变量,以根据广告中的?number = xxx更改电话号码。
除非刷新页面,否则数字会显示默认值,然后显示变量值。
是否有更好的方法可以显示变量编号而无需页面刷新?
在page.ss
<% if phonenumber %>$phonenumber <% else %>0800 xxx xxx<% end_if %>
在page.php
中public function Phonenumber() {
ob_start();
if (!isset($_SESSION)) {
@session_start();
}
if (!isset($_SESSION['number'])){
$phonenumber = $_GET['number'];
$_SESSION['number'] = $phonenumber;
}
ob_end_flush();
return strip_tags (Session::get ('number'));
}
答案 0 :(得分:1)
<强> PHP 强>:
public function Phonenumber() {
if (isset($_GET['number']))
$number = $_GET['number'];
else
$number = Session::get('number');
$number = strip_tags($number);
Session::set('number', $number);
if ($number)
return $number;
else
return '0800 xxx xxx';
}
<强>模板强>:
$Phonenumber
另外,我很确定你不需要使用ob_start(),也不需要启动会话(silverstripe已经开始了会话)