我在votes_allvotes.tpl.php中有声明if(isset($votes))
。
如果我在该语句之前检查同一行的值,它告诉我值为2,但由于某种原因,if语句拒绝承认这一点。
还试过($ votes> 0),没有用。我在2页上使用它,而在另一页上它可以正常工作,尽管此页面上没有任何内容与此有任何冲突(删除了页面上的所有内容,但它仍然无效。
使用Joomla 1.5.21和Virtuemart 1.1.6
以下是代码:
<div class="rating" style="margin: 0px 0px 15px -9px">
<?php
$product_flypage = $_SERVER['REQUEST_URI'];
echo ps_reviews::allvotes( $product_flypage );
?>
ps_reviews :: allvotes:
function allvotes( $product_id ) {
if (strstr($product_id, '&')) {
$arr = explode('&', $product_id);
$pro_arr = explode('=', $arr[2]);
$cat_arr = explode('=', $arr[3]);
$product_id = $pro_arr[1];
$category_id = $cat_arr[1];
}
global $db;
$tpl = new $GLOBALS['VM_THEMECLASS']();
$dbc = new ps_DB;
$q = "SELECT votes, rating FROM #__{vm}_product_votes "
. "WHERE product_id='$product_id' ";
$dbc->query( $q );
$votes = $dbc->f("votes");
$rating = $dbc->f("rating");
if( $votes != 0)
$tpl->set('votes', $votes );
$tpl->set('rating', $rating );
$tpl->set('product_id', $product_id );
$tpl->set('category_id', $category_id );
return $tpl->fetch( 'common/votes_allvotes.tpl.php' );
}
votes_allvotes.tpl.php(实际问题在哪里):
if (isset($votes)) { ?>
<img src="<?php echo VM_THEMEURL ?>images/stars/<?php echo $rating ?>.gif" align="middle" border="0" alt="<?php echo $rating ?> stars" />
<?php echo $VM_LANG->_('PHPSHOP_TOTAL_VOTES').": ". $votes;
}
else {
if (!empty($my->id)) {
if( $_GET['flypage']){
echo "<li class='reviews'><a href='javascript:void(0)' style='color:#000;'><b>Wees de eerste om een recensie te schrijven!</b></a></li>";
}else{
echo "<a href='/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=". $product_id ."&category_id=". $category_id ."&option=com_virtuemart&Itemid=1&lang=nl&review=yes'><b>Wees de eerste om een recensie te schrijven!</b></a>";
}
}else {
echo $VM_LANG->_('PHPSHOP_REVIEW_LOGIN'); // Login to write a review!
}
}
答案 0 :(得分:0)
isset可能没有返回您的预期。
$votes = 0;
if(isset($votes)){
echo 'Ooer missus ...';
}
我不确定,但也许你想......
if((int)$votes > 0){
echo 'well you got at least one vote ...';
}
无论如何,如果条件没有按预期进行,那么
的var_dump()
将该变量放到页面或日志文件中并进行检查。
更好的是,在编写条件测试之前检查它。