回答:
これは実際に見たいかなり新しいプラグインで、Joomプロファイルと呼ばれます。完全なコミュニティコンポーネントの代わりに、ユーザープロファイルを拡張するためだけに作成されています。また、フィールドを追加して出力をオーバーライドする柔軟性も提供します。あまり遊んだことはありませんが、良いことは聞いています。
サードパーティの拡張機能を使用せずにこれを実現する唯一の方法は、独自のプラグインを作成するか、Joomlaに付属するプロファイルプラグインの編集を開始することです。コアファイルを編集するだけであるなしに行く私もその上で起動しないようにエリア。
小さくてシンプルなサードパーティのプラグインを使用することを強くお勧めします。以下は、Joomla 3.4のプロフィール画像用に実行するプラグインです。
アバターにアクセスして表示するには、次のコードを使用できます。
// Import the Profile Picture library
jimport('profilepicture.profilepicture');
// Get the current user object
$user = JFactory::getUser();
// Instantiate the ProfilePicture class with User ID
$profilepicture = new ProfilePicture($user->get('id'));
// Output the picture
echo $profilepicture->toHTML();
チェックアウトhttps://github.com/mosets/profilepictureをするAPIの残りの部分。
お役に立てれば
if( $profilepicture->exists() )
すると、ページに壊れた画像アイコンが表示されhttp://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpg
、実際の画像パスがhttp://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg
(スラッシュ)/のURLでDSに置き換えられているときに、このパスから画像を取得しようとしましたパス??
if( $profilepicture->exists() )
以前にEasy Profileというプラグインを使用しました。アバターのサポートに加えて、組み込みのJoomlaユーザープロファイルシステムに対していくつかの改良が加えられています。無料版は多少制限がありますが、私が覚えている限り、まだアバターをサポートしています。
私が便利だと思った機能の1つは、登録後の最初のログインにカスタムリダイレクトを設定するオプションでした。これは、コミュニティルールを新しいユーザーに表示するために使用した機能です。
その他の使用可能な機能(JEDリストによる)は次のとおりです。
- カスタムフィールド
- アバター
- ユーザーリストと検索
- ユーザーグループの基本的な条件
- リダイレクト
- ジョムソシャルブリッジ
- 登録とプロファイルタブの編集ビュー
- 名前のスタイル
- Joomla登録&プロファイルの編集
- 著者とコンテンツプラグイン
- Joomlaネイティブ多言語
- ログインタイプ
- プライバシー管理
- ソーシャルコネクト(Proバージョンのみ)
しばらく前にカスタムプロファイルコンポーネントを作成しました。おそらく必要になるのは、ユーザーIDをユーザーの写真のURLにマップするデータベーステーブルで、ヘルパーファイルを作成して、必要な場所に画像を取得します。
画像をアップロードするために、私はJoomla画像マネージャーを使用したと思います...マネージャーを開くリンクを提供することができます。プロフィール画像フォルダーへの変更されたパスを提供することができます または、(おそらく)利用可能なすべての画像(すべてのユーザーからのもの)を表示したくない場合は、ドキュメントから対応する子要素を削除することにより、画像マネージャー(つまり、画像マネージャーインスタンス)からすべてのフィールドを削除できます。ファイルが読み込まれたら、「参照」ボタンとファイルの名前とパスを示すラベルを残して、パス(URL)を上記のテーブルに保存します。
私はこれを達成するためにAJAXを使用しました-リンクをクリックして画像をアップロード/変更すると、JavaScript関数が呼び出され、ユーザーIDが渡されます。javascript関数は画像マネージャーを開き、新しいパスを取得して、ユーザーIDとテーブルへのパスをデータベースへのクエリ/更新を行うphpファイルに渡すAJAXリクエストを作成します。ボイラ。
これが必要ですか?これがおもしろいと思われる場合はお知らせください。詳細をお知らせいたします。ただし、これはおそらくベストプラクティスではありません。
乾杯
これは、今日カスタムフィールドを使用して実現できます。
誰かがそれが便利だと思った場合の私の前の答え。 上記はおそらくより関連性があり、これは参照用です。
カスタムフィールド(回答の上)は、今日の私の好みです。
ユーザープロファイルと呼ばれるプラグインがあります。プラグインにアクセスして検索してください。画像ではありませんが、かなりの数の追加フィールドが組み込まれています。それを拡張したい場合は、このドキュメントに従うことができます。 警告。このプラグインは、Fieldsによってあまり役に立たなくなるため削除されると思います。
https://docs.joomla.org/Creating_a_profile_plugin
難しいことではありませんが、方法を理解するまでは、難しいことのようです。もしそうするなら、私は確かに既存のコードを見て、それを自分で適応させようとするでしょう。
現在のすべてのフォームフィールドタイプのリストは次のとおりです。https://docs.joomla.org/Standard_form_field_types
ただし、メディアマネージャーモーダルへのアクセスを提供するhttps://docs.joomla.org/Media_form_field_typeを具体的に確認することもできます。