GlideSPUtil : global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • L’API GlideSPUtil fournit des méthodes utilitaires permettant d’exécuter des fonctions backend courantes qui prennent en charge un Portail de services.

    Méthodes d’utilitaires disponibles :
    • Résolvez les variables spécifiées dans la table Variables de page dynamiques [sp_page_title_variable] associées à une page spécifiée Portail de services située dans la table Page [sp_page].
    • Autres méthodes

    Pour plus d’informations, consultez Pages du portail de services.

    GlideSPUtil : GlideSPUtil()

    Instancie un objet GlideSPUtil.

    Tableau 1. Paramètres
    Nom Type Description
    Néant

    L’exemple de code suivant montre comment instancier un objet GlideSPUtil avant d’appeler l’une de ses méthodes associées.

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryParams = RP.getParameters();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }

    GlideSPUtil : getHumanReadableUrl()

    Prend en compte le paramètre de requête « ID » pour identifier la page du portail (pageGR) et utilise la chaîne de requête de la transaction actuelle pour appeler getHumanReadableUrl(GlideRecord, pageGR, String, chaîne, queryString) et renvoie le dernier élément lisible par l’homme.

    Tableau 2. Paramètres
    Nom Type Description
    Aucun
    Tableau 3. Renvoie
    Type Description
    Chaîne URL lisible par l’homme de l’enregistrement spécifié, Portail de services les variables ayant été remplacées par le contenu de la queryParams carte de chaîne.

    L’exemple de code suivant montre comment faire.

    function() {
      var spUtil = new GlideSPUtil();
      var hrUrl = spUtil.getHumanReadableUrl();
    }

    Sortie :

    GlideSPUtil : getHumanReadableUrl(GlideRecord pageGR, chaîne queryParams)

    Convertit le paramètre de chaîne transmis queryParms en une carte de chaîne, puis résout les variables dans la chaîne « Structure de l’URL lisible par l’homme » fournie dans l’enregistrement sp_page et renvoie la partie finale de l’URL lisible par l’homme.

    Tableau 4. Paramètres
    Nom Type Description
    pageGR GlideRecord Objet GlideRecord de l’enregistrement dans la table Page [sp_page] sur lequel résoudre les variables d’URL.
    Chaîne de requête Chaîne Chaîne de requête.
    Tableau 5. Renvoie
    Type Description
    Chaîne URL lisible par l’homme de l’enregistrement spécifié, Portail de services les variables ayant été remplacées par le contenu de la queryParams carte de chaîne.

    L’exemple de code suivant montre comment faire.

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryString = GlideTransaction.get().getRequest().getQueryString();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }

    Sortie :

    GlideSPUtil : getHumanReadableUrl(GlideRecord pageGR, StringMap, queryParams)

    Résout les variables du champ Structure de l’URL lisible par l’homme de l’objet de page de Portail de services modèle transmis et renvoie une URL contenant les paramètres de requête spécifiés et les paramètres lisibles par l’homme résolus.

    Utilisez des mots clés lisibles par l’homme dans une URL pour :
    • Permettez à vos clients de mieux comprendre l’objectif de l’URL lorsqu’elle n’est pas dans le contexte de la page associée.
    • Fournissez aux moteurs de recherche des mots-clés pour mieux localiser la page.

    Par exemple, au lieu d’avoir une URL qui contient des paires clé-valeur méconnaissables comme celle-ci :

    https ://instance_name.servicenow.com/sp/en ?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15

    Vous pouvez ajouter le nom de l’élément à l’URL afin de faciliter la compréhension du but de l’URL :

    https ://instance_name.servicenow.com/sp/en/apple-iphone-13 ?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15

    Avant de pouvoir utiliser cette méthode, vous devez définir les variables de page dynamiques disponibles pour chacun des Portail de services modèles pour lesquels vous souhaitez inclure du contenu dynamique dans l’URL. Pour plus d’informations sur l’ajout de ces variables, reportez-vous à la section Add human readable keywords to page URLs.

    Tableau 6. Paramètres
    Nom Type Description
    pageGR GlideRecord Objet GlideRecord de laPortail de services page du modèle pour lequel résoudre les variables d’URL dynamiques.

    Tableau : Page [sp_page]

    queryParams StingMap Paramètres de requête d’URL à utiliser pour obtenir la page souhaitée Portail de services .
    Par exemple :
    {
      "id": "sc_cat_item",
      "sys_id": "ec80c13297968d1021983d1e6253af32",
      "sysparm_catgory": "1e80c15697969f1032083d1e6253be15"
    }
    Tableau 7. Renvoie
    Type Description
    Chaîne URL contenant les éléments résolus lisibles par l’homme pour les variables dynamiques spécifiées dans la page du Portail de services modèle.

    Par exemple, si la variable dynamique définie est %item_name, l’URL contient le nom de l’élément sélectionné par l’utilisateur, tel que « apple-iphone-13 », ainsi que tous les paramètres de requête spécifiés :

    https ://instance_name.servicenow.com/sp/en/apple-iphone-13 ?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15.

    L’exemple de code suivant montre comment obtenir un article de base de connaissances spécifique et appeler getHumanReaadableUrl() pour appliquer les variables dynamiques associées.

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryParams = RP.getParameters();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }