そのためにコミュニティプラグインをインストールしたくありません。
私は登録ユーザーに簡単なアップロード画像フォームを提供したいと思います。これにより、ユーザーはいつでも自分のプロフィール写真をアップロードおよび変更できるようになります。また、あらゆる種類のJoomla変数を使用してその画像を取得したいと思います。
つまり、$user->username
は、ログインしているユーザーの名前を返します。ログインしているユーザーのプロフィール画像を表示する同様の変数(またはスクリプト/コード)があるはずです。
何かチャンスがありますか?
これは実際に見たいかなり新しいプラグインで、Joomプロファイルと呼ばれます。完全なコミュニティコンポーネントの代わりに、ユーザープロファイルを拡張するためだけに作成されています。また、フィールドを追加して出力をオーバーライドする柔軟性も提供します。あまり遊んだことはありませんが、良いことは聞いています。
これを実現する唯一の方法なしサードパーティの拡張機能を使用して、独自のプラグインを作成するか、Joomlaに付属するプロファイルプラグインの編集を開始します。コアファイルの編集は、単純にno go領域なので、それでも開始しません。
小さくてシンプルなサードパーティのプラグインを使用することを強くお勧めします。以下は、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();
その他のAPIについては https://github.com/mosets/profilepicture をご覧ください。
お役に立てれば
以前、 Easy Profile というプラグインを使用しました。アバターのサポートに加えて、組み込みのJoomlaユーザープロファイルシステムに対していくつかの改良が加えられています。無料版は多少制限がありますが、私が覚えている限り、まだアバターをサポートしています。
私が便利だと思った機能の1つは、登録後の最初のログインにカスタムリダイレクトを設定するオプションでした。これは、コミュニティルールを新しいユーザーに表示するために使用した機能です。
その他の使用可能な関数( [〜#〜] jed [〜#〜] リストに従って)には、次のものが含まれます。
- カスタムフィールド
- アバター
- ユーザーリストと検索
- ユーザーグループの基本的な条件
- リダイレクト
- ジョムソシャルブリッジ
- 登録とプロファイルタブの編集ビュー
- 名前のスタイル
- Joomla登録&プロファイルの編集
- 著者とコンテンツプラグイン
- Joomlaネイティブ多言語
- ログインタイプ
- プライバシー管理
- ソーシャルコネクト(Proバージョンのみ)
しばらく前にカスタムプロファイルコンポーネントを作成しました。おそらく必要になるのは、ユーザーIDをユーザーの写真のURLにマッピングするデータベーステーブルで、ヘルパーファイルを作成して必要な場所に画像を取得します。
画像をアップロードするために、私はJoomla画像マネージャーを使用したと思います...マネージャーを開くリンクを提供するだけでよいのです。または、(おそらく)利用可能なすべての画像(すべてのユーザーからの写真)を表示したくない場合は、ドキュメントから対応する子要素を削除することにより、画像マネージャー(つまり、画像マネージャーインスタンス)からすべてのフィールドを削除できます。ファイルが読み込まれたら、「参照」ボタンとファイルの名前とパスを示すラベルを残して、パス(URL)を上記のテーブルに保存します。
私はAJAXを使用してこれを達成しました-アップロードをクリックする/画像を変更するJavaScript関数を呼び出し、ユーザーIDを渡します。JavaScript関数は画像マネージャーを開き、新しいパスを取得してビルドしますAJAXリクエストは、ユーザーIDとテーブルへのパスを、データベースをクエリ/更新するphpファイルに渡します。
これが必要ですか?これがおもしろいと思われる場合はお知らせください。詳細をお知らせいたします。ただし、これはおそらくベストプラクティスではありません。
乾杯
これは、今日カスタムフィールドを使用して実現できます。
誰かが便利だと思う場合の私の以前の答え。上記はおそらくより関連性があり、参照のためにここにあります。
カスタムフィールド(回答の上)は、今日の私の好みです。
ユーザープロファイルと呼ばれるプラグインがあります。プラグインにアクセスして検索してください。画像ではありませんが、かなりの数の追加フィールドが組み込まれています。それを拡張したい場合は、このドキュメントに従うことができます。 警告。このプラグインは、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 を具体的に確認することもできます。