「写真を変更する」ボタンを押すとプロフィール画像が変更される仕様にしたいです。

「写真を変更する」タグを押すと人物画像が変更される仕様にしたいです。

現在、添付画像の状態で、人物画像部分はPictureUploaderで作成しているため、画像部分を押せば画像は変更できますが、画像横の「写真を変更する」タグを押すと、画像変更できる仕様にしたいです。
どのようにすればよろしいのでしょうか。
お分りの方、教えて頂ければ幸いです。

「いいね!」 3

使っているツールや環境を書かないとアドバイスしようがないと思うので、まずはツールが何かを明らかにしてください!

「いいね!」 3

失礼しました!babbleです!

実際に試していないので、頭の中で想像しながら書きます。

分かりづらかったらごめんなさい。

PictureUploaderにカスタムステートをImage型で宣言します。

そして、PictureUploaderのワークフロー (When PicturePuloader’s value is changed) を設定し、Step1で、アップロードされた画像をカスタムステートに代入します。

そしてStep2で、Reset relevant inputsを設定します。

これで、画像をアップロードしてもPictureUploaderの部分は変更されないはずです。

「写真を変更する」ボタンに、Yes/No型でカスタムステートを宣言し、初期値をNoにします。

PictureUploaderの上に、同じサイズでImageエレメントを重ねます。

これのソースをDynamicに設定し、先程のカスタムステートを指定します。

このImageエレメントは、「This element is visible」のチェックを外します。

Conditionalタブに行き、「写真を変更する」のカスタムステートがYesのとき、「This element is visible」にチェックを入れます。

「写真を変更する」ボタンにワークフロー (When 写真を変更する is clicked) を設定し、先程宣言したカスタムステートの値をYesに変えます。

恐らくこれで、アップロード後には何も起きず、写真を変更するボタンをきっかけに画像が変わるはずです。

ぜひお試しください~。

「いいね!」 2

「画像はクリックできず、ボタンを押すことでウインドウが開き画像をアップロードさせる」ことを実現したいとすると標準機能のみではできません。

Workflowからファイルアップロードを呼び出して、そのデータをimageエレメントに表示させる必要があります。
下記のプラグインを使うことで、上記の条件はクリアできるので実現できますが有料ですので必須要件かによって検討いただければと思います。

「いいね!」 1

あー、なるほど。写真を変更するボタンがPictureUploaderということですね。

先程僕が書いた事よりももっとシンプルに、標準機能で可能だと思います。

使うエレメントは、ImageとPictureUploaderひとつずつです。

2021-09-15_11h58_42

左側のImageエレメントの、Static Imageに初期プロフィール画像を配置します。

そしてカスタムステートをImage型で宣言します。

Conditionalタブへ行き、When the custom state is not empty → Image Source → Dynamic Image → The Custom stateとします。

右側にPictureUploaderを配置し、Placeholderを「写真を変更する」とします。

そしてこれに、ワークフローを設定します。

「When this PictureUploader’s value is changed」

→Step1で、This PictureUploader’s valueを、先ほど設定したカスタムステートに代入します。

→Step2で、Reset relevant inputsにします。

これで、写真を変更するボタンを押したときにファイルを選ぶ画面が表示され、選択すると左型の画像が変わるようになりました。

「いいね!」 2

@yukikun @Aki_Sydney お二方ありがとうございます!!
大変助かります :relaxed:参考にさせて頂きます!!

@Aki_Sydney
左側のImageエレメントの、Static Imageに初期プロフィール画像を配置します。
そしてカスタムステートをImage型で宣言します。
Conditionalタブへ行き、When the custom state is not empty → Image Source → Dynamic Image → The Custom stateとします。
右側にPictureUploaderを配置し、Placeholderを「写真を変更する」とします。
そしてこれに、ワークフローを設定します。
「When this PictureUploader’s value is changed」
→この部分がうまくできず・・
When this PictureUploader’s value is 「changed」が出てこないのですが、原因が何かありますでしょうか。。

「いいね!」 2

この部分は、コンディショナルではなくワークフローです。
PictureUploaderのワークフローは分かりづらいですが、エレメントを右クリックすると、下の方に「Start/Edit workflow」というのが出てきます。ここから設定してみてください :fist:

「いいね!」 1

ありがとうございます!
workflow見つけました! :sob:
ただそこでもchangedが見つからず・・
ちょっと色々と見てみます!!

「いいね!」 1

PictureUploaderはワークフローを作成した際に、自動で「is changed」となっています。
image
今回はOnly Whenに条件を付ける必要はなく、そのままStep1でカスタムステートへの代入、Step2でReset relevant inputsをすればOKです :fist:

「いいね!」 2

ありがとうございます!! :sob: :sob:
やってみます!!

「いいね!」 1