如何删除包含错误 JavaScript 破坏 C5 接口的块?

How can I delete a block that contains faulty JavaScript breaking the C5 interface?

我正在处理位于页脚的 Concrete5 中的 HTML 块。我打了一个 javascript 电话 - 不太记得了,但我认为它引用了 jQuery 或 Google 地图 API。无论如何,现在该块不会显示,奇怪的是,我现在完全无法 modify/add/remove 块。我很确定这是因为它正在调用 javascript,但我无法修改或删除块来解决问题。

我现在该怎么办?我尝试在我的浏览器中禁用 javascript 但当然这也不会让我修改块。

我还不太了解 5.8+,但这可能无法在 UI.

中修复

如果错误出在全局区域,最好的办法可能是打开模板,更改使用和显示全局区域的区域名称,然后从头开始重新创建。

你会寻找这样的东西:

$a = new GlobalArea("Footer Nav");

并更改全局区域的名称,从而创建一个新区域。

如果那不是一个选项,您可能不得不通过 API.

删除(或更改)错误的块。

根据我的经验,获得引导了 C5 的空白页面的最简单方法是 creating a custom Dashboard page:

It's a common task for a Concrete5 developer to create their own Dashboard pages. Dashboard pages are just single pages located inside the "single_pages/dashboard" directory. Once they're added within that location, they automatically show up in the Dashboard.

现在,关于如何编辑或删除区域内的方块,我没有完整的方法,但this example page showing advanced area operations应该可以让你入门。

GlobalAreas 的 API 文档是 here, for Block here(注意 delete() / deleteBlock() 方法。)

仅供参考,虽然标记为最佳的解决方案有效,但它会在数据库中留下数据,这些数据将永远保留在那里,并迫使您更改您的区域名称,这可能一次没问题,但如果一次又一次发生就不行了。

因为那是一个 HTML 块,最好的方法是转到数据库的界面,可能是 phpMyAdmin,进入 table "btContentLocal" 并搜索有问题的您在 HTML 块中输入的代码然后修复或删除它。

就像你恢复正常一样,你没有留下任何东西,你的区域可以保持原样