2

joomla 2.5 を使用しており、デフォルトの「ユーザー プロファイル」プラグインを使用して、追加のフィールドを joomla のプロファイル ページに追加しています。

私もk2を使用しており、作業中のビューのテンプレートオーバーライド設定があります:

site/templates/template/html/com_k2/category_item.php

そのビュー内で、これを使用して必要なデータを正常に「プル」できます。

jimport('joomla.user.helper');
$user = & JFactory::getUser();
$profile = JUserHelper::getProfile($user->id);
echo $profile->profile['fieldname'];

私の質問は本当に...ページを更新せずにjQuery/Javascriptを使用してこのフィールドを更新するにはどうすればよいですか? 残念ながら、次のような joomla 関数はありません。

JUserHelper::updateProfileField(value,user->id)

これは、jQuery の .ajax() で使用することを望んでいたものです...とにかく、これを行うには関数を作成する必要があると思います...その場合、おそらくコアの joomla のものを変更したくないでしょう ( JUserHelper)...しかし、代わりに私自身のものでしょうか? または、joomla のユーザー プロファイル データを更新できる関数を k2 に追加する必要がありますか?

ところで...これを行うことの全体的なポイントは、カスタム「ポイント」フィールドをユーザープロファイルページに追加したいからです...そして、信頼できる読み取りと更新の方法が必要です(私が思うにajaxを使用) k2 category_item.php ビュー!

ありがとうございました!!!!

4

1 に答える 1

0

ajax 呼び出しを処理するコンポーネントを作成するか、少なくとも必要なタスクを含むコントローラーを追加する必要があります。

{user:'paul', custom_field_1:'yes and no'}

次に、コントローラー、つまり com_your_component/controller.php で、「getInfo」などのタスクを作成します。

function getInfo() {
  // return the json
  echo json_encode($myResultArray);
  exit; // this will make sure you don't get the template etc.
}

ajax 呼び出しを次の場所に送信します。

http://example.com/index.php?option=com_your_component&task=getInfo&format=json
于 2013-02-12T22:53:14.707 に答える