如何在 Victoire 生成的小部件中添加 HTML 属性

How to add HTML attributes in generated widget from Victoire

我想在 Victoire CMS 生成的按钮小部件中添加一个 "onclick" 属性,以便通过 GoogleAnalytics 跟踪点击事件。我该怎么做?

干杯

你可以用这个:

<button onclick="myFunction()">Click me</button>

myFunction() 是 javascript 中的一个函数,当您单击按钮时它会完成。

每个属性都可以通过setAttribute("attribute", "value");

添加

所以我想你在这里谈论的是 Widget Button

不打算允许用户在此小部件上添加任意数量的属性。但是你有多种解决方案。

1 - 使用 Render Widget(推荐)

用渲染小部件替换您的按钮小部件,并从您的应用程序控制器调用路由。您可以根据需要添加任意数量的参数:在您的情况下,根据您创建的按钮更改 Google Analytics 事件名称可能很有用。

2 - 主题(最快)

每个小部件视图都可以使用自定义主题覆盖。例如,您可以在此处创建文件 app/Resources/VictoireWidgetButtonBundle/views/showGoogleAnalytics.html.twig.

复制原始视图中的代码vendor/victoire/button-widget/Victoire/Widget/ButtonBundle/Resources/views/show.html.twig并根据需要进行更改。

然后您只需在样式模式下编辑您的小部件和 select 您刚刚添加的主题。如果您的主题没有出现在这里,请清除缓存或检查路径是否与上述路径相对应。

但是,此方法会为您的所有按钮添加一个新的可用主题,如果您的客户端尝试在另一个按钮中应用此主题,它可能会导致错误。这就是我们推荐第一种解决方案的原因。

3 - 使用 HTML Widget(快速且肮脏)

HTML 小部件允许您添加自定义 HTML 代码。