Wiki source code of Alder Support Center
Version 14.1 by wiki admin on 2026/08/25 00:06
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
14.1 | 1 | {{velocity}} |
| 2 | ## =========================================================================== | ||
| 3 | ## Alder Support Center - customer home page (v5) | ||
| 4 | ## | ||
| 5 | ## This page supplies the markup that alder-theme.css styles. The stylesheet | ||
| 6 | ## alone cannot produce the hero or the category cards: they are content, and | ||
| 7 | ## they live here. | ||
| 8 | ## | ||
| 9 | ## EVERYTHING ON THIS PAGE IS COMPUTED FROM THE WIKI'S REAL CONTENT. | ||
| 10 | ## The category cards show article counts queried at page load, and a category | ||
| 11 | ## with no published articles is not rendered at all. That is deliberate: the | ||
| 12 | ## customer site fills up one deliberate publish at a time, and a card | ||
| 13 | ## promising "24 articles" that leads to an empty space is worse than no card. | ||
| 14 | ## | ||
| 15 | ## TO ADD OR RENAME A CATEGORY: edit the $cats list below. 'space' must match | ||
| 16 | ## the real space name on this wiki (which the publish step creates from the | ||
| 17 | ## department name on the employees wiki). 'label' is what the customer sees, | ||
| 18 | ## so it can and should differ - internal department names like | ||
| 19 | ## "F-O-R-C-E Department" must never appear on this site. | ||
| 20 | ## | ||
| 21 | ## This page needs script rights to save, which means an administrator. If the | ||
| 22 | ## cards and counts vanish after someone edits it, that is why. | ||
| 23 | ## =========================================================================== | ||
| |
8.1 | 24 | |
| |
14.1 | 25 | ## SHOW EMPTY CATEGORIES? |
| 26 | ## false (default) - a category with no published articles is hidden. The | ||
| 27 | ## page tells the truth about what is actually here. | ||
| 28 | ## true - all six cards render regardless, without counts. The | ||
| 29 | ## page looks complete, but a customer clicking a card | ||
| 30 | ## lands on an empty space. Only set this true if you are | ||
| 31 | ## about to publish into these categories anyway. | ||
| 32 | #set($showEmpty = false) | ||
| |
8.1 | 33 | |
| |
14.1 | 34 | #set($cats = [ |
| 35 | {'space': 'Tech Support', | ||
| 36 | 'label': 'Panels & Troubleshooting', | ||
| 37 | 'blurb': 'Arming, disarming, passcodes, sensors, cameras, and fixing common faults.', | ||
| 38 | 'c': '#1679AC', 't': '#E6F3FA', | ||
| 39 | 'd': 'M4 3h16v18H4zM8 8h8M8 12h8M8 16h4'}, | ||
| 40 | {'space': 'Billing', | ||
| 41 | 'label': 'Billing & Account', | ||
| 42 | 'blurb': 'Payments, plan changes, moving home, and questions about your account.', | ||
| 43 | 'c': '#2C6E8F', 't': '#E8F1F6', | ||
| 44 | 'd': 'M2 5h20v14H2zM2 10h20M6 15h4'}, | ||
| 45 | {'space': 'Customer Service', | ||
| 46 | 'label': 'Getting Help', | ||
| 47 | 'blurb': 'Account changes, service options, and how to reach us.', | ||
| 48 | 'c': '#0E8F6F', 't': '#E4F5EE', | ||
| 49 | 'd': 'M12 3a9 9 0 019 9v5a2 2 0 01-2 2h-2v-6h4M12 3a9 9 0 00-9 9v5a2 2 0 002 2h2v-6H3'}, | ||
| 50 | {'space': 'Digital Care', | ||
| 51 | 'label': 'App & Smart Home', | ||
| 52 | 'blurb': 'The Alder app, Alexa, Google Home, smart locks and automations.', | ||
| 53 | 'c': '#7A5AF0', 't': '#EFEBFE', | ||
| 54 | 'd': 'M3 10l9-6 9 6v9a2 2 0 01-2 2H5a2 2 0 01-2-2zM9 21v-7h6v7'}, | ||
| 55 | {'space': 'Loyalty', | ||
| 56 | 'label': 'Your Service', | ||
| 57 | 'blurb': 'Moving, upgrading, and getting the most out of your system.', | ||
| 58 | 'c': '#C7761B', 't': '#FDF1E3', | ||
| 59 | 'd': 'M13 2L4 14h7l-1 8 9-12h-7l1-8z'}, | ||
| 60 | {'space': 'General', | ||
| 61 | 'label': 'Everything Else', | ||
| 62 | 'blurb': 'Guides and notices that do not fit anywhere else.', | ||
| 63 | 'c': '#C4436B', 't': '#FCE9EF', | ||
| 64 | 'd': 'M12 3l7 3v6c0 4.2-2.9 7.7-7 9-4.1-1.3-7-4.8-7-9V6l7-3z'} | ||
| 65 | ]) | ||
| 66 | |||
| 67 | ## Same count query the employees home page uses. Counting pages in the space | ||
| 68 | ## and its sub-spaces, excluding the space home itself. | ||
| 69 | #set($countQuery = "select count(doc.fullName) from Document doc where (doc.space = :s or doc.space like :p) and doc.name <> 'WebHome'") | ||
| 70 | #set($live = []) | ||
| 71 | #set($total = 0) | ||
| 72 | #foreach($c in $cats) | ||
| 73 | #set($n = $services.query.xwql($countQuery).bindValue('s', $c.space).bindValue('p', "${c.space}.%").execute().get(0)) | ||
| 74 | #if($n > 0 || $showEmpty) | ||
| 75 | #set($ignore = $c.put('n', $n)) | ||
| 76 | #set($ignore = $live.add($c)) | ||
| 77 | #set($total = $total + $n) | ||
| 78 | #end | ||
| 79 | #end | ||
| 80 | |||
| 81 | {{html clean="false"}} | ||
| 82 | <style> | ||
| 83 | /* The hero is the top of this page, so the wiki's own page title would sit | ||
| 84 | above it. Scoped to this page by living in this page's content. */ | ||
| 85 | #document-title{display:none} | ||
| 86 | #xwikicontent > p:empty{display:none} | ||
| 87 | </style> | ||
| 88 | |||
| 89 | <div class="alder-hero"> | ||
| 90 | <h1>How can we help?</h1> | ||
| 91 | <p>Search our guides, or browse by topic below. Most questions are answered in under a minute.</p> | ||
| 92 | <form class="alder-search" action="$xwiki.getURL('Main.Search', 'view')" method="get"> | ||
| 93 | <input type="text" name="text" placeholder="Search for an article, e.g. low battery"> | ||
| 94 | <button type="submit">Search</button> | ||
| 95 | </form> | ||
| 96 | <div class="alder-pills"> | ||
| 97 | <a href="$xwiki.getURL('Main.Search', 'view', 'text=arm+disarm')">Arm and disarm</a> | ||
| 98 | <a href="$xwiki.getURL('Main.Search', 'view', 'text=low+battery')">Low battery</a> | ||
| 99 | <a href="$xwiki.getURL('Main.Search', 'view', 'text=communication+failure')">Communication failure</a> | ||
| 100 | <a href="$xwiki.getURL('Main.Search', 'view', 'text=passcode')">Change my passcode</a> | ||
| 101 | </div> | ||
| 102 | </div> | ||
| 103 | {{/html}} | ||
| 104 | |||
| 105 | #if($live.isEmpty()) | ||
| |
9.1 | 106 | {{info}} |
| |
14.1 | 107 | **We're building out our help center.** Articles are being reviewed and published progressively, so there is not much here yet. If you can't find what you need, call us using the numbers below and we'll help you directly. |
| |
9.1 | 108 | {{/info}} |
| |
14.1 | 109 | #else |
| 110 | == Browse by topic == | ||
| |
8.1 | 111 | |
| |
14.1 | 112 | {{html clean="false"}} |
| 113 | <div class="alder-cats"> | ||
| 114 | #foreach($c in $live) | ||
| 115 | <a class="alder-cat" href="$xwiki.getURL("${c.space}.WebHome")" style="--c:$c.c;--t:$c.t"> | ||
| 116 | <span class="alder-cat-ico"> | ||
| 117 | <svg viewBox="0 0 24 24" width="21" height="21" fill="none" stroke="$c.c" | ||
| 118 | stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="$c.d"/></svg> | ||
| 119 | </span> | ||
| 120 | <h3>$c.label</h3> | ||
| 121 | <p>$c.blurb</p> | ||
| 122 | #if($c.n > 0) | ||
| 123 | <span class="alder-cat-count">$c.n article#if($c.n != 1)s#end</span> | ||
| 124 | #end | ||
| 125 | </a> | ||
| 126 | #end | ||
| 127 | </div> | ||
| 128 | {{/html}} | ||
| 129 | #end | ||
| 130 | |||
| 131 | ## --------------------------------------------------------------------------- | ||
| 132 | ## Recently added. Real data, not a curated list - "most read" would need view | ||
| 133 | ## statistics we do not collect, and inventing a popularity order would be | ||
| 134 | ## making something up on the customer's home page. | ||
| 135 | ## --------------------------------------------------------------------------- | ||
| 136 | #set($spaceNames = []) | ||
| 137 | #foreach($c in $cats) | ||
| 138 | #set($ignore = $spaceNames.add($c.space)) | ||
| 139 | #end | ||
| 140 | #set($clause = "") | ||
| 141 | #foreach($s in $spaceNames) | ||
| 142 | #set($clause = "${clause} or doc.space = '${s}' or doc.space like '${s}.%'") | ||
| 143 | #end | ||
| 144 | #if($clause != "") | ||
| 145 | #set($whereClause = $clause.substring(4)) | ||
| 146 | #set($recentQuery = "where doc.name <> 'WebHome' and (${whereClause}) order by doc.date desc") | ||
| 147 | #set($recent = $services.query.xwql($recentQuery).setLimit(6).execute()) | ||
| 148 | #else | ||
| 149 | #set($recent = []) | ||
| 150 | #end | ||
| 151 | |||
| 152 | #if(!$recent.isEmpty()) | ||
| 153 | == Recently added == | ||
| 154 | |||
| 155 | {{html clean="false"}} | ||
| 156 | <div class="alder-list"> | ||
| 157 | #set($i = 0) | ||
| 158 | #foreach($ref in $recent) | ||
| 159 | #set($i = $i + 1) | ||
| 160 | #set($rdoc = $xwiki.getDocument($ref)) | ||
| 161 | <a href="$rdoc.getURL('view')"> | ||
| 162 | <span class="alder-num">$i</span> | ||
| 163 | <span>$escapetool.xml($rdoc.plainTitle)</span> | ||
| 164 | </a> | ||
| 165 | #end | ||
| 166 | </div> | ||
| 167 | {{/html}} | ||
| 168 | #end | ||
| 169 | {{/velocity}} | ||
| 170 | |||
| |
9.1 | 171 | == Contact us == |
| |
8.1 | 172 | |
| |
9.1 | 173 | |=(% style="width:190px" %)Customer Service|(% style="font-size:1.25em" %)**800.710.1289**|Questions about your account, billing, or equipment. |
| 174 | |=Sales|(% style="font-size:1.25em" %)**877.686.3120**|New systems, upgrades, and service options. | ||
| 175 | |=Website|[[alder.com>>https://alder.com/]]|Products, plans, and company information. | ||
| |
8.1 | 176 |