在content.php页面上,我有以下内容。
$html_videos = '';
if (!empty($videos)) {
foreach ($videos as $key => $video) {
$video = PT_GetVideoByID($video, 0, 0, 0);
$html_videos .= PT_LoadPage('videos/list', array(
'SELL_VIDEO' => $video->sell_video,
'RENT_PRICE' => $video->rent_price
));
}
}
在加载的list.html页面上,我有以下内容
<?php $affitta = '{{RENT_PRICE}}'; echo $affitta; if (!empty($affitta) && $affitta !== 0) { ?><span class="bold">|</span> {{LANG rent}} <span style='color:#a84849;font-weight:500;'>$ {{RENT_PRICE}}</span><?php } else { echo "FREE"; } ?>
{{LANG rent}}等于 "租金"
Var $affitta回声一直很好;然而,无论是0还是5,它总是返回跨度,因此 "Rent $affitta value",而不是当$affitta等于0时,我希望它返回 "FREE"。
我试着用&&$affitta !='0'加引号,但行为相同。所以,我想做的是,如果RENT_PRICE ($affitta)为零,则显示FREE,如果租金价格不为零,则显示租金价格,但无论我怎么尝试,我都无法让它将$affitta识别为零,尽管回声显示它为零。
我已经广泛地搜索了一个答案,并尝试了各种其他建议的解决方案,但没有成功。
我希望我已经说得很清楚了,如果不清楚,请让我知道并允许我澄清。我到底做错了什么?
你的生活会更容易,如果有了最后一行代码(在 list.html
),你没有一次次跳进跳出PHP。这一行。
<?php $affitta = '{{RENT_PRICE}}'; echo $affitta; if (!empty($affitta) && $affitta !== 0) { ?><span class="bold">|</span> {{LANG rent}} <span style='color:#a84849;font-weight:500;'>$ {{RENT_PRICE}}</span><?php } else { echo "FREE"; } ?>
就是简单的这个。
<?php
$affitta = '{{RENT_PRICE}}';
echo $affitta;
if (!empty($affitta) && $affitta !== 0) {
echo '<span class="bold">|</span> {{LANG rent}} <span style="color:#a84849;font-weight:500;">$ {{RENT_PRICE}}</span>';
} else {
echo "FREE";
}
然后,用一些更可读的东西,很容易看出你的问题在哪里。你定义了 $affitta
作为 '{{RENT_PRICE}}'
很明显,它不等于0或者不管价格是多少。你的模板系统会用 {{RENT_PRICE}}
与实际值,但这里它不是一个数字。事实上,你是在评估。if ('{{RENT_PRICE}}' !== 0) {
...
中的值进行比较。$video->rent_price
早期的代码。如何访问该值完全取决于你的 PT_LoadPage
职能。