View this page in the latest version of Appian. Page Link Component Share Share via LinkedIn Reddit Email Copy Link Print On This Page About the page link component Creates a link to a page in a site or portal. Use in any component with a link parameter or in the Send Push Notification smart service. To link from external systems or emails, use a!urlForSite() and a!urlForPortal() instead. See When to use the page link component to learn when to use each link type. Where to use the page link component Use a!pageLink() in the following components: a!cardLayout(): link parameter. a!chartSeries(): links parameter. a!documentImage(): link parameter (inside a!imageField()). a!headingField(): link parameter. a!hierarchyBrowserFieldColumnsNode(): link parameter. a!hierarchyBrowserFieldTreeNode(): link parameter. a!linkField(): links parameter. a!milestoneField(): links parameter. a!pickerFieldCustom(): selectedLinks parameter. a!richTextIcon(): link parameter (inside a!richTextDisplayField()). a!richTextItem(): link parameter (inside a!richTextDisplayField()). a!stampField(): link parameter. a!tagItem(): link parameter (inside a!tagField()). a!userImage(): link parameter (inside a!imageField()). a!webImage(): link parameter (inside a!imageField()). You can also use a!pageLink() in the Send Push Notification smart service. Parameters a!pageLink( label, page, urlParameters, showWhen, openLinkIn ) Name Keyword Types Description Label label Text Link text that users click to open the link. Page page Site Page or Portal Page A reference to a page in a site or portal, specified using the site! or portal! domain. For example, site!Site Name.pages.web-address-id. Required. URL Parameters urlParameters Map Passes values to rule inputs configured in the target page of the site or portal object. Use a!map() to provide a map of up to 10 URL parameter names and their associated values as key-value pairs. For example: a!map(state: "Virginia", priority: 4). See Use URL Parameters for Site and Portal Navigation for more information about using URL parameters. Show When showWhen Boolean Determines if the link displays. When false, hides the link and also skips evaluation. Default: true. Open Link In openLinkIn Text Determines how the link opens in browsers. Valid values: "SAME_TAB" (default), "NEW_TAB". Using the page link component The following sections cover important details about the page link component. When to use the page link component The page link component behaves differently from the a!urlForSite() and a!urlForPortal() functions. When a user clicks a page link component to a page in the same site or portal, the navigation bar doesn't reload, only the content area and the url updates. Using a!urlForSite() or a!urlForPortal() opens the page in a new tab, reloading the entire page and the navigation bar. The following outlines when to use the page link component versus the other site and portal link types: Use the page link component when you're linking to a site or portal page from within an interface. Use a!urlForSite() or a!urlForPortal() in a!safeLink() when you can't use a component for the link, such as in email bodies or when passing a link to a third-party system via an integration or Web API. Additionally: Use a!urlForPortal() whenever you need to specify a locale for the portal page. Use a!urlForSite() when you need to link to from a portal to a site page. Use a!portalUrlWithLocale() to create a link that switches between different locales while on a portal. Navigation experience When a user clicks a page link that points to a page in the same site or portal, only the page content area updates. The navigation bar stays in place, the URL updates, and the target page appears selected in the navigation bar. The experience is the same as clicking a tab in the site or portal navigation bar. When the link points to a page in a different site or portal, or if openLinkIn is set to "NEW_TAB" the full page reloads. When the page parameter is null, clicking the link does nothing. Linking to a site page from a portal You can't use a page link component to link to a site page from within a portal. To link to a site from a portal, use the a!urlForSite() function and create a custom integration using integration and web API objects. Referencing pages The page parameter takes a reference to a site or portal page that is constructed using the site! or portal! domain. See Reference Site and Portal Pages to learn how to construct page references. Using the urlParameters parameter For sites, URL parameters are only valid for pages that use an Interface for the page type. See Use URL Parameters for Site and Portal Navigation for information about configuring URL parameters on site and portal pages. Using a!map() To create a list of the URL parameter names and values for the urlParameters parameter, use the a!map() function to create a list of the URL parameters as key-value pairs. Use the URL parameter name configured in the Rule Input Configurations grid as the key in the key-value pair. Tip: Click the site or portal page reference in the page parameter to view the URL parameter names. They are listed in the expression documentation pane under Enabled URL Parameter(s). For example: 1 2 3 4 5 6 urlParameters: a!map( /*URL parameter name = county, URL parameter value = "Fairfax"*/ county: "Fairfax", /*URL parameter name = active, URL parameter value = true*/ active: true ) This example is for illustrative purposes only. It won't work if you copy and paste it into an expression. Generated URL structure When a user clicks a page link, the browser URL updates to reflect the target page. The URL structure for site pages is: https://[site or portal domain]/[web address ID]/page/[page web address ID]?[encrypted or plaintext URL parameters] For example: https://statedot.appiancloud.com/projectsite/page/project-dashboard?county=Fairfax&active=true If the page is within a page group, the URL includes the page group: https://statedot.appiancloud.com/projectsite/group/transportation/page/project-dashboard?county=Fairfax&active=true By default, URL parameters are encrypted in the URL. If Encrypt URL parameters is turned off for the page, the URL parameters display in plaintext. Examples The following example demonstrates the page link component. Site page link with URL parameters This example references a site from another environment and will error if you try to use it in yours. Use it as a reference only. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 a!linkField( labelPosition: "COLLAPSED", links: { a!pageLink( label: "Active Projects in Fairfax County", /* Replace with a valid site page reference from your environment */ page: site!DOT Project Site.pages.project-grid, urlParameters: a!map( county: "Fairfax", active: true ) ) } ) Create copy link button to share link with filtered values Your users may find it useful to bookmark filtered data or share their filtered data with other users. When you use URL parameters to set the value of filters, you can add a copy link button to your interfaces that will update with the value of the selected filters. Note: Rule inputs can't pass data into user filters. To filter data using URL parameters and rule inputs, create the filters manually. In order for this example to work, after creating the interface with rule inputs, add the interface as a site or portal page, then configure the Rule Input Configuration for the page. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 a!localVariables( local!county: a!queryRecordType( recordType: recordType!DOT County, fields: {recordType!DOT County.fields.value}, pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 30) ).data, local!selectedCounty: ri!county, local!isActive: ri!isActive, { a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem( text: { a!richTextIcon(icon: "link"), " Copy link" }, link: a!pageLink( page: site!DOT Projects.pages.projects, urlParameters: a!map( county: local!selectedCounty, isActive: local!isActive ) ), linkStyle: "STANDALONE" ) }, tooltip: "Copy link with selected filters", align: "RIGHT" ), a!columnsLayout( columns: { a!columnLayout( contents: { a!dropdownField( choiceLabels: local!county[recordType!DOT County.fields.value], choiceValues: local!county[recordType!DOT County.fields.id], label: "COUNTY", placeholder: "Select a county", value: local!selectedCounty, saveInto: local!selectedCounty ) } ), a!columnLayout( contents: { a!dropdownField( choiceLabels: { "Active", "Inactive" }, choiceValues: { true, false }, label: "Project Status", placeholder: "Select a status", value: local!isActive, saveInto: local!isActive ) } ) } ), a!gridField( labelPosition: "COLLAPSED", data: a!recordData( recordType: recordType!DOT Project, filters: a!queryLogicalExpression( operator: "AND", filters: { a!queryFilter( field: recordType!DOT Project.relationships.county.fields.id, operator: "=", value: local!selectedCounty ), a!queryFilter( field: recordType!DOT Project.fields.isActive, operator: "=", value: local!isActive ) }, ignoreFiltersWithEmptyValues: true ) ), columns: { a!gridColumn( label: "Project Name", sortField: recordType!DOT Project.fields.projectName, value: fv!row[recordType!DOT Project.fields.projectName] ), a!gridColumn( label: "County", sortField: recordType!DOT Project.relationships.county.fields.value, value: fv!row[recordType!DOT Project.relationships.county.fields.value], align: "START" ), a!gridColumn( label: "Active?", sortField: recordType!DOT Project.fields.isActive, value: if( fv!row[recordType!DOT Project.fields.isActive], "Yes", "No" ) ) } ) } ) Feature compatibility The table below lists this component's compatibility with various features in Appian. Feature Compatibility Note Portals Compatible Offline Interfaces Incompatible Sync-Time Custom Record Fields Incompatible Real-Time Custom Record Fields Incompatible Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. Process Reports Incompatible Cannot be used to configure a process report. Process Events Incompatible Cannot be used to configure a process event node, such as a start event or timer event. Process Autoscaling Incompatible Cannot be used in autoscaled processes. Event Consumer Filter Conditions Compatible Can be used in filter conditions. Event Consumer Event Handlers Compatible Can be used in event handler expressions. Feedback Was this page helpful? SHARE FEEDBACK Loading...