質問 > 管理機能 > 権限によって商品情報を修正時に特定項目だけ更新する |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
start |
投稿日時: 2020/7/13 20:28
対応状況: 開発中
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
権限によって商品情報を修正時に特定項目だけ更新する 権限によって商品情報を修正時に特定項目だけ更新したいです。
例えば管理者と店舗オーナーでログインした場合は商品の全て項目を更新可能、メンバー(自身で追加した権限)権限でログインした場合は特定の項目だけ編集可能他の項目をみるだけに実装したいですがどうやって実装すれば出来ますでしょうか。 ▼テンプレート [EC-CUBE] EC-CUBEのバージョン、新規インストールかアップデートか、等 [レンタルサーバ] レンタルサーバ名 [OS] 使用しているOS名、バージョン [PHP] 使用しているPHPのバージョン [データベース] 使用しているDB名、バージョン [WEBサーバ] 使用しているWEBサーバ名、バージョン [ブラウザ] 使用しているブラウザ名、バージョン [導入プラグインの有無] あれば導入プラグインを記載 [カスタマイズの有無] あればカスタマイズ内容を記載(できるだけ具体的に) [現象] 再現手順や、どのような現象が発生しているかなど、具体的に |
umebius |
投稿日時: 2020/7/13 22:07
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する 以前書いたTIPSが近いと思いますのでご紹介します。
EC-CUBE4 権限によって管理画面フォームの項目を変化させる方法 自身のMemberオブジェクトから権限を取得して切り分ける方法があります。
|
start |
投稿日時: 2020/7/13 22:50
対応状況: 開発中
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する いつもありがとうございました。
テキストを表示させる必要があります。以下の 「管理権限でない場合にフォームではなくテキスト表示したい場合は、別途Entityをtwigに渡しておいて、{{ Entity.admin_only_item }} のような形でテキスト表示してやります。」をやり方をちょっと分からないのでお時間あればちょっと説明して頂きないでしょうか。宜しくお願い致します。 |
umebius |
投稿日時: 2020/7/14 8:49
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する コントローラからエンティティをtwigに渡すということです。
return ['Entity' => $Entity];のような形で。 ただ渡さなくても {{ form.vars.data. admin_only_item }} 等でも良いと思います。 |
start |
投稿日時: 2020/7/14 10:17
対応状況: 開発中
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する お返事いただいてありがとうございました。
{{ form.vars.data. admin_only_item }}テキストで表示される事が出来ましたが編集可能の項目を入力して「登録」ボタン押下後にテキストがなくなりました。または更新処理もいけないですね。:( |
start |
投稿日時: 2020/7/14 10:27
対応状況: 解決済
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する ありがとうございました。参考になりました。以下の方法で行けるみたいです。
いつもありがとうございました。今後とも宜しくお願い致します。 {{ form.vars.data.name }} {{ form_widget(form.name, { type : 'hidden' }) }} {{ form_widget(form.name, { type : 'hidden' }) }} |
start |
投稿日時: 2020/7/14 10:30
対応状況: 開発中
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する でもHTMLからhiddenの値を変更可能ですね。これはちょっとですね。
|
umebius |
投稿日時: 2020/7/14 10:35
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 権限によって商品情報を修正時に特定項目だけ更新する $builder->add('name', ...)した場合は、そのフォームをtwigで出力しないと、保存時にnameのデータが消えてしまうのですね。
(空のデータで上書きされてしまいます) なので、そもそも画面にフォームを表示しない項目は$builder->add('name', ...)をしないことで、このデータが消失する現象を回避するということが 記事内の「buildFormメソッド内でログインユーザー権限で切り分ける」の目的です。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |