使用使用smarty 3的房地产脚本3。
我设法创建了一个从数据库中获取信息的循环。
<?php
function smarty_function_my_plugin($params,&$smarty)
{
$con=mysqli_connect("localhost","root","","res3");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
} else {
$result = mysqli_query($con,"SELECT * FROM res3_listings WHERE listing_type_id=5 ORDER BY views DESC");
while($row = mysqli_fetch_array($result)) {
$title=$row['title_1'];
$price=$row['price'] ;
$id=$row['listing_id'];
$result = mysqli_query($con,"SELECT listing_photo_file FROM res3_listing_photos WHERE listing_photo_id=1");
while($row = mysqli_fetch_array($result)) {
$picture=$row['listing_photo_file'];
}
echo $title. "<br/>".$price."<br/>".$picture;
$smarty->assign('naslov', $title);
echo "<br>";
}
}
mysqli_close($con);
echo '<h1>Test</h1>';
}
?>
所以我把脚本放在插件文件夹中,并在脚本末尾返回TEST echo和3个变量$title,$price,$picture。使用模板{my_plugin}中的命令
但我想访问这些变量,这样我就可以在*.tpl文件中调用它们,例如:{$title}
通过这种方式,我可以将HTML部分放在.tpl文件中,然后插入该函数所需的变量。
它应该在模板文件上循环10个结果;)
理论上,您的代码已经为naslov
smarty变量分配了最后一个标题。如果您想访问所有这些,您可以将其更改为附加。从理论上讲,在{my_plugin}
调用之后,您可以访问{$naslov}
变量中的标题。
或者,您可以在模板中返回$smarty->fetch('othertemplate.tpl')
,也可以在othertemplate.tpl
中使用这些变量。
为了将结果限制为最多10,可能是将limit 10
附加到数据库查询的最简单方法。