FastComments.com

Прилагођавања и конфигурација

Контекст

Овде ћете пронаћи детаљну документацију за све функције и подешавања које коментарски видгет подржава.

Ова документација покрива основне појмове и детаљно се бави сваком областом функционалности, укључујући упутства корак-по-корак и честе замке.

Прузиће се примери кода са истакнутим релевантним линијама. Снимци екрана страница за конфигурацију биће обезбеђени када је то примењиво.

Примери кода ће користити нашу vanilla JavaScript библиотеку, међутим опције конфигурације имају идентична имена у свим верзијама коментарског видгета (React, Vue и др.).

Већина конфигурација и функција описаних у овом водичу не захтева писање кода.

Приказивање истих коментара на различитим страницама Internal Link


Пошто параметар urlId омогућава да дефинишемо на коју страницу, односно који id, су везани коментари, можемо једноставно поставити urlId на исту вредност на тим страницама.

The Same Comments on Multiple Pages
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "urlId": "https://example.com/source-page"
8}];
9</script>
10

Прилагођени фонтови Internal Link

FastComments је дизајниран да се прилагоди, и фонт који наши видгети користе није изузетак.

Подразумевано, FastComments користи system font stack како би изгледао што боље на широком спектру уређаја.

Да бисте дефинисали сопствене фонтове, погледајте Документација о прилагођеном CSS-у.

Тамо ћете пронаћи начин да дефинишете прилагођени CSS, који ће вам омогућити да подесите жељене фонтове.

Како дефинисати фонт

Да бисте заменили фонт, препоручујемо да дефинишете ваш CSS користећи селекторе .fast-comments, textarea. На пример:

Пример прилагођеног спољног фонта
Copy CopyRun External Link
1
2@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
3.fast-comments, textarea {
4 font-family: 'Roboto', sans-serif;
5}
6

Подршка тамним позадинама (тамни режим) Internal Link

Подразумевано, FastComments видгет за коментаре ће аутоматски открити тамни режим на већини сајтова.

Када се открије тамни режим, FastComments ће променити црни текст на белој позадини у бели текст на црној позадини. И слике ће се такође променити.

При учитавању странице, видгет ће покушати да одреди колико је тамна позадина странице иза видгета за коментаре. То значи да страница може имати белу позадину, али ако поставите видгет за коментаре у контејнер са црном позадином, тамни режим би и даље требао бити аутоматски омогућен како би коментари били читљиви.

Међутим, механизам детекције, који се ослања на одређивање "осветљености", можда неће омогућити тамни режим када то желите. Да бисте га принудно укључили, поставите флаг hasDarkBackground на true на следећи начин:

Force Dark Background Mode
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "hasDarkBackground": true
8}];
9</script>
10

Повезивање коментара са страницама Internal Link

Када се шаљу е-поруке са обавештењима, или када се коментари приказују у корисничким интерфејсима као што је страница за модерацију, корисно је моћи повезати коментар са страницом на којој се налази.

Ако URL ID није увек прави идентификатор, онда морамо да сачувамо URL негде друго. Зато постоји својство "url", које је дефинисано на следећи начин.

Defining a Custom URL
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5"
8}];
9</script>
10

Чест случај употребе је повезивање нити коментара са идентификатором, као што је чланак, а затим повратно повезивање на одређену страницу, на пример:

Defining Custom URL and URL IDs together
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "url": "https://example.com/article-5",
8 "urlId": "article-5"
9}];
10</script>
11

URL се не уклања од уобичајених маркетиншких параметара. По подразумеваној вредности, шта год да је тренутни URL странице, то је URL који се чува уз коментар.

Одређивање коју страницу приказати Internal Link

При преузимању и приказивању коментара, видгет за коментаре мора знати са које странице да почне. Подразумевано, он почиње са прве странице и приказује само ту страницу.

Ако желите, тачно која страница треба да се прикаже може бити прослеђена видгету за коментаре као подешавање startingPage.

Specifying The Page to Render
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": 1
8}];
9</script>
10

Имајте у виду да бројеви страница почињу од нуле, тако да горе наведен пример приказује другу страницу.

Промена нити коментара без поновног учитавања странице Internal Link

Размотрили смо како је urlId идентификатор странице или чланка за који су коментари везани.

Такође, да резимирамо, ако није дефинисан, urlId ће по подразумеваној вредности бити URL текуће странице.

А шта је са SPA-овима, односно једностраничним апликацијама, где се страница или садржај за који су коментари везани мења динамички без поновног учитавања целе странице?

Angular, React, Vue, etc

Са нашим библиотекама као што су Angular и React, једноставно ажурирање urlId својства које се прослеђује видгету ће натерати видгет за коментаре да се освежи. Ово можете видети у акцији за React апликацију, на пример, овде.

VanillaJS

Ако користите VanillaJS библиотеку, то је мало компликованије јер нема фрејмворка као што су Angular или React који би управљао везивањем података или пропагацијом стања.

Када иницијализујете VanillaJS видгет, он враћа неке функције које могу бити позване да га ажурирају.

Ево функционалног примера где мењамо хеш странице и ажурирамо видгет за коментаре:

Пример промене хеша странице
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<button id="change-page"></button>
4<div id="fastcomments-widget"></div>
5<script>
6 (function fastCommentsMain() {
7 let config = {
8 tenantId: 'demo'
9 };
10 let instance = window.FastCommentsUI(document.getElementById('fastcomments-widget'), config);
11
12 let page = '#page-1';
13 function getNextPage() {
14 if (page === '#page-1') {
15 return '#page-2';
16 } else {
17 return '#page-1';
18 }
19 }
20
21 let button = document.getElementById('change-page');
22 function nextPage() {
23 page = getNextPage();
24 button.innerText = 'Go to ' + getNextPage();
25 window.location.hash = page;
26 let locationString = window.location.toString();
27
28 config.url = locationString; // Ажурирамо и url, тако да обавештења могу да упућују назад на исправну страницу
29 config.urlId = locationString;
30
31 instance.update(config);
32 }
33 nextPage();
34 button.addEventListener('click', nextPage);
35 })();
36</script>
37

Онемогућити преусмеравање слика Internal Link


Подразумевано, FastComments дозвољава корисницима да отпремају слике. Када корисник кликне на ту слику, FastComments ће, подразумевано, отворити нову картицу да би приказао слику у пуној величини. Постављање ове ознаке на true онемогућава то понашање:

Disable Image Redirect
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "disableImageRedirect": true
8}];
9</script>
10

Ако не намеравате сами да обрађујете кликове на слику (погледајте onImageClicked), препоручујемо да се ово комбинује са одговарајућим стиловањем које уклања визуелни утисак да је слика кликабилна.


Истакнути нове коментаре Internal Link

FastComments нуди неколико начина за истицање нових коментара.

Прво и најважније, подразумевано ће коментари који су покренули нотификацију у апликацији (одговори, одговори у истој дискусији или коментари на страници на коју сте претплаћени) аутоматски бити истакнути тако што ће кориснички аватар благо светлити. Боја се може прилагодити преко CSS-а користећи класу is-unread.

Коментари објављени у последњих 24 сата имају додељену класу 24hr која се може користити за стилизовање.

Коначно, сви нови коментари уживо који се појаве у корисничкој сесији биће истакнути неколико секунди помоћу анимације. Ово се постиже помоћу CSS класе is-live и такође се може прилагодити.

Шаблони е-поште Internal Link


Е-поруке које FastComments шаље вашим корисницима могу се прилагодити. Шаблон, логика и преводи могу се мењати. Текст се може прилагодити по локали, а изглед се може чак мењати по домену. Сазнајте више о прилагођеним шаблонима е-порука овде.


Постављање нових коментара уживо на дно Internal Link

По подразумеваној вредности, нови коментари уживо појављују се на врху листе коментара како се објављују у реалном времену.

Када је ова опција омогућена, нови коментари уживо ће се уместо тога додавати на дно листе. Ово утиче на то како се коментари појављују када се објављују уживо док корисници прегледају нит коментара.

New Live Comments to Bottom
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "newCommentsToBottom": true
8}];
9</script>
10

Када је ова поставка омогућена:

  • Нови коментари уживо које објаве други корисници појављиваће се на дну листе коментара
  • Корисници ће видети нове коментаре како се у реалном времену појављују испод постојећих коментара
  • Ово утиче само на ажурирања коментара уживо - не и на почетно учитавање странице
  • Ово може помоћи у одржавању тока читања када корисници прате дискусију

Имајте на уму да ова поставка утиче само на то где се нови коментари уживо смештају док стижу у реалном времену. Она не утиче на почетни редослед приликом учитавања странице.

Омогућавање бесконачног скроловања Internal Link

По подразумеваној вредности, FastComments видгет ће аутоматски прилагођавати вертикалну висину да уклопи све видљиве коментаре. Пагинација се остварује преко дугмета "Прикажи следеће" на крају тренутне странице, јер смо утврдили да је то интеракција која већини корисника делује најприродније.

Међутим, постоје случајеви када је пожељно бесконачно скроловање. На пример, ову функцију користимо у нашем Stream Chat производу.

Можемо сакрити дугмад "Прикажи следеће" и прећи на бесконачно скроловање тако што ћемо опцију enableInfiniteScrolling поставити на true:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true
8}];
9</script>
10

Ово такође захтева додатак прилагођеног CSS-а. Додајте прилагођени CSS за селектор .comments да бисте омогућили скроловање, на пример:

Омогућавање бесконачног скроловања
Copy CopyRun External Link
1
2.comments {
3 max-height: 500px;
4 overflow-y: auto;
5}
6

Пуни радни пример би изгледао овако:

Enabling Infinite Scrolling
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "enableInfiniteScrolling": true,
8 "customCSS": ".comments { max-height: 500px; overflow-y: auto; }"
9}];
10</script>
11

У горе наведеном примеру користимо својство customCSS, међутим препоручује се коришћење UI за конфигурацију видгета уместо тога из разлога перформанси. Погледајте документацију о прилагођеном CSS-у.

Приказ свих коментара одједном - онемогућите пагинацију Internal Link

Да бисте онемогућили пагинацију и само приказали све коментаре одједном, подесите startingPage на -1.

Render All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "startingPage": -1
8}];
9</script>
10

Забранити нове коментаре на првом нивоу Internal Link


Подешавање noNewRootComments на true ће узроковати да виџет сакрије област за одговор на коренски коментар, али и даље омогући корисницима да одговарају на подређене коментаре. На пример, можете ово условно поставити при учитавању странице да бисте само неким корисницима дозволили да остављају коментаре на највишем нивоу.

Prevent New Root Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "noNewRootComments": true
8}];
9</script>
10

Максимална дубина одговора Internal Link

Подразумевано, FastComments омогућава неограничено угњежђивање одговора, стварајући структуру нити у којој корисници могу неограничено одговарати на одговоре.

Опција maxReplyDepth вам омогућава да ограничите колико дубоко нити одговора могу да иду. Када се достигне максимална дубина, корисници више неће видети дугме за одговор на коментарима на том нивоу.

Limiting Reply Depth to 2 Levels
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "maxReplyDepth": 2
8}];
9</script>
10

Када је maxReplyDepth постављен на 2:

  • Корисници могу коментарисати на највишем нивоу (дубина 0)
  • Корисници могу одговарати на коментаре највишег нивоа (дубина 1)
  • Корисници могу одговарати на те одговоре (дубина 2)
  • Није дозвољено даље одговарање изван дубине 2

Постављање на 1 би омогућило само одговарање на коментаре највишег нивоа, стварајући плоснатију структуру дискусије.

Постављање maxReplyDepth на 0 би онемогућило све одговоре, дозвољавајући само коментаре највишег нивоа. Ако није наведено, одговори могу бити угњежђени без ограничења.

Преглед једнократне пријаве (SSO) Internal Link

SSO, или једнократно пријављивање, је скуп конвенција које се користе да омогуће вама или вашим корисницима да користе FastComments без потребе да направе још један налог.

Под претпоставком да не дозвољавате анонимно коментарисање, налог је потребан да би се коментарисало помоћу FastComments. Олакшавамо процес пријаве — корисник једноставно остави свој имејл када коментарише. Међутим, разумемо да чак и то представља додатну препреку коју неки сајтови желе да избегну.

Можемо да смањимо ту препреку тако што ћемо имати само један ток пријаве за цео ваш сајт.

How do I get it?

Сви типови налога тренутно добијају приступ SSO. Међутим, максималан број SSO корисника варира у зависности од вашег пакета. Као и код других функција, Pro планови и виши пружају директну развојну подршку.

Хајде да упоредимо опције, а затим да уђемо у детаље о свакој.

User and Comment Migrations

Када мигрирате са платформе која користи SSO попут Disqus-а, већ ћете имати кориснике и њихове коментаре.

Коментари се увозе као део миграције, било преко API-ја, нашег Import UI, или преко корисничке подршке. Import UI је пожељан ако подржава платформу са које мигрирате, јер укључује обраду грешака, екстракцију и отпремање аватара и медија, и систем за праћење пакетних задатака.

Сами корисници се додају аутоматски када први пут прегледају нити коментара. Као алтернатива, могу се унапред додати преко API-ја, али тај рад нема много предности.

Ако се коментари увезу, а SSO корисници се не додају ручно преко API-ја, онда ће коментари бити аутоматски повезани са налогом корисника први пут када се њихов налог креира када прегледају било коју нит коментара. Они ће тада моћи да управљају, уређују и бришу коментаре које су првобитно написали.

Аутоматска миграција се ради путем имејла или корисничког имена. Неке платформе не пружају имејлове при експорту, као Disqus, па у том случају користимо корисничко име.

  • Док год пошаљете поклапајуће корисничко име, и имејл у SSO payload-у, додаћемо имејл појединачним објектима коментара тако да обавештења и помињања функционишу.

Ако је пожељно да се ваши коментари и корисници увезу одједном, радите са подршком како бисте након увоза корисника преко API-ја преместили коментаре на одговарајуће налоге корисника.

Дакле, да резимирамо најлакши пут за миграцију:

  1. Импортујте коментаре.
    1. Аватари и други медији се аутоматски мигрирају ако користите Import UI у Manage Data -> Imports.
  2. Подесите Secure или Simple SSO.
  3. Нека се миграција догоди по кориснику аутоматски када се пријаве први пут.
    1. Ово обично додаје мање од секунде на време учитавања странице ако корисник има мање од 50k коментара.

WordPress Users

Ако користите наш WordPress додатак, онда нема потребе за писањем кода! Једноставно идите на страницу администрације додатка, кликните на SSO Settings, а затим Enable.

Ово ће вас одвести до чаробњака који ради једним кликом и који ће креирати ваш API кључ, послати га на вашу WordPress инсталацију и укључити SSO. Све смо то консолидовали у један клик дугмета за вас.

Имајте у виду да ако инсталирате додатак први пут, мораћете да завршите процес подешавања пре него што видите страницу администрације са дугметом SSO Settings.

WordPress SSO - Moderators

Имајте у виду да тренутно да би се ознака „Модератор“ показала поред ваших модератора када они коментаришу уз помоћ FastComments WordPress додатка, они такође морају бити додати као Модератор у FastComments контролној табли и имати верификован имејл.

Custom Integrations

За прилагођене интеграције постоје две опције.

Option One - Secure SSO

Код Secure SSO, FastComments зна да је корисник који коментарише, гласа и чита коментаре стварни корисник на вашем сајту.

Док год креирате валидан payload, корисник ће увек имати беспрекорно искуство коментарисања.

Код Secure SSO, SSO payload се креира на серверској страни користећи HMAC authentication и затим се прослеђује видгету на клијенту.

Код Secure SSO, кориснички налог је потпуно одвојен од остатка FastComments базе корисника. То значи да ако имамо два партнера Company A и Company B, сваки може имати SSO корисника са корисничким именом "Bob".

Requirements

  • Основно знање о развоју бекенда.
  • Основно знање о руковању тајним API кључевима.
  • Основно знање о развоју API-ја или серверском рендеровању.

Pros

  • Безбедно.
  • Беспрекорно искуство коментарисања.

Cons

  • Захтева развој на бекенду.

Updating User Data

Код Secure SSO, сваки пут када пошаљете sso user payload, ми ћемо ажурирати њихов налог са најновијим информацијама. На пример, ако корисник има корисничко име X, и ви пошаљете Y у SSO payload-у, њихово корисничко име ће постати Y.

Ако желите да уклоните вредности користећи овај приступ, поставите их на null (не undefined).

Secure SSO API

Такође пружамо API за интеракцију са SSO корисницима. Погледајте the docs.

Имајте на уму да када користите Secure SSO, корисници се аутоматски креирају у позадини приликом учитавања странице. Не морате масовно да увозите своје кориснике.

Option Two - Simple SSO

Алтернатива Secure SSO је да једноставно проследите информације о кориснику видгету за коментарисање.

Прослеђивање имејла код Simple SSO није обавезно, међутим без тога њихови коментари ће се приказивати као „Непотврђено“.

Напомена! Од почетка 2022. корисничка имена код Simple SSO не морају бити јединствена преко целог FastComments.com.

Идеално, Simple SSO би требало одабрати само приликом развоја на платформи која не пружа приступ бекенду.

Requirements

  • Основно знање о развоју на клијентској страни.
  • Морате знати барем имејл корисника.

Pros

  • Једноставно.
  • Сва активност се и даље верификује.
  • Корисник никада не уноси своје корисничко име или имејл.

Cons

  • Мање сигурно од Secure SSO јер payload на клијентској страни може бити измењен да постане било који корисник.

Simple SSO API

Корисници који су аутоматски креирани кроз Simple SSO ток се чувају као SSOUser објекти. Могу се приступити и управљати преко SSOUser API-ја. Погледајте the docs.

Прилагођене интеграције - једноставна једнократна пријава (SSO) Internal Link

Помоћу Simple SSO-а можемо дати коментарском видгету информације о кориснику тако да не морају да уносе корисничко име или имејл да би коментарисали.

Simple SSO се може конфигурисати на следећи начин:

Simple SSO
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "simpleSSO": {
8 "username": "Bob",
9 "email": "bob@example.com",
10 "avatar": "https://example.com/bob.png",
11 "websiteUrl": "https://example.com/profiles/bob",
12 "displayName": "Bob's Name",
13 "displayLabel": "VIP User",
14 "loginURL": "https://example.com/login",
15 "logoutURL": "https://example.com/logout",
16 "badgeConfig": {
17 "badgeIds": [
18 "badge-id-1",
19 "badge-id-2"
20 ],
21 "override": false
22 }
23 }
24}];
25</script>
26

Корисник ће бити пријављен, и у позадини ће бити креиран SSO корисник. Кориснику ће својство createdFromSimpleSSO бити постављено на true ако се повуче преко API-ја.

Напомене:

  • Е-пошта је јединствени идентификатор за Simple SSO.
  • Није обавезно доставити е-пошту уз Simple SSO, међутим по подразумеваној вредности њихови коментари ће се приказивати као "Непотврђено". Ако није достављена е-пошта, корисник не може бити потпуно аутентификован.
  • NEW Од јануара 2022: Корисничка имена не морају бити јединствена у оквиру целог fastcomments.com
  • Simple SSO може аутоматски да креира и ажурира SSO кориснике ако је обезбеђена е-пошта, и ако корисник није првобитно креиран помоћу Secure SSO.
  • Можете назначити значке за корисника помоћу својства badgeConfig. Низ badgeIds садржи ИД-ове значки које треба повезати са корисником. Ако је override постављен на true, то ће заменити све постојеће значке које се приказују на коментарима; ако је false, додаће их постојећим значкама.

Прилагођене интеграције - миграција са Disqus SSO Internal Link

Najveća razlika između Disqus и FastComments Secure SSO је што Disqus користи SHA1 за енкрипцију, док ми користимо SHA256. То значи да је миграција са Disqus једноставна - промените алгоритам хешовања који се користи са SHA1 на SHA256 и ажурирајте називе својстава која се прослеђују UI-у.

Прилагођене интеграције - миграција са Commento SSO Internal Link

Commento користи драстично другачији SSO приступ - они захтевају да имате endpoint који они позивају да би аутентификовали корисника. FastComments је обрнуто - једноставно енкодирајте и хеширајте информације о кориснику користећи ваш тајни кључ и проследите их.

Повратни позиви Internal Link

Све библиотеке за коментарски видгет (тренутно Angular, React, Vue) подржавају повратне позиве.

Повратни позиви се наводе у конфигурационом објекту, са истим сигнатурама за сваку библиотеку.

Подржани повратни позиви су:

  • onInit
  • onAuthenticationChange
  • onRender
  • commentCountUpdated
  • onReplySuccess
  • onVoteSuccess
  • onImageClicked
  • onOpenProfile
  • onCommentSubmitStart
  • onCommentsRendered

Тачне сигнатуре могу се наћи у TypeScript дефиницијама.

Ево примера са свим повратним позивима који се користе:

Примери повратних позива
Copy CopyRun External Link
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 window.FastCommentsUI(document.getElementById('fastcomments-widget'), {
6 tenantId: 'demo',
7 onInit: function () {
8 console.log('Library started to fetch comments!');
9 },
10 onAuthenticationChange: function (eventName, userObj) {
11 console.log('User authenticated!', eventName, userObj);
12 },
13 onRender: function () {
14 console.log('Render event happened!');
15 },
16 commentCountUpdated: function (newCount) {
17 console.log('New comment count:', newCount);
18 },
19 onReplySuccess: function (comment) {
20 console.log('New comment saved!', comment);
21 },
22 onVoteSuccess: function (comment, voteId, direction, status) {
23 console.log('New vote saved!', comment, voteId, direction, status);
24 },
25 onImageClicked: function (src) {
26 console.log('Image clicked!', src);
27 },
28 onOpenProfile: function (userId) {
29 console.log('User tried to open profile', userId);
30 // return true; // врати true да би се спречило подразумевано понашање (отварање fastcomments.com профила корисника).
31 },
32 onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) {
33 console.log('Trying to submit comment', comment);
34 setTimeout(function() { // емулирање асинхроног понашања (позивање API итд).
35 if(confirm('Should submit?')) {
36 continueSubmitFn();
37 } else {
38 cancelFn('Some optional error message');
39 }
40 }, 1000);
41 },
42 onCommentsRendered: function(comments) {
43 // коментари су сортирани према подразумеваној сорти на страници која може бити „Најрелевантније“ (нпр. највише гласова, итд.) или „Најновије прво“
44 const topCommentInList = comments[0];
45 console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML);
46 }
47 });
48</script>
49

Наслови страница Internal Link

Тренутни наслов странице повезује се са наведеним urlId и чува за употребу у алатима за модерацију.

Према подразумеваним поставкама, ово се преузима из document.title.

Ако желите, можете навести сопствени наслов странице на следећи начин:

Specifying The Page Title
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "pageTitle": "Article 42"
8}];
9</script>
10

Број коментара и рачунање свих угнеждених одговора Internal Link

Brojač komentara koji se prikazuje na vrhu komentarskog vidžeta može da prikaže ili sve "komentare najvišeg nivoa", što znači one odgovore koji su odgovori direktno na stranicu ili članak, ili može biti broj svih ugnježdenih komentara.

Podrazumevano je true - radi se o brojanju potonjeg - svih komentara. U starijim verzijama komentarskog vidžeta podrazumevana vrednost je false.

Možemo promeniti ponašanje, tako da bude broj svih ugnježdenih komentara postavljanjem zastavice countAll na true.

Counting All Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": true
8}];
9</script>
10

Ako želimo da broj odražava samo komentare najvišeg nivoa, postavimo zastavicu na false.

Counting Top Level Comments
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "countAll": false
8}];
9</script>
10

Trenutno se ovo ne može prilagoditi bez izmena koda.


Ид-ови група за помињање Internal Link

Списак id-јева за коришћење у аутокомплету за @mentions. Корисно када желите да спречите означавање корисника који немају заједничких група.

Када је наведено, у аутокомплету ће након укуцавања @ карактера бити приказани само корисници из других група.

Limit Groups for Mentions
Copy CopyRun External Link
1
2<script async src="https://cdn.fastcomments.com/js/embed-v2-async.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5window.fcConfigs = [{
6 "tenantId": "demo",
7 "mentionGroupIds": [
8 "yxZAhjzda",
9 "QT19nXbqB"
10 ]
11}];
12</script>
13