提问人:Saturn 提问时间:3/5/2017 最后编辑:PekkaSaturn 更新时间:3/7/2017 访问量:171
如何删除包含破坏 C5 接口的错误 JavaScript 的块?
How can I delete a block that contains faulty JavaScript breaking the C5 interface?
问:
我正在处理位于页脚的 Concrete5 中的 HTML 块。我做了一个 javascript 调用 - 不太记得了,但我认为它引用了 jQuery 或 Google Maps API。无论如何,现在该块不会显示,奇怪的是,我现在完全无法修改/添加/删除块。我很确定这是因为它正在进行的 javascript 调用,但我无法修改或删除该块来解决问题。
我现在应该做什么?我尝试在浏览器中禁用javascript,但当然这也不允许我修改块。
答:
我还不太了解 5.8+,但这可能无法从 UI 中修复。
如果错误位于全局区域中,则最好的办法可能是打开模板,更改使用和显示全局区域的区域名称,然后从头开始重新创建它。
你会寻找这样的东西:
$a = new GlobalArea("Footer Nav");
并更改全局区域的名称,从而创建一个新名称。
如果这不是一个选项,您可能不得不求助于通过 API 删除(或更改)有故障的块。
根据我的经验,获取具有 C5 引导的空白页面的最简单方法是创建自定义 Dashboard 页面:
对于 Concrete5 开发人员来说,创建自己的 Dashboard 页面是一项常见的任务。仪表板页面只是位于“single_pages/dashboard”目录中的单个页面。将它们添加到该位置后,它们会自动显示在仪表板中。
现在,关于如何编辑或删除区域内的块,我没有完整的配方,但这个显示高级区域操作的示例页面应该可以帮助您入门。
的 API 文档在这里,在这里(注意 / 方法。GlobalAreas
Block
delete()
deleteBlock()
评论
footer.php
仅供参考,尽管标记为最佳解决方案,但它将数据留在数据库中,这些数据将永远保留在那里,并迫使您更改区域名称,这可能一次没问题,但如果一次又一次地发生,则不行。
由于这是一个 HTML 块,最好的方法是转到数据库的界面,可能是 phpMyAdmin,进入表“btContentLocal”并搜索您在 HTML 块中输入的错误代码,然后修复或删除它。
就这样,你恢复了正常,你不会留下东西,你可以保持你的区域原样
评论
But if the block is in the footer, it means it affects every single page since the footer appears in all?
啊,我明白了,我明白了! 一秒钟,它应该在文档中......这是一个全球性区域吗?(如果这些仍然存在于 5.8+ 中,我的所有安装仍然是 5.7)。I'm curious about doing this using the API