如何在 Liferay 的网页内容中使用 svg 图标
How to use svg icons in a web content of Liferay
我使用 liferay 7.1 (ga2) 并且我正在开发一个主题(使用主题生成器)。我对网页内容中的 svg 图标有疑问。
我添加了一个目录 images(在 /src 中),其中包含一个 svg 目录,该目录又包含(一个 sprite)svg 图标。
在网页内容中,我想调用这些 svg 图标,例如使用 HTML 语句:
<svg class="icon">
<use xlink:href="./images/svg/sprite.svg#icona1"></use>
</svg>
我尝试了不同的路径 (href)。主要问题是,只要我保存网页内容,Liferay 就会自动将前面的代码翻译成:
<svg class="icon">
</svg>
因此,删除相对于路径('use'标签)的部分。当然,图标是不可见的。
为什么?
我应该怎么做才能在网页内容中包含 svg 图标?
谢谢
弗朗切斯科
您的问题与路径或是否使用 Liferay 标签无关(如果通过编辑器将标签包含在这些项目中,标签甚至不会产生任何影响)。这似乎是一个简单的编辑器问题,这是您问题的根本原因。
您需要将您的编辑器配置为接受 use
标签,并避免在保存之前清理网页内容项目时将其删除。
https://www.e-systems.tech/blog/-/blogs/editor-configuration-contributor
@Victor 是正确的。
我还要补充一点,这些是所见即所得的编辑器,而不是 HTML 编辑器。源确实不应该手动编辑。源视图只是为了方便。
如果您想要显式标记,请使用 Web Content Structure。
好的,我解决了。
问题不在于编辑器,也不在于liferay。
问题是,如果我编译和构建 bootstrap 主题,在 /dist 目录(bootstrap 主题)中我有 sprite.svg,而在 /src(的bootstrap theme)我有单独的图标。
我加载了单独的图标。
相反,如果我将 sprite.svg(bootstrap 主题)复制到 /src/images/svg(liferay 主题)中,那么一切正常。也来自网络内容。
谢谢大家
弗朗切斯科
我使用 liferay 7.1 (ga2) 并且我正在开发一个主题(使用主题生成器)。我对网页内容中的 svg 图标有疑问。
我添加了一个目录 images(在 /src 中),其中包含一个 svg 目录,该目录又包含(一个 sprite)svg 图标。
在网页内容中,我想调用这些 svg 图标,例如使用 HTML 语句:
<svg class="icon">
<use xlink:href="./images/svg/sprite.svg#icona1"></use>
</svg>
我尝试了不同的路径 (href)。主要问题是,只要我保存网页内容,Liferay 就会自动将前面的代码翻译成:
<svg class="icon">
</svg>
因此,删除相对于路径('use'标签)的部分。当然,图标是不可见的。
为什么? 我应该怎么做才能在网页内容中包含 svg 图标?
谢谢
弗朗切斯科
您的问题与路径或是否使用 Liferay 标签无关(如果通过编辑器将标签包含在这些项目中,标签甚至不会产生任何影响)。这似乎是一个简单的编辑器问题,这是您问题的根本原因。
您需要将您的编辑器配置为接受 use
标签,并避免在保存之前清理网页内容项目时将其删除。
https://www.e-systems.tech/blog/-/blogs/editor-configuration-contributor
@Victor 是正确的。
我还要补充一点,这些是所见即所得的编辑器,而不是 HTML 编辑器。源确实不应该手动编辑。源视图只是为了方便。
如果您想要显式标记,请使用 Web Content Structure。
好的,我解决了。
问题不在于编辑器,也不在于liferay。
问题是,如果我编译和构建 bootstrap 主题,在 /dist 目录(bootstrap 主题)中我有 sprite.svg,而在 /src(的bootstrap theme)我有单独的图标。 我加载了单独的图标。
相反,如果我将 sprite.svg(bootstrap 主题)复制到 /src/images/svg(liferay 主题)中,那么一切正常。也来自网络内容。
谢谢大家
弗朗切斯科