show_fqa.html 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {include file="header" /}
  2. <link rel="stylesheet" href="/assets/xtu/show-fqa.css?v=20260518-5">
  3. <main class="show-fqa-page">
  4. <section class="show-fqa-subnav-strip" aria-label="FAQ栏目">
  5. <div class="content-1300-wrap">
  6. <div class="show-fqa-strip-title">
  7. {if getCategory($catid,'catname')}{:getCategory($catid,'catname')}{else /}{$category.catname|default=''}{/if}
  8. </div>
  9. </div>
  10. </section>
  11. <section class="show-fqa-content-section">
  12. <div class="content-1300-wrap show-fqa-shell">
  13. <aside class="show-fqa-sidebar">
  14. <div class="show-fqa-sidebar-panel">
  15. <div class="show-fqa-sidebar-scroll">
  16. {if !empty($fqaSidebar)}
  17. {volist name="fqaSidebar" id="channel"}
  18. <section class="show-fqa-channel">
  19. <h3>{$channel.title}</h3>
  20. {if !empty($channel.groups)}
  21. {volist name="channel.groups" id="group"}
  22. <div class="show-fqa-group">
  23. <h4>{$group.title}</h4>
  24. <ul>
  25. {volist name="group.items" id="item"}
  26. <li class="{if $item.id==$id}is-active{/if}">
  27. <a href="{$item.url|default='javascript:;'}">{$item.title}</a>
  28. </li>
  29. {/volist}
  30. </ul>
  31. </div>
  32. {/volist}
  33. {else /}
  34. <div class="show-fqa-empty">{:cms_t('support_empty_faq','暂无相关常见问题')}</div>
  35. {/if}
  36. </section>
  37. {/volist}
  38. {else /}
  39. <div class="show-fqa-empty">{:cms_t('support_empty_faq','暂无相关常见问题')}</div>
  40. {/if}
  41. </div>
  42. </div>
  43. </aside>
  44. <section class="show-fqa-main">
  45. <article class="show-fqa-article">
  46. <header class="show-fqa-article-head">
  47. <h1>{$title}</h1>
  48. </header>
  49. <div class="show-fqa-article-body">{$content|raw}</div>
  50. </article>
  51. </section>
  52. </div>
  53. </section>
  54. </main>
  55. <script>
  56. (function () {
  57. var siteHeader = document.getElementById('siteHeader');
  58. var syncTopbarPosition = function () {
  59. if (!siteHeader) return;
  60. var headerRect = siteHeader.getBoundingClientRect();
  61. document.documentElement.style.setProperty('--xtu-header-height', Math.max(0, Math.ceil(headerRect.bottom)) + 'px');
  62. };
  63. syncTopbarPosition();
  64. window.addEventListener('load', syncTopbarPosition);
  65. window.addEventListener('resize', syncTopbarPosition);
  66. window.addEventListener('scroll', syncTopbarPosition, { passive: true });
  67. if (window.ResizeObserver && siteHeader) { new ResizeObserver(syncTopbarPosition).observe(siteHeader); }
  68. })();
  69. </script>
  70. {include file="footer" /}