web-dev-qa-db-ja.com

ajaxでK2記事を読み込む

カテゴリレイアウトを使用して、joomla 3.3のフロントページに記事を掲載しています。このビューをカスタマイズして、記事のリンクがクリック時にajax経由でこのページに記事を取り込むようにします。

これは私がカスタマイズした関連コードです:

HTML:

<h2 class="catView" data-link="<?php echo $this->item->link; ?> #k2Container">
    <?php if(isset($this->item->editLink)): ?>
</h2>

jQuery:

$('article.catView h2').click(function(){
    var link    = $(this).attr("data-link");
    $(this).parents().next('.artContainer').slideToggle(500).load(link);
});

これでうまくいき、必要なデータを取得して正しく表示することができました。

[〜#〜]しかし[〜#〜]

これが正しい方法かどうか疑問に思っています。データベースから直接データを取得しようとすると、他のページを取得するのではなく、これを行う「特別なjoomla」方法はありますか?

私はこれをサードパーティの拡張機能に依存せず、このタスクを制御および理解したいと思います。

3
web-tiki

http://jeffchannell.com/Joomla/load-the-joomla-framework-in-a-non-joomla-php-script.html

上記の手法を使用すると、ルートディレクトリにajax.phpファイルを作成し、Joomla APIを使用してデータベースから自分でデータを呼び出し、JSONに変換できます。

これにより、k2ヘルパーを使用して支援することができます。このようなデータベースの呼び出しは、高度なカスタマイズが必要な場合にのみ使用してください。

betweenbrianはこのリンクで良い点を示しています http://getk2.org/blog/786-k2-v257-released-introduces-json-jsonp-content-output k2がJSONをサポートしている場合それはあなたが必要とするデータを検索し、おそらくあなたがする必要があることに完璧です。

com_ajaxも思い浮かびますが、モジュール/プラグイン用に構築されています。 k2自体はコンポーネントであるため、おそらく意図したとおりに機能しません。

したがって、結論として、ajaxを処理するための「特別なJoomla」方法はありませんが、必要なことを行うには多くの可能性があります。

2
Jordan Ramstad