SOY Shopのインポートエクスポートで、0からはじまる数字を扱いたい場合どうすれば良いのか?
という質問がありました。
0からはじまる数字というのは、
たとえば会員IDを00015という形で、15番なんだけど、今後の運営を見こうして5桁の数字と見なすようなことで、
最初に0を入れておくことで桁数が増えた時でもデータの並び替えがしやすくなります。
この説明を踏まえた上で、今回の質問に移ります。
今回の説明ではCSVの編集でLibreOfficeというオープンソースのオフィススイートを利用します。
MicroSoftのOfficeを持っていたとしても、CSVの操作はLibreOfficeで行うことをおすすめします。
LibreOffice(CSV周り) - おすすめ - SOY CMSを使ってみよう
はじめにカスタムフィールドかカスタムサーチフィールドで0からはじまる数字を入力するためのフィールドを作成します。
CSVのエクスポートの準備として、作成したフィールドに
このように0から始まる数字を入力して更新します。
更新後に商品のCSVエクスポートの画面を開き、標準設定の状態でCSVをエクスポートします。
ダウンロードできたファイルをLibreOfficeで開くと、
※説明のために不要な項目のエクスポートは行っていません。
SOY Shopの管理画面で入力した00015が先頭の0の並びが外れて15と表示されてしまいます。
一応CSVファイルをテキストエディタで開いてみると、
1,item-001,苔オブジェ,00015
となっているので、SOY Shopからの出力は登録した値そのまま出力して、LibreOfficeの方が0を除く処理をしているらしい。
LibreOfficeの設定をそのままにして00017といった形を入力しても、自動で0が除かれ、
この状態でSOY ShopでCSVインポートしても、17というデータが登録されていまいます。
これから冒頭の0が消えてしまう対策を記載します。
数字を編集したいセルにフォーカスし、右クリックでセルの書式設定を開きます。
セルの書式設定の画面にある先頭のゼロの値に桁数を入れてOKを押すと、
※今回は5桁の数字なので5と入力する
セルの数字の箇所の表示が変わります。
この状態で00015から00017に変更します。
念の為にCSVファイルをテキストエディタで開いて確認してみて、
1,item-001,苔オブジェ,00017
冒頭の0が消えてないことを確認した上でSOY Shopの管理画面のCSVインポートを試してみると、
無事に冒頭の0が消えていない値として数字が登録されました。