コンテンツ管理のゴミ箱のプログレスインジケーターが完了しない

コンテンツ管理のゴミ箱が空の状態で、コンテンツ管理画面のゴミ箱をクリックするとプログレスインジケーターが表示されたままになります。ゴミ箱の中のコンテンツを空にした後にブラウザをリロードした場合も同様です。
記憶では、4.2.0ではその様なことはありませんでしたが、その後のいずれかのバージョンから現象は続いています。
ご確認よろしくお願いします。

【環境情報】
・baserCMSのバージョン:4.3.7.1
・レンタルサーバー名:ロリポップ
・使用テーマ:Omotenashi2
・PHPスキル(自己評価):E

ブラウザのデベロッパーツールにて、なにかエラーは出ていませんか?
同じバージョンで試してみると再現はしませんが、その現象すこし見覚えがある気が・・・

1 Likes

はい、それが何もでないんです。。。

ちなみに管理画面は、secondでもthirdでも、どちらでも同じ症状です。
再現しませんか。。。実は、こちらの環境では、複数のサイトで再現したので、てっきりコア側の問題かと思い込んでしまいました。
と言うことは、環境依存ですね、うちで入れているプラグインやらの。。。もう少し調査してみます。

すいません!まったくうっかり読み違えておりました。
ブラウザのデベロッパーツールのご指摘だったんですね、管理画面のデバッグモードと思っておりました。
で、Safariのデベロッパーツールで確認したところ、以下の様なエラー出ておりました。

1 Likes

むむむ。。
見覚えあるような。。。
jsファイルについて、読み込めていないものとかないですかね?

と思うんですけどねぇ。。。
というか、そもそも、意図的にゴミ箱にコンテンツを入れた上で、「ゴミ箱を空にする」と言う動作自体は問題なく完了するので、そういう事情ではない様に思うんですが。
で、その空になった状態で、たとえばブラウザをリロードすると、クルクル状態に。。。なので。
まぁ、ゴミ箱、開けなければいいだけなので、特に何の支障もないんですけどねw
ただ、ちょっと、気持ち悪かったので。
とりあえず、放置することにします^^;
お騒がせしてすいません。。。

1 Likes

app/webroot/theme/admin-third/js/admin/libs/jquery.bcTree.js
上記のファイルを開いていただいて、

$.bcTree.jsTree.settings.core.force_text = true;

上記のような記述があると思います。

if($.bcTree.jsTree) {
    $.bcTree.jsTree.settings.core.force_text = true;
}

上記のように書き換えると直りますでしょうか?

1 Likes

それか、同じファイルの

_init: function() {

という行の直下に、

if (!$('#ContentsTreeList').length) {
    return false;
}

上記のような記述を追記してみてください。こっちのほうがいいと思います。

1 Likes

yamamoto様
アドバイスありがとうございます。
先にご指摘いただいた内容を該当する(admin-secondを利用しているので、js/admin/libs/jquery.bcTree.jsを)ファイルに書き換えたところ、無事に不具合解消できました。
後にご指摘の内容についても、これから試してみます。
後ほど、レポートさせていただきます。

yamamoto様
後にご指摘いただいた内容をテストしたところ、問題なく現象が解消されました。
先のテストと同様、admin-secondを利用しておりますので、js/admin/libs/jquery.bcTree.jsファイルを対象として、142行目に以下の様に追記しました。

/**
 * ツリーを初期化する
 */
	_init: function() {
		if (!$('#ContentsTreeList').length) {
			return false;
		}

admin-thirdに関しても、テストしたいところなのですが、一度、admin-thirdに管理画面を変更すると、ルートのjsフォルダ内のadmin フォルダ以下がざっくり削除されてしまうため、テストできておりません。申し訳ありません。。。

アドバイスありがとうございました、助かりました!

1 Likes