2016-04-12 1 views
0

Je travaille sur un forum vraiment rudimentaire construit en Zendesk et je ne trouve pas beaucoup d'informations sur le fonctionnement de leurs variables/balisages. Je souhaite afficher un nom partiel au lieu du nom complet à côté des publications de l'utilisateur.Sous-chaînes dans les modèles Zendesk?

Idéalement, je serais en mesure de convertir ce prénom en dernier. Donc "John Smith" apparaîtrait comme "John S." au lieu.

Voici le bloc de code qui apparaît sur le forum/la communauté dans le centre d'aide. À l'heure actuelle, je n'ai accès au code que via le centre d'aide, mais il se peut qu'il y ait un thème d'exportation/importation que je n'ai pas encore trouvé et qui expose davantage la pseudo implémentation de Handlebars. Je travaille sous l'hypothèse que seuls les agents/admins ont accès à l'author.url mais dans les deux cas je dois raccourcir ce nom d'utilisateur.

{{#if author.url}} 
<a href="{{author.url}}" target="_zendesk_lotus"> 
    {{author.name}} 
</a> 
{{else}} 
{{author.name}} 
{{/if}} 

Il semble qu'il y ait des « noms d'affichage », mais ceux ne sont disponibles que pour les agents et les administrateurs et les utilisateurs ne individuels (pas que nous voudrions mettre à jour notre 3k + utilisateurs à la main pour définir un nom d'affichage).

tl; dr Les noms des utilisateurs sont automatiquement créés par notre logiciel sur le compte créer en utilisant le prénom et le nom complets. Nous aimerions changer la façon dont ces noms sont affichés dans le forum/communauté soit Prénom, Initiale:

David Smith => David S 

La fonction disponible le plus proche que je pouvais trouver pour retirer ceci est l'extrait d'une mais juste tronque une chaîne à une limite char: https://developer.zendesk.com/apps/docs/help-center-templates/helpers#excerpt-helper

Je pourrais trouver une solution pour faire ceci avec javascript côté client sur le chargement de la page mais je préfère ne pas prendre cette route. Peut-être que je vais devoir créer une application personnalisée ou autre chose pour obtenir une fonction séparée ajoutée au code du thème? Toute suggestion ou aide ici serait grandement appréciée!

+0

Pouvez-vous clarifier exactement ce que vous demandez/quel est le problème? Merci. – jpalmieri

+0

J'espère convertir les noms d'utilisateur pour afficher comme prénom/dernière initiale. Essentiellement une sous-chaîne ou regex remplacer au premier «mot» dans le nom si cela a du sens. –

+0

Désolé, j'ai encore du mal à comprendre quel est le problème. Où se trouve ce code? Est-ce à partir du Centre d'aide, dans une application Zendesk ou ailleurs, comme une application externe qui accède aux données Zendesk? – jpalmieri

Répondre

1

Désolé d'être le porteur de mauvaises nouvelles mais OMI ce n'est pas possible; Je regardais dans ce qui suit pour en arriver à ma réponse

Sur le serveur - Side

L'entrée API Zendesk pour l'objet utilisateur qui est pas atomique quand il vient au nom (voir https://developer.zendesk.com/apps/docs/help-center-templates/objects#user-object). J'ai aussi regardé les «Global Helpers», «Helpers partagés» et «Advanced Helpers» de Zendesk (c'est-à-dire l'assistant «extrait» que vous avez mentionné) et rien n'a fait ce que nous voulions.

Sur le client - Side

  1. Tout d'abord, alors que JavaScript peut être utilisé pour garantir qu'un plein deuxième nom est en effet tronqué que la première lettre pour affichage fins, il ne peut pas garantir que le deuxième nom complet peut être à l'abri des regards indiscrets à des fins de confidentialité. Je mentionne cela parce que si vous vivez dans un pays de l'UE les règlements GDPR entrent en jeu sur ou environ 25 mai 2018.

  2. Depuis CSS3 ne dispose pas d'un «premier mot sélecteur pseudo qui gouverne probablement un simple approche avec CSS.Peut-être qu'un hack bidi-directionnel et text-indent pourrait fonctionner mais je pense que l'effort impliqué serait trop grand compte tenu des soucis point 1) et si vous devez vraiment procéder avec une solution côté client JavaScript serait votre meilleur pari (Voir Targeting specific text entered into form input field and add styles to it?)