Как добавить атрибуты HTML в сгенерированный виджет из Victoire
Я хотел бы добавить атрибут "onclick" в виджет кнопок, сгенерированный Victoire CMS, для отслеживания событий щелчка GoogleAnalytics. Как мне это сделать?
ура
2 ответа
Итак, я полагаю, вы говорите здесь о кнопке виджета.
Не планируется разрешать пользователям добавлять столько атрибутов, сколько они хотят в этом виджете. Однако у вас есть несколько решений.
1 - использовать виджет рендеринга (рекомендуется)
Замените ваш Button Widget на Render Widget и вызовите маршрут из вашего контроллера приложения. Вы можете добавить столько параметров, сколько хотите: в вашем случае может быть полезно изменить имя события Google Analytics в зависимости от создаваемой кнопки.
2 - Темы (самые быстрые)
Каждый виджет может быть переопределен с помощью пользовательской темы. Например, здесь вы можете создать файл app/Resources/VictoireWidgetButtonBundle/views/showGoogleAnalytics.html.twig
,
Скопируйте код из исходного представления vendor/victoire/button-widget/Victoire/Widget/ButtonBundle/Resources/views/show.html.twig
и измени его как хочешь.
Тогда вам просто нужно отредактировать свой виджет в режиме стиля и выбрать только что добавленную тему. Если ваша тема здесь не отображается, очистите кэш или убедитесь, что путь соответствует пути, описанному выше.
Однако этот метод добавляет новую доступную тему для всех ваших кнопок, и это может привести к ошибкам, если ваш клиент попытается применить эту тему в другой кнопке. Вот почему мы рекомендуем первое решение.
3 - использовать виджет HTML (быстро и грязно)
HTML Widget позволит вам добавить свой собственный HTML-код.
Вы можете использовать это:
<button onclick="myFunction()">Click me</button>
myFunction () - это функция в javascript, которая будет выполняться при нажатии кнопки.
Каждый атрибут может быть добавлен setAttribute("attribute", "value");