0

コンポーネントを切り替えて、AJAX を使用して、よりきれいに、より簡単に、より速く、より優れたページネーションとコンテンツの読み込みを実現しています。

mySQL/PHP クエリからコンテンツを表示するだけの最初の部分を乗り越えようとしています。

既にクエリを作成しているので、車輪を再発明する理由がわかりました。...でも、いわば円がどのようなものか知っていれば助かります。

AJAX/jQuery使用しようとしている基本的な機能は次のとおりです。

$.ajaxSetup ({  
    cache: false  
});  

var loadUrl = "http://www.mgoode.com/index.php";  

$("#load_basic").click(function(){  
   $("#result").load(loadUrl, "option=com_mls&view=list&lprice=100000&pstart=5&plimit=5");  
});

将来、ページネーションを実装するときに、URL 引数の変数を変更するだけで、たくさんのことをやり直す必要がなくなることを願っています。

私は JSFiddle HEREを持っています。 アドバイスをいただければ幸いです。

前もって感謝します!

編集:だから、要素の作成はすべてテンプレート自体で行われることを思い出しました。したがって、JSFiddle が空白でしか表示されないのも不思議ではありません。ご迷惑をおかけして申し訳ありません。

4

1 に答える 1

1

AJAX で Joomla を使用するのは非常に難しいですが、ファイルを正しく構成すれば問題なく動作します

PHP を提供していただけないので、最近行った変更をお渡しします。私の目標は、モジュール内で com_mycomponent を使用し、データベースからデータを取得することでした

モジュール(modules/mod_mymodule/tmpl/default.php)の私のdefault.phpは次のようになります

<form id="myform" name="myform">
<label>Push this to load some data</label>
<input type="text" id="myid" name="myid"/>
<a href="#" id="pushme">Push me</a>
<div id="component data"></div>
</form>?

ID を取得して単純な SQL クエリを作成するのは、きれいな形式です。

私のコンポーネントでは、controller.php (component/com_mycomponent/controller.php) を変更する必要がありました。

<?php
defined('_JEXEC') or die;
class MyComponentController extends JControllerLegacy
{ 
public function myFunction()
    {
         $id = JRequest::getString('myid', '', 'method', JREQUEST_ALLOWRAW);
         //grab the id
         $db->setQuery('SELECT username FROM #__mytable WHERE id='.$db->Quote($id));
         //fetch data
         $json['returned'] = $result->name;
     echo(json_encode($json));
        }
}
?>

上記のコードは、投稿された ID を取得してクエリを作成し、いくつかのデータを返します

$('a#pushme').click(function(){ 
$.ajax({
        url: 'index.php?option=com_users&format=raw&task=loginme',
        data: dataString,
        dataType: 'json',
        type: 'POST',
        success: function(data) {

       if(data!=null)   {
});
于 2012-12-12T20:41:43.573 に答える