質問 > その他 > Facebook連携プラグイン EC-CUBE4対応版のエラーについて |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yoshi0001 |
投稿日時: 2020/6/29 17:32
対応状況: 開発中
|
半人前 登録日: 2020/3/16 居住地: 投稿: 24 |
Facebook連携プラグイン EC-CUBE4対応版のエラーについて ▼テンプレート
[EC-CUBE] EC-CUBEのバージョン:4.0.3 新規実装中 [レンタルサーバ] AWS [OS] linux [PHP] 7.3.16 [データベース] MySQL 5.5.64 [WEBサーバ] Apache/2.4.41 [ブラウザ] Chrome [導入プラグインの有無] あり [カスタマイズの有無] [現象] タイトルプラグインをダウンロードし、インストール。キャッシュをリセットし、プラグイン設定画面より連携へ進む。別窓でFacebook側の設定をひととおり終え、製品タブへ移動。そこで「更新する」ボタンを押下するが、製品が連携されません。 どなたか解決法がわかればご教授くださいませ。 |
nanasess |
投稿日時: 2020/6/30 18:36
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: Facebook連携プラグイン EC-CUBE4対応版のエラーについて 製品が連携されないというのは、エラーメッセージなど表示されますでしょうか?
var/log/prod の下に、エラーログなどでていませんでしょうか? |
yt1969 |
投稿日時: 2020/11/30 22:02
対応状況: −−−
|
一人前 登録日: 2018/3/3 居住地: 投稿: 91 |
Re: Facebook連携プラグイン EC-CUBE4対応版のエラーについて Facebook Ads Extention
本日まさにこれで6時間くらいはまりました。 --- ・EC-CUBE3では問題なく動き、Facebook/Instagramで商品を扱えた ・EC-CUBE4でローカルのMAMP環境では問題なくproduct_feed.tsvを吐き出していた ・EC-CUBE4のさくらインターネットレンタルサーバ環境で商品登録エラーになった ・Facebookのカタログマネージャ->カタログ->データソースから URL(https://hogehoge/product_feed.tsv)を指定しての商品登録がエラーになる > 更新または追加された商品**0**件(28件中) > 却下された商品**28**件 (実際の商品点数は2000件以上) 登録エラーのレポートを見ると > **列の数が正しくありません(引用符が使用されています):** > この行の列の数が行1の列の数と一致しません。テキストに二重引用符を使用している場合、その後にもう一つ二重引用符を使用する必要があります。また、そのテキスト全体を二重引用符で囲む必要があります。(例: “24””TV”, “32””TV”) > **列の数が正しくありません:** > この行の列の数は行1の列の数と同じにしてください。 ・試しに、ローカルで吐き出させたproduct_feed.tsvを利用して ファイルアップロードで商品登録を行うと問題なく登録できる ・EC-CUBE4のエラーログvar/log/prod/site-2020-11-30.log > … システムエラーが発生しました。 ["Failed to start the session because headers have already been sent by \”…/src/Eccube/Service/CsvExportService.php\" at line 376." ・`curl https://hogehoge/product_feed.tsv`をみてみると ヘッダ部1行と残りエラーhtmlという内容 > id item_group_id title description google_product_category link image_link additional_image_link condition availability price brand > <!doctype html> > <html lang=“ja”>…</html> --- 結論としては app/Plugin/FacebookAdsExtention/Controller/ProductFeedController.phpで ``` fopen(); fputcsv($headers); fclose(); fopen(); foreach{fputcsv($row);} fclose(); ``` となっていたfopen()/fclose()を1回にまとめる ``` --- app/Plugin/FacebookAdsExtention/Controller/ProductFeedController.php +++ app/Customize/Controller/ProductFeedController.php @@ -8,7 +8,7 @@ * of patent rights can be found in the PATENTS file in the code directory. */ -namespace Plugin\FacebookAdsExtention\Controller; +namespace Customize\Controller; use Eccube\Application; @@ -39,7 +39,7 @@ class ProductFeedController extends Abst $this->csvExportService = $csvExportService; } /** - * @Route("/product_feed.tsv", name="plugin_FacebookAdsToolbox_feed") + * @Route("/product_feed.tsv", name="custom_plugin_FacebookAdsToolbox_feed") */ public function export(Application $app, Request $request, Packages $packages) { set_time_limit(0); @@ -74,9 +74,6 @@ class ProductFeedController extends Abst 'price', 'brand', ); - $this->csvExportService->fopen(); - $this->csvExportService->fputcsv($headers); - $this->csvExportService->fclose(); $qb = $this->csvExportService->getProductQueryBuilder($request); @@ -94,6 +91,7 @@ class ProductFeedController extends Abst $site_root = $request->getSchemeAndHttpHost(); $this->csvExportService->fopen(); + $this->csvExportService->fputcsv($headers); foreach ($query->getResult() as $Product) { // change availability based on status. ``` --- なぜそうなるのかとかまでは突っ込んでませんが、、 この修正以降は商品連携うまく動いているようです。ご参考までに。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |