php - joomla 中的 jquery-ias 不起作用

标签 php jquery css joomla pagination

我在 joomla 3 中有一篇文章,其中的 php 代码如下:

<?php
include(config.php);
$limit = 10; #item per page
# db connect
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect to MySQL DB ') .         mysql_error();
$db = mysql_select_db(DB_NAME, $link); 

$page = (int) (!isset($_GET['p'])) ? 1 : $_GET['p'];
# sql query
 $sql = "SELECT * FROM actor_info ORDER BY id DESC";
# find out query stat point
$start = ($page * $limit) - $limit;
# query for page navigation
if( mysql_num_rows(mysql_query($sql)) > ($page * $limit) ){
$next = ++$page;
}
 $query = mysql_query( $sql . " LIMIT {$start}, {$limit}");
if (mysql_num_rows($query) < 1) {
header('HTTP/1.0 404 Not Found');
echo 'Page not found!';
exit();
}
?>

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://localhost/test/js/js/jquery-ias.min.js"></script>

<script type="text/javascript">
 $(document).ready(function() {
// Infinite Ajax Scroll configuration
jQuery.ias({
container : '#content', // main container where data goes to append
item: ".post",
pagination: "#content .navigation a",
next: ".next-posts a",
loader: '<img src="css/ajax-loader.gif"/>', // loading gif
triggerPageThreshold: 3 // show load more if scroll more than this
 });
});
</script>
</head>
<body>
<div class="wrap">
<h1><a href="#">Data load while scroll</a></h1>

 <!-- loop row data -->
<?php while ($row = mysql_fetch_array($query)): ?>
<div class="item" id="item-<?php echo $row['id']?>">
<h2>
<span class="num"><?php echo $row['id']?></span>
<span class="name"><?php echo $row['first_name'].' '.$row['last_name']?></span>
</h2>
<p><?php echo $row['film_info']?></p>
</div>
<?php endwhile?>

<!--page navigation-->
<?php if (isset($next)): ?>
<div class="nav">
 <div class="next-posts"><a href='test?p=<?php echo $next?>'>Next</a></div>
 </div>
<?php endif?>
 </div><!--.wrap-->
 </body>
</html>

现在它可以从数据库中检索数据,但是当我想获得滚动效果时它会停止...所以它出现了一个链接“NEXT”,将我带到下一页/test?p=2 等等

我该如何解决?

我通过一个叫SOURCERER的插件把这段代码放在一篇文章中

最佳答案

你做错了。

混合代码和内容是不好的做法。但是在您的文章中混合使用老派的 php 简直是疯了。

您试图违背框架而不是顺应框架。你让你的生活变得悲惨,你的代码丑陋且无法维护,你的网站容易受到攻击。每天你坚持这种方法都会有一只小猫死去。

所以你想要无限滚动?很不错。你的代码可以工作,我不熟悉 IAS,但你需要将它移到别处(并且你需要迁移 mysql_connect 语句 - 你想使用 JDatabase)并更改初始化:

<script type="text/javascript">
 $(document).ready(function() {

<script type="text/javascript">
 jQuery(document).ready(function() {

您的代码应该放在哪里?如果需要为您要无限滚动到的每个页面重新调用它,您有多种选择:

  • 模板覆盖
  • 内容插件
  • 一个模块
  • 一个你可以调用的专用 Controller
  • 上述组合(即初始调用的模板覆盖或模块,下一页结果的 Controller )

可能模块可能是最简单的地方。您的模块将放置在文章内容正下方的位置,并在初始加载后,通过参数确定请求是否是第二页的请求,并仅返回其标记(通过尽快终止 joomla 处理)它击中了模块)

关于php - joomla 中的 jquery-ias 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27032848/

相关文章:

javascript - 如何有条件地将元素保持在一行中?

c# - 正则表达式排除 css 文件中的 @import url

php - MySqLi 由于某种原因无法工作

php - 如何在另一个字符串中插入一个字符串?

php 回显 href ='javascript:void(0);'

html - 文本使固定宽度的 td 变大

html - 将按钮的位置更改为向上

php - IOS GCM 推送通知在后台不起作用

jquery - jQuery 中的 noop 函数是什么?

javascript - jQuery Validator - 覆盖来自服务器的 bool 响应的验证消息