一括登録と商品名について

ホーム フォーラム バグ報告 一括登録と商品名について

このトピックには7件の返信が含まれ、2人の参加者がいます。7 年、 2 ヶ月前 chatii さんが最後の更新を行いました。

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #50462

    chatii
    参加者

    お世話になります。

    ちょっと疑問点があったので質問します。

    商品登録の際、CSVで一括登録しているのですが、

    エラーなしで更新しても、商品名の表示が変わらない現象に出会いました。

    (MySQLでごにょごにょしていたのが原因だと思うのですが、)

    結果的には、沢山できていた postmeta の _itemName の古いもの

    (meta_id の若いもの)を削除して解決しました。

    ここで疑問・質問なのですが、

    カスタムフィールドをupdateでなくaddしているのはあえてでしょうか?

    編集画面上からの変更では update であることと、

    現在400品目を毎日数回 在庫更新しないといけないので、

    DBの肥大化がちょっと気になるので…


    Welcart のバージョン:1.0.3

    症状を確認したブラウザ:

    サーバー(会社名、サービス名):自社検証サーバ、PHP5.3 MySQL5.1.54

    SSLの利用: 無し

    WordPress のパーマリンク設定:


    #62162

    nanbu
    参加者

    こんにちは。

    ご報告ありがとうございます。

    PHP5.3 環境でエクセルファイルの取り込みがうまく行かない症状を確認しました。主な症状は全角文字の文字化けです。

    取りあえずCSV でと言いたい所ですが、現在CSV の取り込みも完全ではありません。取り急ぎCSV で完全に取り込めるよう修正いたしますので、しばらくお待ちください。

    エクセルファイルの対応ですが、現在利用しているライブラリがどうもPHP5.3 には対応していないようなので、もしかしたら今後この機能は外すかもしれません。

    よろしくお願いいたします。

    #62163

    chatii
    参加者

    nanbu さま

    ウィジェット フィルタについてのご回答を頂いたので、

    Development Verを入れて、CSVについても確認してみましたが、

    「エラーなしで更新しても、商品名の表示が変わらない現象」のままです。

    やはり、post_meta には同じ商品の情報がどんどん追加されています。

    /functions/define_function.php:537~600 にて

    post_meta の insert をしているので当たり前ですが…

    おそらく、template_func.php の

    usces_the_itemName() において、

    $str = get_post_custom_values('_itemName', $post_id);

    if( $out == 'return' ){
    return $str[0];
    }else{
    echo esc_html($str[0]);
    }

    と、get_post_custom_values で返る配列の先頭を見ているからだと思います。

    Wordpressの中で返す配列の並び順がどうなっているかまではわかりませんが、

    var_dumpしてみると、古い→新しい順のような気がします。

    というわけで、いくらCSVで更新しても、古い情報しか出てこないのです。

    できれば、postmeta を update するようにはできないでしょうか?

    前回も書いたとおり、毎日数回の更新をしていますが、

    商品数が400点なのに、 _itemName だけで 3000行あります…

    #62164

    chatii
    参加者

    蛇足ですが、以下のような回避策を講じました。

    define_function.php の

    $query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) VALUES $valstr";

    これの手前に

    post_id と meta_key like ‘_item%’

    でDELETEのクエリを投げるようにしてしまいました。

    #62165

    nanbu
    参加者

    今回、chatii さんのデータベースに余計なmeta ができてしまったのは、PHP5.3 環境でエクセルファイルを一括登録してしまったためです。

    そのmetaのために更新されても新しいデータが適用されないというような現象が起こったのだと思います。

    仰る通り、metaを一旦削除してしまって正解だと思います。ただ、正常であれば(エクセルファイルを使わなければ)余計なmetaが追加されるような事はないはずです。Development Version(r1106072)で動作確認いただけたらと思います。

    #62166

    chatii
    参加者

    nanbuさん

    ご回答ありがとうございます。

    エクセルファイルというのは、 .xls ではないのでしょうか?

    今まですべてCSVでしか登録していません。

    USCES_VERSION 1.0.3.r1106081 のものを使い、

    CSVにて更新しましたが、やっぱり meta が増えていきます。

    // 一括登録の処理で、metaについてUPDATEしている箇所が

    // 無いように思えるんです…

    #62167

    nanbu
    参加者

    chatii さん、ありがとうございます。見落としていました。

    修正してDevelopment Version をr1106101 に更新しました。

    これで、CSVの登録も大丈夫だと思います。よろしくお願いします。

    #62168

    chatii
    参加者

    nanbu さん

    修正ありがとうございます。

    動作確認できましたー。

    今後ともよろしくおねがいします!

8件の投稿を表示中 - 1 - 8件目 (全8件中)

このトピックに返信するにはログインが必要です。