ECCUBEで独自URLでページを作成する方法

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で困っていろいろ調べたこともあるのでメモがわりに紹介しました。
※バージョンや環境によっては全く同じ作業ではない場合もございますので確認下さい。

参考にしたサイト

EC-CUBEで独自のページを作成する方法

EC-CUBE2.13カスタマイズ:新しいページを追加する

Shareこの記事をシェアしよう!