質問 > フロント機能 > ブロックの追加について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2012/7/6 8:44
対応状況: −−−
|
ブロックの追加について 管理画面からブロックの追加を自動的にできましたが、手動でも追加したいと思っております。
そこで、下記のようにファイルを追加しました。 ・html/frontparts/bloc/user_recommend.php ・data/class_extends/page_extends/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ・data/class/page/LC_Page_FrontParts_Bloc_UserRecommend.php ・data/Smarty/templates/****/frontparts/Bloc/user_recommend.tpl 管理画面のブロック設定やレイアウト設定には追加したブロックが表示されるのですが、レイアウト設定でサイドエリアに追加したブロックを入れ、サイトを確認すると「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示されます。 ちなみに、コードは意味がわかりません。参考にしたものを真似て作っただけなので、どこが間違っているのかもわかりません。 どうすればブロックを表示させることができるでしょうか? アドバイスよろしくお願いします。 追記 エラー表示させてみたところ下記のようなエラーが表示されております。 Fatal error(E_COMPILE_ERROR): require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'G:\xampp\htdocs\eccube12/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php' (include_path='G:\xampp\htdocs\eccube12\data\module') on [G:\xampp\htdocs\eccube12\data\class_extends\page_extends\frontparts\bloc\LC_Page_FrontParts_Bloc_UserRecommend_Ex.php(2)] |
|
PWS |
投稿日時: 2012/7/6 10:18
対応状況: −−−
|
一人前 登録日: 2012/1/23 居住地: Itami Hyogo 投稿: 141 |
Re: ブロックの追加について data\class_extends\page_extends\frontparts\bloc\LC_Page_FrontParts_Bloc_UserRecommend_Ex.php
の2行目でincludeされている /data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php が開けません とありますね。 配置しているディレクトリが指定しているディレクトリと違うので、ソースの記述を現状にあわせるか、ファイルの配置を変えるかどちらかだと思います。
|
ゲスト |
投稿日時: 2012/7/6 12:18
対応状況: −−−
|
Re: ブロックの追加について 返答いただきありがとうございます。
アドバイスを頂きましたが、わからないので、各ファイルのコードを載せてみます。 よろしくお願いいたします。 user_recommend.php ---------------------------------------------------------------------------------------- <?php require_once realpath(dirname(__FILE__)) . '/../../require.php'; require_once CLASS_EX_REALDIR . 'page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php'; $objPage = new LC_Page_FrontParts_BLoc_UserRecommend_Ex(); $objPage->blocItems = $params['items']; register_shutdown_function(array($objPage, 'destroy')); $objPage->init(); $objPage->process(); ?> LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ---------------------------------------------------------------------------------------- <?php require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php'; class LC_Page_FrontParts_Bloc_UserRecommned_Ex extends LC_Page_FrontParts_Bloc_UserRecommned { /** * Page を初期化する. * * @return void */ function init() { parent::init(); } /** * Page のプロセス. * * @return void */ function process() { parent::process(); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?> LC_Page_FrontParts_Bloc_UserRecommend.php ---------------------------------------------------------------------------------------- <?php require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; class LC_Page_FrontParts_Bloc_UserRecommend extends LC_Page_FrontParts_Bloc { /** * Page を初期化する. * * @return void */ function init() { parent::init(); } /** * Page のプロセス. * * @return void */ function process() { $this->action(); $this->sendResponse(); } /** * Page のアクション. * * @return void */ function action() { } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?> |
|
PWS |
投稿日時: 2012/7/6 12:31
対応状況: −−−
|
一人前 登録日: 2012/1/23 居住地: Itami Hyogo 投稿: 141 |
Re: ブロックの追加について require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php';
で指定しているディレクトリ(class/pages/frontparts/bloc/) に、 LC_Page_FrontParts_Bloc_UserRecommned.php がありますか? data/class/page/LC_Page_FrontParts_Bloc_UserRecommend.php に配置されているのであれば、ディレクトリ違いますよね? #class_expandも配置されてるディレクトリが違うように思いますが、もしかして同名のファイルが/flontparts/bloc内にありませんか?
|
ゲスト |
投稿日時: 2012/7/6 14:45
対応状況: −−−
|
Re: ブロックの追加について 正直、参考にしたものを真似て作っただけなので、コードもわかっていなのですが・・・
各ファイルのは下記のように配置してあります。 ・/frontparts/bloc/user_recommend.php ・/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php ・/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ・/data/Smarty/templates/****/frontparts/bloc/user_recommend.tpl 引用:
はい。上記のような配置になっております。 引用:
LC_Page_FrontParts_Bloc_UserRecommend_Ex.phpファイルの require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php'; ではなく require_once CLASS_REALDIR . 'data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php'; にすれば良いということでしょうか? |
|
PWS |
投稿日時: 2012/7/6 15:05
対応状況: −−−
|
一人前 登録日: 2012/1/23 居住地: Itami Hyogo 投稿: 141 |
Re: ブロックの追加について えーと、確認しますと、親記事のファイルの配置(ディレクトリ)は正しくなくて、上記で書かれているファイルの配置(ディレクトリ)が正しい、ということでしょうか?
それから2番目のご回答で「LC_Page_FrontParts_Bloc_UserRecommend_Ex.php」の中身を二つ貼り付けていただいてますが、これ、中身が全く同じに見えるのですが、どちらがclassディレクトリでどちらがclass_extendディレクトリのファイルの中身でしょうか。 どちらも require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php'; と書かれているところをみると、たぶんこれはclass_extendsのblocディレクトリにあるファイルなんじゃないかなあ、と思うのですが。 失礼しました、これは私の見間違いです。
|
PWS |
投稿日時: 2012/7/6 15:19
対応状況: −−−
|
一人前 登録日: 2012/1/23 居住地: Itami Hyogo 投稿: 141 |
Re: ブロックの追加について エラーメッセージからすると、ファイルの配置が違うからrequireするファイルがない、と怒られているようですが。
とりあえず、ソースを順番に追っかけます。 まずは user_recommend.php このファイルのrequire文は以下の通り。 require_once CLASS_EX_REALDIR . 'page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php'; ちなみにCLASS_EX_REALDIRはclass_extendsディレクトリへのパス(/data/class_extends)の定数です。 つまり /data/class_extends/page_extends/frontparts/bloc の下にある LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ファイルを呼び出しています。 で、その呼び出されたファイル LC_Page_FrontParts_Bloc_UserRecommend_Ex.php のdequire文は require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php'; こちらの示しているのは /data/class/pages/frontparts/blocディレクトリの下の LC_Page_FrontParts_Bloc_UserRecommned.php を読み込んでます。 LC_Page_FrontParts_Bloc_UserRecommned.phpのrequire文は require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; で、/data/class/pages/frontparts/blocの下の LC_Page_FrontParts_Bloc.php を読み込んでいます。 これらの配置が正しく行われているのであれば、あとはDB側の問題ですね。 DBのmtb_bloc(だったと思うのですが、うろ覚えでごめんなさい)に値の登録はされていますでしょうか?
|
ゲスト |
投稿日時: 2012/7/6 16:45
対応状況: −−−
|
Re: ブロックの追加について 申し訳有りません。
・html/frontparts/bloc/user_recommend.php ・data/class_extends/page_extends/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ・data/class/page/LC_Page_FrontParts_Bloc_UserRecommend.php ・data/Smarty/templates/****/frontparts/Bloc/user_recommend.tpl ではなく、 ・/frontparts/bloc/user_recommend.php ・/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php ・/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php ・/data/Smarty/templates/****/frontparts/bloc/user_recommend.tpl でした。 PC上のxampp環境でサイトを作成中なので、こいう状態です。 /xampp/htdocs/eccube/frontparts/bloc/user_recommend.php /xampp/htdocs/eccube/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommned.php /xampp/htdocs/eccube/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_UserRecommend_Ex.php /xampp/htdocs/eccube/data/Smarty/templates/****/frontparts/bloc/user_recommend.tpl |
|
ゲスト |
投稿日時: 2012/7/6 16:57
対応状況: −−−
|
Re: ブロックの追加について データベースはphpMyAdminを使用し作業しました。
方法は、install/insert_data.sql内の INSERT INTO dtb_bloc (device_type_id, bloc_id, bloc_name, tpl_path, filename, create_date, update_date, php_path, deletable_flg) VALUES (10, 9, '【ヘッダー】ログイン', 'login_header.tpl', 'login_header', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'frontparts/bloc/login_header.php', 0); を INSERT INTO dtb_bloc (device_type_id, bloc_id, bloc_name, tpl_path, filename, create_date, update_date, php_path, deletable_flg) VALUES (10, 10, 'おすすめ商品(オリジナル)', 'user_recommend.tpl', 'user_recommend', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'frontparts/bloc/user_recommend.php', 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 28, 1, 3, 1, 0); を INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 29, 1, 10, 1, 0); にそれぞれ変更し、phpMyAdminにて、dtb_blocとdtb_blocpositionに追加しました。 ただ… dtb_blocpositionのbloc_idがよくわからず10としておきました。 |
|
PWS |
投稿日時: 2012/7/6 17:11
対応状況: −−−
|
一人前 登録日: 2012/1/23 居住地: Itami Hyogo 投稿: 141 |
Re: ブロックの追加について アップしていただいたソースを見ていて気が付きました。
LC_Page_FrontParts_Bloc_UserRecommned.php 綴りがファイル名と違いますね(^^;
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |