Joomlaユーザーのプロフィール写真?


9

そのためにコミュニティプラグインをインストールしたくありません。
登録したユーザーに簡単なアップロード画像フォームを提供したいと思います。これにより、ユーザーはいつでも自分のプロフィール写真をアップロードおよび変更できるようになり、あらゆる種類のJoomla変数を使用してその画像を取得したいと思います。ログインしたユーザーの名前を返す
よう$user->usernameに、ログインしたユーザーのプロフィール画像を表示する同様の変数(またはスクリプト/コード)があるはずです。
何かチャンスはありますか?

回答:


10

これは実際に見たいかなり新しいプラグインで、Joomプロファイルと呼ばれます。完全なコミュニティコンポーネントの代わりに、ユーザープロファイルを拡張するためだけに作成されています。また、フィールドを追加して出力をオーバーライドする柔軟性も提供します。あまり遊んだことはありませんが、良いことは聞いています。

Joomプロフィール


注目すべきは、その有料ダウンロードです。
Mohd Abdul Mujib 2015年


8

サードパーティの拡張機能使用せずにこれを実現する唯一の方法は、独自のプラグインを作成するか、Joomlaに付属するプロファイルプラグインの編集を開始することです。コアファイルを編集するだけであるなしに行く私もその上で起動しないようにエリア。

小さくてシンプルなサードパーティのプラグインを使用することを強くお勧めします。以下は、Joomla 3.4のプロフィール画像用に実行するプラグインです。

http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/profile-picture

アバターにアクセスして表示するには、次のコードを使用できます。

// 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に置き換えられているときに、このパスから画像を取得しようとしましたパス??
saibbyweb 2014年

そして、上記のコードがもう1つ機能するのは、記事内に配置した場合、ただしこの行を削除することによってのみ機能しますif( $profilepicture->exists() )
saibbyweb

@lodderは、コアJoomlaを複製することでこれを行う方が良いでしょう!ユーザープロファイルプラグインとフィールドの追加?
Eoin

@Eoinこれはカスタムフィールドでも可能かもしれません... 使用したことがない、または使用する予定です。しかし、はい、コアプロファイルプラグインを複製し、必要に応じて編集できます。ただし、元のプラグインに更新またはバグ修正が加えられている場合、リポジトリを熱心にフォローしない限り、おそらくわかりません
Lodder

正しいですが、プラグインをオーバーライドすることもできます。テストはしていませんが、このstackoverflow.com/questions/17372379/…は、誰かがjw_sigである程度成功したことを示しているようです。メニュー項目の場合と同じようにXMLをオーバーライドできるかどうかは、すべてに依存すると思いますが、そうではないと思います。
Eoin

7

以前にEasy Profileというプラグインを使用しました。アバターのサポートに加えて、組み込みのJoomlaユーザープロファイルシステムに対していくつかの改良が加えられています。無料版は多少制限がありますが、私が覚えている限り、まだアバターをサポートしています。

私が便利だと思った機能の1つは、登録後の最初のログインにカスタムリダイレクトを設定するオプションでした。これは、コミュニティルールを新しいユーザーに表示するために使用した機能です。

その他の使用可能な機能(JEDリストによる)は次のとおりです。

  • カスタムフィールド
  • アバター
  • ユーザーリストと検索
  • ユーザーグループの基本的な条件
  • リダイレクト
  • ジョムソシャルブリッジ
  • 登録とプロファイルタブの編集ビュー
  • 名前のスタイル
  • Joomla登録&プロファイルの編集
  • 著者とコンテンツプラグイン
  • Joomlaネイティブ多言語
  • ログインタイプ
  • プライバシー管理
  • ソーシャルコネクト(Proバージョンのみ)

1
最近発見したばかりのEasy Profileへの投票。この拡張機能は私の期待を大幅に上回っており、現在、単純なメンバービジネスディレクトリを構築するために使用しています。これは間違いなくお金の価値があります!
Neil Robertson


3

しばらく前にカスタムプロファイルコンポーネントを作成しました。おそらく必要になるのは、ユーザーIDをユーザーの写真のURLにマップするデータベーステーブルで、ヘルパーファイルを作成して、必要な場所に画像を取得します。

画像をアップロードするために、私はJoomla画像マネージャーを使用したと思います...マネージャーを開くリンクを提供することができます。プロフィール画像フォルダーへの変更されたパスを提供することができます または、(おそらく)利用可能なすべての画像(すべてのユーザーからのもの)を表示したくない場合は、ドキュメントから対応する子要素を削除することにより、画像マネージャー(つまり、画像マネージャーインスタンス)からすべてのフィールドを削除できます。ファイルが読み込まれたら、「参照」ボタンとファイルの名前とパスを示すラベルを残して、パス(URL)を上記のテーブルに保存します。

私はこれを達成するためにAJAXを使用しました-リンクをクリックして画像をアップロード/変更すると、JavaScript関数が呼び出され、ユーザーIDが渡されます。javascript関数は画像マネージャーを開き、新しいパスを取得して、ユーザーIDとテーブルへのパスをデータベースへのクエリ/更新を行うphpファイルに渡すAJAXリクエストを作成します。ボイラ。

これが必要ですか?これがおもしろいと思われる場合はお知らせください。詳細をお知らせいたします。ただし、これはおそらくベストプラクティスではありません。

乾杯


組み込みのJoomlaを使用する場合は、これを行う必要はありません。プロファイルプラグイン。データベースの関係は、すでにXMLを使用して構築されています。ヘルパーファイルは本当に必要ないでしょう。
Eoin

3

これは、今日カスタムフィールドを使用して実現できます。

ここに画像の説明を入力してください

誰かがそれが便利だと思った場合の私の前の答え。 上記はおそらくより関連性があり、これは参照用です。

カスタムフィールド(回答の上)は、今日の私の好みです。

ユーザープロファイルと呼ばれるプラグインがあります。プラグインにアクセスして検索してください。画像ではありませんが、かなりの数の追加フィールドが組み込まれています。それを拡張したい場合は、このドキュメントに従うことができます。 警告。このプラグインは、Fieldsによってあまり役に立たなくなるため削除されると思います。

Joomla! ユーザープロファイルプラグイン

https://docs.joomla.org/Creating_a_profile_plugin

難しいことではありませんが、方法を理解するまでは、難しいことのようです。もしそうするなら、私は確かに既存のコードを見て、それを自分で適応させようとするでしょう。

現在のすべてのフォームフィールドタイプのリストは次のとおりです。https//docs.joomla.org/Standard_form_field_types

ただし、メディアマネージャーモーダルへのアクセスを提供するhttps://docs.joomla.org/Media_form_field_typeを具体的に確認することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.