質問 > 管理機能 > PHPから商品登録を行なう方法 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shimbo |
投稿日時: 2018/11/12 11:30
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
PHPから商品登録を行なう方法 [EC-CUBE] EC-CUBE3.0.16
[レンタルサーバ] さくらインターネット [OS] FreeBSD 9.1-RELEASE-p24 [PHP] 5.6.38 [データベース] MySQL 5.7.22-log [WEBサーバ] Apache [ブラウザ] Chrome [導入プラグインの有無] 無し 同サーバのPHPから商品登録をできるようにしたいのですが、Symfony2の仕様がうまく理解しきれておらず、質問させて頂きます。 AdminControllerProvider.php56行目に
とあります。ProductController::editを調べてみると、admin_productフォームタイプからデータを拾っているようです。 他のPHPからPOSTでフォーム名と同じデータを送付すれば商品登録ができるかと思って試しているのですが、うまくできません。その送付方法自体も、今はCurlを使っているのですが、この方法が正しいかどうか確信がありません。 どのようにすれば他のPHPから商品登録が可能でしょうか? |
red |
投稿日時: 2018/11/12 17:49
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: PHPから商品登録を行なう方法 上手く出来てない部分がよくわからないので、お答えしにくいです
どうやってPOSTしているのでしょうか? どういったエラーが出ますか?
|
sw_tm |
投稿日時: 2018/11/13 10:00
対応状況: −−−
|
常連 登録日: 2018/5/25 居住地: 投稿: 43 |
Re: PHPから商品登録を行なう方法 実現したいこととを確認したいのですが、
別のシステムにあるデータを利用し商品登録を行いたいということでしょうか? その場合いくつか方法が考えられると思います。 curlでも可能ですが、管理画面へのログインと CSRFへの実装が必要になります。 curlが必須な条件でなければ他の方法のほうが良いと思います。 例えば、データをエクスポートできるのであれば、 商品一括登録のフォーマットに加工することで、 登録・削除・更新が可能です。 管理画面->商品管理->商品CSV登録 /admin/product/product_csv_upload |
shimbo |
投稿日時: 2018/11/13 11:49
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
Re: PHPから商品登録を行なう方法 コメントありがとうございます。
AdminControllerProviderでは
とありますので、 \Eccube\Controller\Admin\Product\ProductController::editにデータをPOSTして……と思っていたのですが、ResponseにはHTMLが出力されているものの、データベースには反映されず……といった状況です。 sw_tmさんも仰っているように、CSRFなど別の要因なのかな……と思っております。 方針転換して、直接app['orm.em']に書き込んでいく方がいいのかな……と思い始めました。それはそれで、
とするだけでちゃんと反映されるのか、少々不安な部分はあるのですが……。 |
shimbo |
投稿日時: 2018/11/13 11:57
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
Re: PHPから商品登録を行なう方法 仰る通り、別のシステムからの登録ということです。
CURLだとCSRFのトークンが必要になるとのことですね。それは見落としておりました。 1つだけ商品を登録するという状況を想定しているので、CSV経由のことは考えていませんでした。 私は、どうもデータを他のクラス、コントローラーに渡す方法が今一つ理解できていないようです。 この場合、CSVのデータを生成して、->render()で/admin/product/product_csv_uploadに投げるような感じになるんでしょうか。 |
sw_tm |
投稿日時: 2018/11/13 13:17
対応状況: −−−
|
常連 登録日: 2018/5/25 居住地: 投稿: 43 |
Re: PHPから商品登録を行なう方法 CSVでデータ登録については、CSVファイルを用意し、
管理画面から登録することを想定して、お伝えしました。 別システムから、CSVファイルを出力できれば、 EC-CUBEのカスタマイズが必要なくなるので、 簡単かと思います。 |
shimbo |
投稿日時: 2018/11/14 12:18
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
Re: PHPから商品登録を行なう方法 なるほど、そういうことですね。
今回は人手を介することはちょっと難しいので、なんとか頑張ってみたいと思います。 ありがとうございます。 |
shimbo |
投稿日時: 2018/11/14 13:20
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
Re: PHPから商品登録を行なう方法
いろいろ教えて頂いた甲斐あって、なんとかPOSTされたデータを保存するところまで書きました。しかしながら、postでデータを投げてもサーバー500が戻ってきてしまいます。 単体でGETでURLを叩いた時には、「Column 'name' cannot be null」が表示されるので、データの渡し方の問題なのかなと思っておりますが、何か私のコードで見落としがあるでしょうか? $formへの値のセットが間違っているのかとも思うのですが……? |
sw_tm |
投稿日時: 2018/11/14 13:22
対応状況: −−−
|
常連 登録日: 2018/5/25 居住地: 投稿: 43 |
Re: PHPから商品登録を行なう方法 3点確認させてください。
・登録したい商品情報は、DBに保存されていますか? DBに保存されている場合、EC-CUBEのサーバーからアクセスすることは可能でしょうか? ・商品登録を行うタイミングをおしえてください。 定時? 別システムの商品登録時? 等 ・商品画像の登録はありますか? |
shimbo |
投稿日時: 2018/11/14 15:02
対応状況: −−−
|
半人前 登録日: 2018/10/5 居住地: 投稿: 27 |
Re: PHPから商品登録を行なう方法 ありがとうございます。
・登録したい情報は、DBには登録されていません。 ・商品登録を行なうタイミングは、別システムの商品登録時になります。 ・商品画像の登録もしたいと思っています。 別システムで商品が登録された時に、データを受け取ってECCUBE3にコピーするようなイメージです。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |