如何在 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 代码。
我想在 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 代码。