2016-08-24 12 views
0

リソースの日付のテレビ番組を作成するサーバーの日付と時刻をチェックしようとしていますが、IFのチェックイン時に空白のページが表示されます。Modx IF空白ページが返される

私はこの

<?php 
function getDatetimeNow() { 
    $tz_object = new DateTimeZone('Europe/Belgrade'); 
    $datetime = new DateTime(); 
    $datetime->setTimezone($tz_object); 
    return $datetime->format('Y\-m\-d\ h:i:s'); 
} 

$currentDate = getDatetimeNow(); 

$dtA = new DateTime($currentDate); 
$dtB = new DateTime($date); 

if ($dtA > $dtB) { 
    $active = 0; 
    return $active; 
} 
else { 
    $active = 1; 
    return $active; 
} 

のようなスニペットているが、私はこの

[[!CheckCurrentDate? &date=`[[*DatumIsteka]]`]] 

ようにしようとした場合のページに、私は、DatumIsteka * TV値に基づいて、1または0を得たすべてがOK働いているが、ときこのように比較しようとすると

[[!If? 
    &subject=`[[!CheckCurrentDate? &date=`[[*DatumIsteka]]`]]` 
    &operator=`equals` 
    &operand=`0` 
    &then=`<script> 
    $("#tab3").html("<p>U Pripremi</p>"); 
    </script>` 
    ]] 

私はリソースのホワイトページを持っていますか? 問題が起きる可能性はありますが、助けてもらえます:)

+0

apacheのエラーログをチェックしてください。 – Vasis

+0

MODXエラーログには何もありませんか? –

答えて

0

オペランドを1に変更すると、実際に存在しない1-modx TVは[デフォルトの定義があっても]テレビが入力されていない場合は、スニペットにヌル値またはエラーが発生している可能性があります。

OR

は、あなたの戻り値をエコー、

if ($dtA > $dtB) { 
    $active = 0; 
} 
else { 
    $active = 1; 
} 

echo $active; 

return; 

IFはブール対列として戻り値を解釈の問題を持つことができますか?

スニペットを変更して現在のリソースDatumIstekaの値を取得し、output modifiersを使用することもできます。

またはこのような何か:

<?php 
function getDatetimeNow() { 
    $tz_object = new DateTimeZone('Europe/Belgrade'); 
    $datetime = new DateTime(); 
    $datetime->setTimezone($tz_object); 
    return $datetime->format('Y\-m\-d\ h:i:s'); 
} 

$currentDate = getDatetimeNow(); 

$dtA = new DateTime($currentDate); 

$date = $modx->resource->getTVValue('DatumIsteka'); 

$dtB = new DateTime($date); 

if ($dtA > $dtB) { 
    $active = $modx->getChunk('chunkName'); 
// chunkName = <script>$("#tab3").html("<p>U Pripremi</p>");</script> 
} 
else { 
    $active = 1; 
} 

echo $active; // you have to echo it if you are passing a string 

return; 
関連する問題