バージョン選択

フォーラム

メニュー

オンライン状況

83 人のユーザが現在オンラインです。 (71 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 82
renew もっと...

サイト内検索

質問 > フロント機能 > ブロックの追加について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 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

が開けません

とありますね。

配置しているディレクトリが指定しているディレクトリと違うので、ソースの記述を現状にあわせるか、ファイルの配置を変えるかどちらかだと思います。


----------------
PWS

新しいバージョンは未経験ゆえアイデア出し程度にとどめます。
困ったらエディタでgrep推奨。

解決したら解決済みにすると喜ばれます。

★基礎的なことはEC-CUBEの学校をおすす

ゲスト
投稿日時: 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内にありませんか?


----------------
PWS

新しいバージョンは未経験ゆえアイデア出し程度にとどめます。
困ったらエディタでgrep推奨。

解決したら解決済みにすると喜ばれます。

★基礎的なことはEC-CUBEの学校をおすす

ゲスト
投稿日時: 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


引用:

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内にありませんか?

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

新しいバージョンは未経験ゆえアイデア出し程度にとどめます。
困ったらエディタでgrep推奨。

解決したら解決済みにすると喜ばれます。

★基礎的なことはEC-CUBEの学校をおすす

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(だったと思うのですが、うろ覚えでごめんなさい)に値の登録はされていますでしょうか?



----------------
PWS

新しいバージョンは未経験ゆえアイデア出し程度にとどめます。
困ったらエディタでgrep推奨。

解決したら解決済みにすると喜ばれます。

★基礎的なことはEC-CUBEの学校をおすす

ゲスト
投稿日時: 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


綴りがファイル名と違いますね(^^;


----------------
PWS

新しいバージョンは未経験ゆえアイデア出し程度にとどめます。
困ったらエディタでgrep推奨。

解決したら解決済みにすると喜ばれます。

★基礎的なことはEC-CUBEの学校をおすす

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,299名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.