質問 > 管理機能 > 画像アップロードを管理画面に追加(綺麗な書き方を教えてください) |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shiftbank |
投稿日時: 2021/4/26 14:56
対応状況: −−−
|
新米 登録日: 2018/6/29 居住地: 投稿: 10 |
画像アップロードを管理画面に追加(綺麗な書き方を教えてください) [EC-CUBE] 4.0.5
[PHP] 7.4 [データベース] Maria [WEBサーバ] Apache 商品情報に画像を追加する、画像アップロード処理を書きました。一応動作してはいます。 ただ、手探りすぎてコードの置き場所や処理の流れなどグチャグチャになっている気がします。 違和感のある箇所、ご指摘いただけないでしょうか。 商品情報に追加の画像をアップロードする機能です。 ※最初からある画像アップロード機能と分離させたいのは、表示する場所が違うからです。 カラム名が雑なのは目を瞑ってください。 大まかな実装内容は↓です ・ProductTraitで商品情報に画像用カラムを追加 ・ProductControllerに画像保存用処理を追加 ・ProductControllerへPOSTするためのHTMLを表示 ProductTrait - 画像保存用カラムの追加と、フォーム項目の追加
疑問1: form_themeで指定するtwigファイルの保存場所は4つのディレクトリがあるようですが、管理画面用twigを置くに適したディレクトリは対象外な点。 admin_image.twig - 画像アップロードフォームのテンプレート
テンプレートを新たに作った理由 ・アップロード時のJavaScriptでの処理にクラスやプレビュー要素を表示するHTMLが欲しかった ・削除フラグをPOSTに載せるためのinput要素が欲しかった 別途、JavaScriptにてimg.image-uploadedへのプレビューを行ったりしています。 ProductController - 画像の登録や削除 「// 画像の登録」処理の直前に以下を記述しました
疑問点2: 「維持する」方法がわからず、再度セットするという荒技になってしまいました。 疑問点3: FormAppendアノテーションを経由せずに追加した***_delete要素が、 $builder->getForm()->get('hoge')では取得できないのは何故なのか 疑問点4: どの時点でどこまでの情報が保存されているのかイマイチよくわからない 疑問点5: 画像アップロードのようなよく使われる機能はどこかに用意されていそうだが見つけられなかった。 そもそも勘違いしている点が多々あるかと思います。 一部でも、ココはこうした方がいいよ等あれば教えて欲しいです。 よろしくお願いします。 |
h_tanaka |
投稿日時: 2022/12/16 19:40
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: 画像アップロードを管理画面に追加(綺麗な書き方を教えてください) form_theme の使い方がおかしいです。
twig ファイルは app/template/admin 配下に配置すべきです。 画像アップロード機能は標準にあるので、それを複製して作成するのが良い気がします。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |