Designer Contentブロック削除手順間違いによるエラー

2014年8月26日 at 7:44

Designer Contentを使ってブロックを作成し、不要になったので削除をしたのですが、手順を間違い、blocksディレクトリ内のフォルダをFTPで直接削除してしまいました。その後、編集画面からブロック追加をしようとするとエラーが表示され、全く作業ができなくなってしまいました。


表示されるエラーは以下の通りです。

Warning: require_once(/hoge/www/concrete/blocks/item_template_table/controller.php): failed to open stream: No such file or directory in /hoge/www/concrete/core/libraries/loader.php on line 217

Fatal error: require_once(): Failed opening required '/hoge/www/concrete/blocks/item_template_table/controller.php' (include_path='/hoge/www/libraries/3rdparty:/hoge/www/concrete/libraries/3rdparty:.:/usr/local/php/5.4/lib/php') in /hoge/www/concrete/core/libraries/loader.php on line 217


該当するファイルの217行目を確認したのですが対処法がわからず、再度Designer Contentからitem_template_tableのハンドル名でブロック作成を試みましたが「同じハンドル名が使われてるよ」と表示され、作成できませんでした。

phpMyadminからデータベースを覗いてみましたが、解決できずフォーラムに質問させてもらいました。この場合の対処方法を教えていただけないでしょうか?よろしくお願いします。


concrete5のバージョン:5.6.3.1
レンタルサーバー:さくらインターネットスタンダードプラン

タグ:

Re: Designer Contentブロック削除手順間違いによるエラー

2014年8月26日 at 8:11
concrete5ではブロックタイプやテーマなどFTPから削除することは想定されていません。
バックアップがあれば、そのままFTPでblocksフォルダにアップすればいいのですが、ない場合は、結構難しいです。
僕がやるならということでお話しします。未検証なのですみません。

1、designer content で ちがうハンドル名でブロックタイプを作成する。

2、作成したブロックタイプの該当項目を変更する。
ブロックタイプのフォルダ名を item_template_table に

controller.php
class ItemTemplateTableBlockController extends BlockController{
protected $btTable = 'btItemTemplateTable';

db.xml
<table name="btItemTemplateTable">
 

Re: Designer Contentブロック削除手順間違いによるエラー

2014年8月26日 at 8:13
あっ、ごめんなさい。1,2の間のブロックタイプのフォルダをコピーするを追加してください。
 

Re: Designer Contentブロック削除手順間違いによるエラー

2014年8月26日 at 8:38
acliss 19xxさん

おはようございます、朝から迅速な解答をありがとうございます!
ばっちり解決できました(^^)

基本の基本ができておりませんでした。
公式ガイドブックを再度熟読したいと思います。

ありがとうございました!