就像在kirby的演示中一样
<?php foreach(page('projects')->children()->visible()->limit(3) as $project): ?>
我想对记录进行动态限制。 我怎么能这样做?
我尝试过JavaScript,但没有用。
这是没有用的JavaScript代码
<script>
var p1 = 3;
function load()
{
p1=p1+3;
}
</script>
<?php
$number="<script>document.write(p1)</script>";
// echo $number;
<?php foreach(page('projects')->children()->visible()->limit($number) as $project): ?>
//Code Here
<?php endforeach ?>
<div class="text-center"><a href="#" class="load-more" onClick="load();">LOAD MORE</a></div>
建议我是否有人这样做过。
答案 0 :(得分:0)
你不能,至少不是这样。
考虑代码执行的时间和地点。在浏览器甚至收到页面之前,PHP由服务器执行。页面加载完成后,浏览器会执行JavaScript。
您可以使用单独的脚本从您的号码生成所需内容,并通过AJAX请求将其作为GET或POST值传递给脚本,或者生成PHP中所需的数字。
因此,如果是AJAX请求,您的PHP脚本应该执行以下操作:
<?php
$number = $_GET['number'];
foreach (page('projects')->children()->visible()->limit($number) as $project) {
echo .....
}
?>
并且您的JavaScript会通过AJAX请求调用该脚本,并将生成的HTML放入您的页面,例如:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
document.getElementById("container").innerHTML = xht.responseText;
}
xhr.open("GET", "script.php?number=" + p1, true);
xhr.send();