Du musst diese Datei nur einmal erstellen. Sobald sie erstellt ist, kannst du sie für alle Elemente wiederverwenden, die du auf deiner Framer-Website tracken möchtest.
Bevor du das klassenbasierte Tracking auf Framer nutzen kannst, musst du diese Schritte einmalig durchführen.
Klicke im Framer Designer auf ein beliebiges Element, das du tracken möchtest
Scrolle im rechten Panel nach unten zum Bereich Code Overrides und erweitere ihn
Klicke im Feld file auf das Dropdown-Menü, wähle New file, benenne dein Override (z. B. PixelFlowClasses) und klicke auf Create
Lösche den erstellten Inhalt und ersetze ihn durch den folgenden Code (WICHTIG – drücke auf die Schaltfläche zum Kopieren oder erweitere ihn und wähle alles aus)
import type { ComponentType } from 'react'; export function AddPaymentInfo(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-pymt-001-pf') : (props.className = 'action-btn-pymt-001-pf'); return <Component {...props} />; }; } export function Subscribe(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-sub-002-pf') : (props.className = 'action-btn-sub-002-pf'); return <Component {...props} />; }; } export function Contact(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-cntct-003-pf') : (props.className = 'action-btn-cntct-003-pf'); return <Component {...props} />; }; } export function InitiateCheckout(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-buy-004-pf') : (props.className = 'action-btn-buy-004-pf'); return <Component {...props} />; }; } export function AddToCart(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-cart-005-pf') : (props.className = 'action-btn-cart-005-pf'); return <Component {...props} />; }; } export function AddToWishlist(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-wl-006-pf') : (props.className = 'action-btn-wl-006-pf'); return <Component {...props} />; }; } export function CompleteRegistration(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-reg-007-pf') : (props.className = 'action-btn-reg-007-pf'); return <Component {...props} />; }; } export function CustomizeProduct(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-cstm-008-pf') : (props.className = 'action-btn-cstm-008-pf'); return <Component {...props} />; }; } export function Donate(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-don-009-pf') : (props.className = 'action-btn-don-009-pf'); return <Component {...props} />; }; } export function Lead(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-lead-011-pf') : (props.className = 'action-btn-lead-011-pf'); return <Component {...props} />; }; } export function StartTrial(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-trial-012-pf') : (props.className = 'action-btn-trial-012-pf'); return <Component {...props} />; }; } export function SubmitApplication(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-submit-013-pf') : (props.className = 'action-btn-submit-013-pf'); return <Component {...props} />; }; } export function SearchInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-inpt-srch-014-pf') : (props.className = 'action-inpt-srch-014-pf'); return <Component {...props} />; }; } export function SearchButton(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-srch-015-pf') : (props.className = 'action-btn-srch-015-pf'); return <Component {...props} />; }; } export function FindLocationInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-inpt-loc-016-pf') : (props.className = 'action-inpt-loc-016-pf'); return <Component {...props} />; }; } export function FindLocationButton(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-loc-017-pf') : (props.className = 'action-btn-loc-017-pf'); return <Component {...props} />; }; } export function Purchase(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-plc-ord-018-pf') : (props.className = 'action-btn-plc-ord-018-pf'); return <Component {...props} />; }; } export function ViewContent(Component): ComponentType { return (props) => { props.className ? (props.className += ' action-btn-vc-019-pf') : (props.className = 'action-btn-vc-019-pf'); return <Component {...props} />; }; } export function ProductsListContainer(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-chk-itm-ctnr-pf') : (props.className = 'info-chk-itm-ctnr-pf'); return <Component {...props} />; }; } export function ProductsListTotalPrice(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-totl-amt-pf') : (props.className = 'info-totl-amt-pf'); return <Component {...props} />; }; } export function ProductContainer(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-chk-itm-pf') : (props.className = 'info-chk-itm-pf'); return <Component {...props} />; }; } export function ProductId(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-itm-id-pf') : (props.className = 'info-itm-id-pf'); return <Component {...props} />; }; } export function ProductPrice(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-itm-prc-pf') : (props.className = 'info-itm-prc-pf'); return <Component {...props} />; }; } export function ProductQuantity(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-itm-qnty-pf') : (props.className = 'info-itm-qnty-pf'); return <Component {...props} />; }; } export function FormContainer(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-frm-cntr-pf') : (props.className = 'info-frm-cntr-pf'); return <Component {...props} />; }; } export function FormValueOrPrice(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-val-pf') : (props.className = 'info-val-pf'); return <Component {...props} />; }; } export function FormFullNameInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-cust-full-name-pf') : (props.className = 'info-cust-full-name-pf'); return <Component {...props} />; }; } export function FormFirstNameInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-cust-fn-pf') : (props.className = 'info-cust-fn-pf'); return <Component {...props} />; }; } export function FormLastNameInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-cust-ln-pf') : (props.className = 'info-cust-ln-pf'); return <Component {...props} />; }; } export function FormEmailInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-cust-em-pf') : (props.className = 'info-cust-em-pf'); return <Component {...props} />; }; } export function FormPhoneInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-cust-ph-pf') : (props.className = 'info-cust-ph-pf'); return <Component {...props} />; }; } export function FormSearchLocationInput(Component): ComponentType { return (props) => { props.className ? (props.className += ' info-srch-ctnr-pf') : (props.className = 'info-srch-ctnr-pf'); return <Component {...props} />; }; }