ドミニオンサイトを運営するにあたり、ドミニオンのカード一覧やカード詳細ページを作成したく計画を練っています。
当初の予定では、母や弟など、入力作業を手伝ってもらって、500枚近くのページを作成しようと思いましたが、母は大丈夫かな?というのもあるし、弟もプログラミングなら協力するけど・・・という感じだったので、なら自分で一気に作れるシステムを構築しちゃえばいいのかと思い、自分の使用しているPHPを使って、一気に500ページ近いものを作成できるようにしようと思った次第です。
行うこと
①ファイルの準備 ②テンプレートの準備 ③ファイル→テンプレートへの書き込み ④投稿
を行えば大丈夫なので、どのようにしていこうか模索していきました。
①ファイルの準備
まずファイルの準備です。既存のサイトから表だけをコピーして、あとはオリジナルのものも加えて行おうと思いました。
CSV形式にしたほうが、PHPコード作成も簡単かと思い、置換などを作成して、CSV形式にしました。
②テンプレートの準備
テンプレートを準備します。カード詳細画面はどのカードもフォーマットを作っちゃえば、それに変数として、データを入力するようにすればよいので、テンプレート作成をしました。
ワードプレスの投稿で、プレビューを行っていき、これだ!と思ったもののテキスト(HTML形式)をファイルにしました。
③ファイル→テンプレートへの書き込み
CSVファイルとテンプレートができたので、次はCSVファイルのデータをテンプレートに記入し、データ毎にファイル作成していきます。
下記のサイトを参考に行っていきます。
④投稿
ここが今模索中なのですが、③までで、投稿用のページのHTML文を作成したのはいいですが、ここからコピペを行うとしても500回分それをするのか?となり大変手間であり時間もかかります。
ファイルを投稿してくれる機能・ツールがないのかを探している最中です。
と思って、ぐぐったらあった!!!
ふむふむ「Really Simple CSV Importer」というプラグインを使えば一括でインポートできるのか。
これで一気に行けそうだ。
テストで2,3個やってみて、できたら500個一気に! いってみよう。
方針変更 (追記)
上記の方法で進めようとしましたが、うまくいかない部分もあったため方針を変更して大量生産を行いました。
CSVの型を決める
Really Simple CSV Importer でインポートするのは変わりませんのでそのためのCSV用ファイルを作成して、型を決めました。
CSV用のデータ作成
CSVの型が決まったらそれに当てはまるようにデータを作成しました。
固定のものと変動するものがありますので、変動するものをPHPで作成しました。
固定のものも含めてPHPでまず文字列を結合させていき、その中に変数を代入する方法で行いました。
代入していく変数はCSVファイルにデータを1行毎に入れて、それを代入していきCSVにするためのテキストをファイルとして出力。
ファイルをサクラエディタで開き、もともと指定していた、タブマークをタブに改行マークを改行に置換。
タブ区切りになったファイルをスプレッドシートにコピペ。
そのスプレッドシートをCSVに変換という流れで行いました。
CSVインポート
出来上がったデータでいくつかテストしていき、理想のCSVに近づけていきました。
500個を一気にインポートするのは失敗した時に怖いのでまずは3つくらいでテストしていき、理想形に近づけていきました。
そして実行の時
綿密にどのようなCSVデータを作成するかを練り、ここでいこうと思えたタイミングで行いました。
一気に500ページ近く増えました。
少し見た感じ、大丈夫そう!
これからインポート部分でできなかった部分を追加していき完成に近づけていきます。
まとめ
最初に手作業で500ページ作ろうとしていましたが、PHPやプログラミングをやっていて良かったです。
おそらくかなりの時間を削減できたかと思います。
これからも時間を裂けるものは裂きながらサイト作成・更新を行っていきたいと思います。