ECCUBEで新しいページを作成する際、「ドメイン/user_data/〇〇〇.php」というページは管理画面から簡単に作成できますが、
「ドメイン/user_data/〇〇〇/〇〇〇.php」というフォルダにわけたり任意のURLに作成するのは管理画面からでは難しいと思い
ます。
そういう時に、カスタマイズする方法を紹介したいと思います。
管理画面よりファイル名の設定をする
まず、「管理画面⇒PC⇒ページの詳細設定」を開きます。
・名称
・URL
・ヘッダー/フッターが共通の場合はチェックボックスにチェック
・metaタグにページの詳細
上記の4点を入力して登録します。
登録するとサーバーの方に必要なファイルが生成
1./html/user_data/〇〇〇.php
2./data/Smarty/templates/user_data/〇〇〇.tpl
ページの確認URL
http://www.ドメイン/user_data/〇〇〇.php
このURLを任意のフォルダ名を付けたURLに変更したいと思います。
理想:「http://www.ドメイン/フォルダ名/〇〇〇.php」
フォルダの作成とファイルの移動
まず任意の名前を付けたフォルダを作成したいと思います。
今回は「test」という名前で作成します。
http://www.ドメイン/test/
先ほど作ったファイルを[testフォルダ]に移動します。
http://www.ドメイン/test/〇〇〇.php
データベースの編集
管理画面よりページを作成するとデータベース「dtb_pagelayout」にページの情報が追加されます。
変更する項目
・url
「user_data/〇〇〇.php」⇒「user_data/test/〇〇〇.php」
・filename
「user_data/〇〇〇.php」⇒「user_data/test/〇〇〇.php」
・edit_flg
「1」⇒「2」
上記の3点を変更します。
こちらを変更すればURLは「http://www.ドメイン/test/〇〇〇.php」に変更されます。
device_type_id | 「10」⇒PCページ |
---|---|
page_id | ページのID |
page_name | ページ名 |
url | 101,800円 |
filename | ページのURL |
edit_flg | 削除可能フラグ |
各ファイルの編集
下記の4つのファイルをコピーします。
/abouts/index.php
/data/class/pages/abouts/LC_Page_Abouts.php
/data/class_extends/page_extends/abouts/LC_Page_Abouts_Ex.php
/data/Smarty/templates/default/abouts/index.tpl
abouts⇒testに変更
コピーしたら下記のように変更します。
/test/〇〇〇.php
/data/class/pages/test/LC_Page_〇〇〇.php
/data/class_extends/page_extends/test/LC_Page_〇〇〇_Ex.php
/data/Smarty/templates/default/test/〇〇〇.tpl
ファイル名・フォンルダ名を変更できたらファイルの中身を修正します。
/test/〇〇〇.php
変更前
require_once ‘../require.php’;
require_once CLASS_EX_REALDIR . ‘page_extends/abouts/LC_Page_Abouts_Ex.php’;
$objPage = new LC_Page_Abouts_Ex();
$objPage->init();
$objPage->process();
変更後
require_once ‘../require.php’;
require_once CLASS_EX_REALDIR . ‘page_extends/test/LC_Page_Test_Ex.php’;
$objPage = new LC_Page_Test_Ex();
$objPage->init();
$objPage->process();
/data/class/pages/test/LC_Page_〇〇〇.php
変更前
class LC_Page_Abouts extends LC_Page_Ex
変更後
class LC_Page_Test extends LC_Page_Ex
/data/class_extends/page_extends/test/LC_Page_〇〇〇_Ex.php
変更前
require_once CLASS_REALDIR . ‘pages/abouts/LC_Page_Abouts.php’;
class LC_Page_Abouts_Ex extends LC_Page_Abouts
変更後
require_once CLASS_REALDIR . ‘pages/test/LC_Page_Test.php’;
class LC_Page_Test_Ex extends LC_Page_Test
/data/Smarty/templates/default/test/〇〇〇.tpl
表示したいソースコードを入力します。
上記4ファイルを変更したら完成です。
まとめ
今回はECCUBEで任意のURLに変更する作業を紹介しました。
user_data/〇〇〇.phpだとわかりづらいURLだったりする場合もありますよね。
ECCUBEで困っていろいろ調べたこともあるのでメモがわりに紹介しました。
※バージョンや環境によっては全く同じ作業ではない場合もございますので確認下さい。