どうもこんばんわANDくんです
本日はECCUBEプラグインのWpPostのスマートフォン版でも有効にさせる方法を書いていきます。
WpPostは足りない機能の一つとしてスマートフォン版で使えないって事がありますね。
今回の修正はデータベースの変更を行いますので、よくわからないとかがある場合はECCUBEのストアで販売してあるプラグインを購入いただくのがいいと思います。
でもまあデータベースを修正できるのであればそんなに難しくは無いかなと思います。
また、WpPostはインストールされている前提で話を進めていきますね。
まず、ブロックについて
スマートフォン版にブロックを先に管理画面から作成します。そのブロックをWpPostのブロックとなるようにデータベースで指定します。
dtb_blocテーブルをいじっていくことになります。mysqlやpsqlやphpmyadminやらいろいろ環境があると思いますのでそこは各自にお任せします。
データベースをチラッと見て、今追加したブロックを確認、bloc_idを覚えておきます。
where句は device_type_id = 2 and bloc_id = (該当するid番号) みたいな感じで変更するのを指定します。
bloc_idはdevice_type_idが違った場合に被る事があるので、device_type_idとbloc_id両方で指定する必要があります。
変更するカラムは
php_path
deletable_flg
plugin_id
この3つのカラムをPC版のWpPostのブロックに習い同じように変更します。
frontparts/bloc/plg_WpPost_list.php
0
(数字 環境による)
それぞれおそらく 空 1 空 の形から上記に変更します。これでブロックの設定は完了。
くれぐれも別のブロックを書き換えないでくださいね!
次はwppost/plg_WpPost_category.php wppost/plg_WpPost_post.php の二つについて。
まず先ほどと同じように今度はページを新規で2つ作ります。 対象が2つだから2つ作成します。
ページ名: WordPressポスト表示
ファイル名: plg_WpPost_post
ページ名: WordPressカテゴリ表示
ファイル名: plg_WpPost_category
とりあえずはこんな形で2ページ作成しておきます。わかりやすいのでPC版と合わせる形ですね。
セレクト文をしてみます。弊社はPostgresqlです。他の環境ではわからないですが(特にPHPから触る系)まあほとんど同じでしょう。
select device_type_id,page_id,page_name,url,filename,edit_flg from dtb_pagelayout where page_name like '%WordPress%';
セレクト文をすると弊社のカスタマイズ時では下記のように
device_type_id | page_id | page_name | url | filename | edit_flg
----------------+---------+-----------------------+-----------------------------------+-------------------------------+----------
10 | 40 | WordPressカテゴリ表示 | wppost/plg_WpPost_category.php | wppost/plg_WpPost_category | 2
10 | 39 | WordPressポスト表示 | wppost/plg_WpPost_post.php | wppost/plg_WpPost_post | 2
2 | 39 | WordPressポスト表示 | user_data/plg_WpPost_post.php | user_data/plg_WpPost_post | 1
2 | 40 | WordPressカテゴリ表示 | user_data/plg_WpPost_category.php | user_data/plg_WpPost_category | 1
そうしたら今度はDBの修正し、上記のdevice_type_idが2の物をPC版の物と同じようにします。
update dtb_pagelayout set url = replace(url,'user_data','wppost'),filename = replace(filename,'user_data','wppost'),edit_flg = 2 where device_type_id = 2 and (page_id = 39 or page_id = 40);
上記の場合なら具体的にはこう。
この後、ECCUBEからもう一度スマホ版の二つのページを編集で再登録しなおし(スマホ版のWpPostページのtplの再作成)してひとまずOKです。
PC版のテンプレートを参考にスマホ版を作成していきましょう。
また、スマホ版のuser_dataフォルダに最初にページを作成しようとした分のゴミが残ってるかと思いますが、気になる場合は削除しておくといいでしょう。
こんな感じですね。ECCUBEをわかってみるとそこまで難しくないカスタマイズとなります。