php - 如何在 Pimcore 中自定义区域块的图标
问题描述
我工作的公司使用Pimcore 6制作网站。在管理面板中编辑页面时,您可以添加areablocks
到您的内容中。当你点击加号时,你可以添加一个新的areablock
,我注意到areablocks
他们的名字旁边有一个随机图标。我认为这是因为创建它们的人懒得创建或添加正确的。
在查看了Pimcore网站上的官方DEMO之后。我注意到他们也有随机图标。areablocks
我想知道是否可以自定义这些?
在做了一些研究之后,似乎可以通过将 a 添加icon.png
到您的 areablock 的文件夹中来实现。
这就是我尝试过的。但随机图标仍在显示。我的自定义图标被忽略了。有人知道我在做什么错吗?
解决方案
将图标粘贴到视图中没有帮助(或者是一些错误信息)。当你注册一个积木并检查你的方法时,AbstractTemplateAreabrick
你会注意到它有一些类getIcon()
。如果您想设置自定义图标,这是您必须覆盖的方法。
定义这样的AreabrickInterface
方法:
/**
* Icon as absolute path, e.g. /bundles/websitedemo/img/areas/foo/icon.png
*
* @return string|null
*/
public function getIcon();
需要一个绝对图像 URL。就我而言,我只是用 base64 .svgs 来做 - 这是一个工作示例:
class Accordion extends AbstractAreabrick
{
/**
* {@inheritdoc}
*/
public function getName()
{
return $this->translator->trans('Accordion');
}
/**
* {@inheritdoc}
*/
public function getDescription()
{
return $this->translator->trans('for collapsed contents');
}
public function getIcon() {
return "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiBoZWlnaHQ9IjMycHgiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMycHgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnIGlkPSJQaWN0dXJlIj48cGF0aCBkPSJNMjguNzEzLDIuNDIySDMuMjg3Yy0wLjU3LDAtMS4wMzcsMC40NjgtMS4wMzcsMS4wMzh2MjUuMDc5YzAsMC41NywwLjQ2NywxLjAzOCwxLjAzNywxLjAzOGgyNS40MjYgICBjMC41NywwLDEuMDM3LTAuNDY4LDEuMDM3LTEuMDM4VjMuNDZDMjkuNzUsMi44OSwyOS4yODMsMi40MjIsMjguNzEzLDIuNDIyeiBNMjYuODIyLDIyLjk3MUg0Ljg3NVY1LjIyMWgyMS45NDdWMjIuOTcxeiIgZmlsbD0iIzUxNTE1MSIvPjxjaXJjbGUgY3g9IjkuMTA0IiBjeT0iOS43NSIgZmlsbD0iIzUxNTE1MSIgcj0iMy4wNDgiLz48cGF0aCBkPSJNMjAuMDAyLDExLjMwMWMtMC41MzYtMC45Ni0xLjQ1My0wLjk4My0yLjAzNy0wLjA1bC0yLjg3MSw0LjU4N2MtMC41ODQsMC45MzMtMS43NDcsMS4yMjktMi41ODUsMC42NTggICBjLTAuODM5LTAuNTcxLTIuMTA2LTAuMzUyLTIuODE4LDAuNDg2bC0yLjg2LDMuMzcxYy0wLjcxMiwwLjg0LTAuMzk0LDEuNTI1LDAuNzA2LDEuNTI1aDE2LjM3OGMxLjEsMCwxLjU2MS0wLjc4NSwxLjAyNC0xLjc0NiAgIEwyMC4wMDIsMTEuMzAxeiIgZmlsbD0iIzUxNTE1MSIvPjwvZz48L3N2Zz4=";
}
}
推荐阅读
- php - 有没有办法从 Symfony 中的特定表加载角色?
- python - 在 Python3 上使用 beautifulsoup4 从多个 URL 中提取 img src 时遇到问题
- android - Android R8 不保留 FragmentContainerView 中使用的片段
- vb.net - opendialog 显示一个文件并使用复选框 vb.net 保存它
- javascript - 汇总 - 不打包整个仓库(缺少子组件)
- javascript - 如何对 js 对象进行字符串化,以便在通过 Socket.io 发送时可以使用多个双引号
- asp.net-core - 带有 Sustainsys Saml2 的 ASP.NET 身份 - 如何保留 ExternalLoginInfo 声明?
- elasticsearch - 需要一个 Elasticsearch 查询,将结果限制为在一个字段中具有相同值但在另一个字段中具有不同值的结果
- scala - 如何多次重复等待?
- c - 为什么在将整数读入 C 中的数组时出现分段错误?