FastComments.com

Dodajte komentare na tečajeve ThriveCart Learn+

S FastCommentsom možemo jednostavno dodati komentare uživo u bilo koji ThriveCart Learn+ tečaj.

Ako imate bilo kakvih problema s postavkama, FastComments podrška također može pružiti pomoć.

Imajte na umu da ovaj vodič zahtijeva FastComments račun. Preporučuje se da se prvo registrirate, a zatim se vratite ovdje. Ovdje možete stvoriti račun.

Korak 1: Pripremite tečaj Internal Link

Zbog dizajna ThriveCart Learn+, moramo dodati FastComments kod na svaku stranicu tečaja na kojoj želimo prikazivati komentare.

Možemo koristiti isti isječak koda na svakoj stranici, a zasebne niti komentara automatski će biti vezane uz svaku pojedinu stranicu.

Počet ćemo otvaranjem našeg tečaja u uređivaču i dodavanjem HTML bloka.

Na lijevoj strani trebali biste vidjeti opciju HTML bloka. Povucite ga na stranicu gdje želite prikazati komentare.

Otvorite tečaj i dodajte HTML blok
Otvorite tečaj i dodajte HTML blok

Sada odaberite novi HTML element. S lijeve strane pojavit će se blok u koji možemo zalijepiti naš kod.

Sada ste spremni za Korak 2.

Korak 2: Dodajte prilagođeni kod Internal Link

Za Korak 2 moramo kopirati naš isječak koda. Provjerite da linija 50 ne kaže "demo" - trebali biste osigurati da sadrži vaš tenant id. Trebao bi biti već popunjen za vas.

Sada kopirajmo naš ThriveCart-Learn-specifični FastComments isječak koda.

Prilično je velik, jer integracija s ThriveCart-om ima mnogo funkcija, pa samo kliknite gumb Copy u gornjem desnom kutu isječka koda:

ThriveCart Learn+ Komentari Kod
Copy Copy
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 (function () {
6 let attemptsRemaining = 10;
7
8 function tryLoad() {
9 const simpleSSO = {optedInNotifications: true, optedInSubscriptionNotifications: true};
10 let isAuthenticated = false;
11 let profileLink = document.querySelector('.thrivecart-courses-header-profile-link');
12 if (!profileLink) {
13 profileLink = document.querySelector('.thrivecart-courses-header-profile'); // class is different for preview.
14 }
15 // broad email input field selector incase ThriveCart changes id.
16 const emailInputField = document.querySelector('input[type=email]');
17 if (emailInputField && emailInputField.value) {
18 isAuthenticated = true;
19 simpleSSO.email = emailInputField.value;
20 } else if (profileLink && !profileLink.innerText.includes('John Smith')) { // allow preview to work - no email available.
21 attemptsRemaining--;
22 if (!attemptsRemaining) {
23 return console.error('Could not load FastComments - could not determine user information (email). Please reach out to FastComments support.');
24 }
25 console.warn('FastComments: No user email found - waiting and trying again.');
26 return setTimeout(tryLoad, attemptsRemaining < 5 ? 3000 : 100); // increase wait time after 5 attempts incase slow internet.
27 }
28 if (profileLink) {
29 // use raw "img" query incase ThriveCart changes image class selector.
30 const avatarImg = profileLink.querySelector('img');
31 if (avatarImg && avatarImg.src) {
32 isAuthenticated = true;
33 simpleSSO.avatar = avatarImg.src;
34 }
35 // use innerText incase ThriveCart changes how profile name is displayed.
36 if (profileLink.innerText) {
37 isAuthenticated = true;
38 simpleSSO.username = profileLink.innerText;
39 } else {
40 const bold = profileLink.querySelector('b');
41 if (bold && bold.innerText) {
42 isAuthenticated = true;
43 simpleSSO.username = bold.innerText;
44 }
45 }
46 } else {
47 if (!attemptsRemaining) {
48 return console.error('Could not load FastComments - could not determine user information (user name/avatar). Please reach out to FastComments support.');
49 }
50 console.warn('FastComments: No user profile info found - waiting and trying again.');
51 attemptsRemaining--;
52 return setTimeout(tryLoad, attemptsRemaining < 5 ? 3000 : 100); // increase wait time after 5 attempts incase slow internet.
53 }
54
55 let url;
56 const selectedNavLink = document.querySelector('.tcc-browse-lesson.active a');
57
58 if (selectedNavLink) {
59 // sometimes TC uses multiple links the same page, so let's de-dupe them.
60 url = getPathnameFromUrl(selectedNavLink.href);
61 } else {
62 // trim marketing parameters and domain name
63 url = window.location.pathname;
64 }
65
66 if (url) {
67 url = url.replace('/starte-hier', '');
68 url = url.replace('/start-here', '');
69 }
70
71 FastCommentsUI(document.getElementById('fastcomments-widget'), {
72 tenantId: 'demo',
73 urlId: url,
74 simpleSSO: isAuthenticated ? simpleSSO : null
75 });
76 }
77
78 tryLoad();
79
80 function getPathnameFromUrl(url) {
81 try {
82 const parsedUrl = new URL(url);
83 // trim marketing parameters and domain name
84 return parsedUrl.pathname;
85 } catch (error) {
86 console.error("Invalid URL", url, error);
87 return window.location.pathname; // default to current, so at least it works sometimes
88 }
89 }
90
91 })();
92</script>
93

Sada ga zalijepite u blok koda s lijeve strane u ThriveCart uređivaču. Trebalo bi izgledati ovako:

Kod Dodan
Kod Dodan

To je to! Sada samo trebamo objaviti:

Objavi
Objavi

To je to! Sada biste trebali vidjeti okvir za komentare na svom tečaju kada pregledavate, a stvarni korisnici će moći ostavljati komentare bez prijave ili ponovnog unosa korisničkog imena/emaila.

Napomena o testiranju!

Ako imate onemogućeno anonimno komentiranje, što je zadano, nećete moći ostavljati komentare u Preview načinu kao korisnik John Smith. Dobit ćete grešku autentifikacije jer zadani korisnik John Smith nema email. Ako želite testirati, preporučujemo da koristite kupon kod i prođete kroz svoju stranicu kao stvarni korisnik.

Uspjeh Internal Link

Uspjeh! Sada biste trebali vidjeti FastComments widget za komentare.

Uspjeh!
Uspjeh!

Čestitamo na postavljanju FastComments s ThriveCartom! Ako ste naišli na Domain Error, ili želite naučiti kako prilagoditi područje za komentare, čitajte dalje!

Prilagodba Internal Link

FastComments je dizajniran da se prilagodi vašoj stranici.

Ako želite dodati prilagođene stilove ili podesiti konfiguraciju, Pogledajte našu dokumentaciju za prilagodbu i konfiguraciju da saznate kako.