Deployed 67d20a99 to 6.0 with MkDocs 1.4.0 and mike 1.1.2
[GitHub/WoltLab/woltlab.github.io.git] / 6.0 / migration / wcf21 / templates / index.html
CommitLineData
9aa5da67
WG
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11 <link rel="canonical" href="https://docs.woltlab.com/6.0/migration/wcf21/templates/">
12
13 <link rel="icon" href="../../../assets/default.favicon.ico">
d502f611 14 <meta name="generator" content="mkdocs-1.4.0, mkdocs-material-8.5.4">
9aa5da67
WG
15
16
17
18 <title>Templates - WoltLab Suite Documentation</title>
19
20
21
a277f2e9 22 <link rel="stylesheet" href="../../../assets/stylesheets/main.80dcb947.min.css">
9aa5da67
WG
23
24
25 <link rel="stylesheet" href="../../../assets/stylesheets/palette.cbb835fc.min.css">
26
27
28
29 <meta name="theme-color" content="#009485">
30
31
32
7f9945cf 33
9aa5da67
WG
34
35
36
37
38
39
40 <link rel="stylesheet" href="../../../stylesheets/extra.css">
41
a06fd3b1 42 <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
9aa5da67
WG
43
44
45
46
47
7f9945cf 48
9aa5da67
WG
49 </head>
50
51
52
53
54
55
56
57 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
58
59
60
61 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
62 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
63 <label class="md-overlay" for="__drawer"></label>
64 <div data-md-component="skip">
65
66
67 <a href="#wcf-21x-templates" class="md-skip">
68 Skip to content
69 </a>
70
71 </div>
72 <div data-md-component="announce">
73
74 <aside class="md-banner">
75 <div class="md-banner__inner md-grid md-typeset">
76
a06fd3b1 77
9aa5da67
WG
78 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
79
80 </div>
a06fd3b1 81
9aa5da67
WG
82 </aside>
83
84 </div>
85
86 <div data-md-component="outdated" hidden>
a06fd3b1 87
9aa5da67
WG
88 </div>
89
90
91
92
93<header class="md-header" data-md-component="header">
94 <nav class="md-header__inner md-grid" aria-label="Header">
95 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
96
97 <img src="../../../assets/logo.png" alt="logo">
98
99 </a>
100 <label class="md-header__button md-icon" for="__drawer">
101 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
102 </label>
103 <div class="md-header__title" data-md-component="header-title">
104 <div class="md-header__ellipsis">
105 <div class="md-header__topic">
106 <span class="md-ellipsis">
107 WoltLab Suite Documentation
108 </span>
109 </div>
110 <div class="md-header__topic" data-md-component="header-topic">
111 <span class="md-ellipsis">
112
113 Templates
114
115 </span>
116 </div>
117 </div>
118 </div>
119
120
121
122 <label class="md-header__button md-icon" for="__search">
123 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
124 </label>
125 <div class="md-search" data-md-component="search" role="dialog">
126 <label class="md-search__overlay" for="__search"></label>
127 <div class="md-search__inner" role="search">
128 <form class="md-search__form" name="search">
129 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
130 <label class="md-search__icon md-icon" for="__search">
131 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
132 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
133 </label>
134 <nav class="md-search__options" aria-label="Search">
135
7f9945cf 136 <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
9aa5da67
WG
137 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
138 </button>
139 </nav>
140
141 </form>
142 <div class="md-search__output">
143 <div class="md-search__scrollwrap" data-md-scrollfix>
144 <div class="md-search-result" data-md-component="search-result">
145 <div class="md-search-result__meta">
146 Initializing search
147 </div>
148 <ol class="md-search-result__list"></ol>
149 </div>
150 </div>
151 </div>
152 </div>
153</div>
154
155
156 <div class="md-header__source">
157 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
158 <div class="md-source__icon md-icon">
159
7f9945cf 160 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
161 </div>
162 <div class="md-source__repository">
163 GitHub
164 </div>
165</a>
166 </div>
167
168 </nav>
169
170</header>
171
172 <div class="md-container" data-md-component="container">
173
174
175
176
177
178
179 <main class="md-main" data-md-component="main">
180 <div class="md-main__inner md-grid">
181
182
183
184 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
185 <div class="md-sidebar__scrollwrap">
186 <div class="md-sidebar__inner">
187
188
189
190<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
191 <label class="md-nav__title" for="__drawer">
192 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
193
194 <img src="../../../assets/logo.png" alt="logo">
195
196 </a>
197 WoltLab Suite Documentation
198 </label>
199
200 <div class="md-nav__source">
201 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
202 <div class="md-source__icon md-icon">
203
7f9945cf 204 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
9aa5da67
WG
205 </div>
206 <div class="md-source__repository">
207 GitHub
208 </div>
209</a>
210 </div>
211
212 <ul class="md-nav__list" data-md-scrollfix>
213
214
215
216
217
218
219
220
221 <li class="md-nav__item">
222 <a href="../../../getting-started/" class="md-nav__link">
223 Getting Started
224 </a>
225 </li>
226
227
228
229
230
231
232
233
234
235
236
237 <li class="md-nav__item md-nav__item--nested">
238
239
240 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
241
242
243
244
245 <label class="md-nav__link" for="__nav_2">
246 PHP API
247 <span class="md-nav__icon md-icon"></span>
248 </label>
249
250 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
251 <label class="md-nav__title" for="__nav_2">
252 <span class="md-nav__icon md-icon"></span>
253 PHP API
254 </label>
255 <ul class="md-nav__list" data-md-scrollfix>
256
257
258
259
260
261
262 <li class="md-nav__item">
263 <a href="../../../php/pages/" class="md-nav__link">
264 Pages
265 </a>
266 </li>
267
268
269
270
271
272
273
274
275
276 <li class="md-nav__item">
277 <a href="../../../php/database-objects/" class="md-nav__link">
278 Database Objects
279 </a>
280 </li>
281
282
283
284
285
286
287
288
289
290 <li class="md-nav__item">
291 <a href="../../../php/database-access/" class="md-nav__link">
292 Database Access
293 </a>
294 </li>
295
296
297
298
299
300
301
302
303
304 <li class="md-nav__item">
305 <a href="../../../php/exceptions/" class="md-nav__link">
306 Exceptions
307 </a>
308 </li>
309
310
311
312
313
314
315
316
317
318
319 <li class="md-nav__item md-nav__item--nested">
320
321
322 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
323
324
325
326
327 <label class="md-nav__link" for="__nav_2_5">
328 API
329 <span class="md-nav__icon md-icon"></span>
330 </label>
331
332 <nav class="md-nav" aria-label="API" data-md-level="2">
333 <label class="md-nav__title" for="__nav_2_5">
334 <span class="md-nav__icon md-icon"></span>
335 API
336 </label>
337 <ul class="md-nav__list" data-md-scrollfix>
338
339
340
341
342
343
344
345 <li class="md-nav__item md-nav__item--nested">
346
347
348 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
349
350
351
352
353 <label class="md-nav__link" for="__nav_2_5_1">
354 Caches
355 <span class="md-nav__icon md-icon"></span>
356 </label>
357
358 <nav class="md-nav" aria-label="Caches" data-md-level="3">
359 <label class="md-nav__title" for="__nav_2_5_1">
360 <span class="md-nav__icon md-icon"></span>
361 Caches
362 </label>
363 <ul class="md-nav__list" data-md-scrollfix>
364
365
366
367
368
369
370 <li class="md-nav__item">
371 <a href="../../../php/api/caches/" class="md-nav__link">
372 Overview
373 </a>
374 </li>
375
376
377
378
379
380
381
382
383
384 <li class="md-nav__item">
385 <a href="../../../php/api/caches_persistent-caches/" class="md-nav__link">
386 Persistent Caches
387 </a>
388 </li>
389
390
391
392
393
394
395
396
397
398 <li class="md-nav__item">
399 <a href="../../../php/api/caches_runtime-caches/" class="md-nav__link">
400 Runtime Caches
401 </a>
402 </li>
403
404
405
406
407 </ul>
408 </nav>
409 </li>
410
411
412
413
414
415
416
417
418
419 <li class="md-nav__item">
420 <a href="../../../php/api/comments/" class="md-nav__link">
421 Comments
422 </a>
423 </li>
424
425
426
427
428
429
430
431
432
433 <li class="md-nav__item">
434 <a href="../../../php/api/cronjobs/" class="md-nav__link">
435 Cronjobs
436 </a>
437 </li>
438
439
440
441
442
443
444
445
446
447 <li class="md-nav__item">
448 <a href="../../../php/api/events/" class="md-nav__link">
449 Events
450 </a>
451 </li>
452
453
454
455
456
457
458
459
460
461
462 <li class="md-nav__item md-nav__item--nested">
463
464
465 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
466
467
468
469
470 <label class="md-nav__link" for="__nav_2_5_5">
471 Form Builder
472 <span class="md-nav__icon md-icon"></span>
473 </label>
474
475 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
476 <label class="md-nav__title" for="__nav_2_5_5">
477 <span class="md-nav__icon md-icon"></span>
478 Form Builder
479 </label>
480 <ul class="md-nav__list" data-md-scrollfix>
481
482
483
484
485
486
487 <li class="md-nav__item">
488 <a href="../../../php/api/form_builder/overview/" class="md-nav__link">
489 Overview
490 </a>
491 </li>
492
493
494
495
496
497
498
499
500
501 <li class="md-nav__item">
502 <a href="../../../php/api/form_builder/structure/" class="md-nav__link">
503 Structure
504 </a>
505 </li>
506
507
508
509
510
511
512
513
514
515 <li class="md-nav__item">
516 <a href="../../../php/api/form_builder/form_fields/" class="md-nav__link">
517 Fields
518 </a>
519 </li>
520
521
522
523
524
525
526
527
528
529 <li class="md-nav__item">
530 <a href="../../../php/api/form_builder/validation_data/" class="md-nav__link">
531 Validation and Data
532 </a>
533 </li>
534
535
536
537
538
539
540
541
542
543 <li class="md-nav__item">
544 <a href="../../../php/api/form_builder/dependencies/" class="md-nav__link">
545 Dependencies
546 </a>
547 </li>
548
549
550
551
552 </ul>
553 </nav>
554 </li>
555
556
557
558
559
560
561
562
563
564 <li class="md-nav__item">
565 <a href="../../../php/api/package_installation_plugins/" class="md-nav__link">
566 Package Installation Plugins
567 </a>
568 </li>
569
570
571
572
573
574
575
576
577
578 <li class="md-nav__item">
579 <a href="../../../php/api/user_activity_points/" class="md-nav__link">
580 User Activity Points
581 </a>
582 </li>
583
584
585
586
587
588
589
590
591
592 <li class="md-nav__item">
593 <a href="../../../php/api/user_notifications/" class="md-nav__link">
594 User Notifications
595 </a>
596 </li>
597
598
599
600
601
602
603
604
605
606 <li class="md-nav__item">
607 <a href="../../../php/api/sitemaps/" class="md-nav__link">
608 Sitemaps
609 </a>
610 </li>
611
612
613
614
615 </ul>
616 </nav>
617 </li>
618
619
620
621
622
623
624
625
626
627 <li class="md-nav__item">
628 <a href="../../../php/code-style/" class="md-nav__link">
629 Code Style
630 </a>
631 </li>
632
633
634
635
636
637
638
639
640
641 <li class="md-nav__item">
642 <a href="../../../php/apps/" class="md-nav__link">
643 Apps
644 </a>
645 </li>
646
647
648
649
650
651
652
653
654
655 <li class="md-nav__item">
656 <a href="../../../php/gdpr/" class="md-nav__link">
657 GDPR
658 </a>
659 </li>
660
661
662
663
664 </ul>
665 </nav>
666 </li>
667
668
669
670
671
672
673
674
675
676
677
678 <li class="md-nav__item md-nav__item--nested">
679
680
681 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
682
683
684
685
686 <label class="md-nav__link" for="__nav_3">
687 Languages, Templates & CSS
688 <span class="md-nav__icon md-icon"></span>
689 </label>
690
691 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
692 <label class="md-nav__title" for="__nav_3">
693 <span class="md-nav__icon md-icon"></span>
694 Languages, Templates & CSS
695 </label>
696 <ul class="md-nav__list" data-md-scrollfix>
697
698
699
700
701
702
703 <li class="md-nav__item">
704 <a href="../../../view/languages/" class="md-nav__link">
705 Languages
706 </a>
707 </li>
708
709
710
711
712
713
714
715
716
717 <li class="md-nav__item">
718 <a href="../../../view/templates/" class="md-nav__link">
719 Templates
720 </a>
721 </li>
722
723
724
725
726
727
728
729
730
731 <li class="md-nav__item">
732 <a href="../../../view/template-plugins/" class="md-nav__link">
733 Template Plugins
734 </a>
735 </li>
736
737
738
739
740
741
742
743
744
745 <li class="md-nav__item">
746 <a href="../../../view/css/" class="md-nav__link">
747 CSS
748 </a>
749 </li>
750
751
752
753
754 </ul>
755 </nav>
756 </li>
757
758
759
760
761
762
763
764
765
766
767
768 <li class="md-nav__item md-nav__item--nested">
769
770
771 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
772
773
774
775
776 <label class="md-nav__link" for="__nav_4">
777 TypeScript and JavaScript API
778 <span class="md-nav__icon md-icon"></span>
779 </label>
780
781 <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
782 <label class="md-nav__title" for="__nav_4">
783 <span class="md-nav__icon md-icon"></span>
784 TypeScript and JavaScript API
785 </label>
786 <ul class="md-nav__list" data-md-scrollfix>
787
788
789
790
791
792
793 <li class="md-nav__item">
794 <a href="../../../javascript/general-usage/" class="md-nav__link">
795 General Usage
796 </a>
797 </li>
798
799
800
801
802
803
804
805
806
807 <li class="md-nav__item">
808 <a href="../../../javascript/typescript/" class="md-nav__link">
809 TypeScript
810 </a>
811 </li>
812
813
814
815
816
817
818
819
820
821
822 <li class="md-nav__item md-nav__item--nested">
823
824
825 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" >
826
827
828
829
830 <label class="md-nav__link" for="__nav_4_3">
831 New API
832 <span class="md-nav__icon md-icon"></span>
833 </label>
834
835 <nav class="md-nav" aria-label="New API" data-md-level="2">
836 <label class="md-nav__title" for="__nav_4_3">
837 <span class="md-nav__icon md-icon"></span>
838 New API
839 </label>
840 <ul class="md-nav__list" data-md-scrollfix>
841
842
843
844
845
846
847 <li class="md-nav__item">
848 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
849 Writing a module
850 </a>
851 </li>
852
853
854
855
856
857
858
859
860
861 <li class="md-nav__item">
862 <a href="../../../javascript/new-api_data-structures/" class="md-nav__link">
863 Data Structures
864 </a>
865 </li>
866
867
868
869
870
871
872
873
874
875 <li class="md-nav__item">
876 <a href="../../../javascript/new-api_core/" class="md-nav__link">
877 Core Functions
878 </a>
879 </li>
880
881
882
883
884
885
886
887
888
889 <li class="md-nav__item">
890 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
891 DOM
892 </a>
893 </li>
894
895
896
897
898
899
900
901
902
903 <li class="md-nav__item">
904 <a href="../../../javascript/new-api_events/" class="md-nav__link">
905 Event Handling
906 </a>
907 </li>
908
909
910
911
912
913
914
915
916
917 <li class="md-nav__item">
918 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
919 Ajax
920 </a>
921 </li>
922
923
924
925
926
927
928
929
930
931 <li class="md-nav__item">
932 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
933 Dialogs
934 </a>
935 </li>
936
937
938
939
940
941
942
943
944
945 <li class="md-nav__item">
946 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
947 Browser and Screen Sizes
948 </a>
949 </li>
950
951
952
953
954
955
956
957
958
959 <li class="md-nav__item">
960 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
961 User Interface
962 </a>
963 </li>
964
965
966
967
968 </ul>
969 </nav>
970 </li>
971
972
973
974
975
976
977
978
979
980 <li class="md-nav__item">
981 <a href="../../../javascript/legacy-api/" class="md-nav__link">
982 Legacy API
983 </a>
984 </li>
985
986
987
988
989
990
991
992
993
994 <li class="md-nav__item">
995 <a href="../../../javascript/helper-functions/" class="md-nav__link">
996 Helper Functions
997 </a>
998 </li>
999
1000
1001
1002
1003
1004
1005
1006
1007
1008 <li class="md-nav__item">
1009 <a href="../../../javascript/code-snippets/" class="md-nav__link">
1010 Code Snippets
1011 </a>
1012 </li>
1013
1014
1015
1016
1017 </ul>
1018 </nav>
1019 </li>
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031 <li class="md-nav__item md-nav__item--nested">
1032
1033
1034 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
1035
1036
1037
1038
1039 <label class="md-nav__link" for="__nav_5">
1040 Package Components
1041 <span class="md-nav__icon md-icon"></span>
1042 </label>
1043
1044 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1045 <label class="md-nav__title" for="__nav_5">
1046 <span class="md-nav__icon md-icon"></span>
1047 Package Components
1048 </label>
1049 <ul class="md-nav__list" data-md-scrollfix>
1050
1051
1052
1053
1054
1055
1056 <li class="md-nav__item">
1057 <a href="../../../package/package-xml/" class="md-nav__link">
1058 package.xml
1059 </a>
1060 </li>
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071 <li class="md-nav__item md-nav__item--nested">
1072
1073
1074 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
1075
1076
1077
1078
1079 <label class="md-nav__link" for="__nav_5_2">
1080 PIPs
1081 <span class="md-nav__icon md-icon"></span>
1082 </label>
1083
1084 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1085 <label class="md-nav__title" for="__nav_5_2">
1086 <span class="md-nav__icon md-icon"></span>
1087 PIPs
1088 </label>
1089 <ul class="md-nav__list" data-md-scrollfix>
1090
1091
1092
1093
1094
1095
1096 <li class="md-nav__item">
1097 <a href="../../../package/pip/" class="md-nav__link">
1098 Overview
1099 </a>
1100 </li>
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110 <li class="md-nav__item">
1111 <a href="../../../package/pip/acl-option/" class="md-nav__link">
1112 aclOption
1113 </a>
1114 </li>
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124 <li class="md-nav__item">
1125 <a href="../../../package/pip/acp-menu/" class="md-nav__link">
1126 acpMenu
1127 </a>
1128 </li>
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138 <li class="md-nav__item">
1139 <a href="../../../package/pip/acp-search-provider/" class="md-nav__link">
1140 acpSearchProvider
1141 </a>
1142 </li>
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152 <li class="md-nav__item">
1153 <a href="../../../package/pip/acp-template/" class="md-nav__link">
1154 acpTemplate
1155 </a>
1156 </li>
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166 <li class="md-nav__item">
1167 <a href="../../../package/pip/acp-template-delete/" class="md-nav__link">
1168 acpTemplateDelete
1169 </a>
1170 </li>
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180 <li class="md-nav__item">
1181 <a href="../../../package/pip/bbcode/" class="md-nav__link">
1182 bbcode
1183 </a>
1184 </li>
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194 <li class="md-nav__item">
1195 <a href="../../../package/pip/box/" class="md-nav__link">
1196 box
1197 </a>
1198 </li>
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208 <li class="md-nav__item">
1209 <a href="../../../package/pip/clipboard-action/" class="md-nav__link">
1210 clipboardAction
1211 </a>
1212 </li>
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222 <li class="md-nav__item">
1223 <a href="../../../package/pip/core-object/" class="md-nav__link">
1224 coreObject
1225 </a>
1226 </li>
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236 <li class="md-nav__item">
1237 <a href="../../../package/pip/cronjob/" class="md-nav__link">
1238 cronjob
1239 </a>
1240 </li>
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250 <li class="md-nav__item">
1251 <a href="../../../package/pip/database/" class="md-nav__link">
1252 database
1253 </a>
1254 </li>
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264 <li class="md-nav__item">
1265 <a href="../../../package/pip/event-listener/" class="md-nav__link">
1266 eventListener
1267 </a>
1268 </li>
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278 <li class="md-nav__item">
1279 <a href="../../../package/pip/file/" class="md-nav__link">
1280 file
1281 </a>
1282 </li>
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292 <li class="md-nav__item">
1293 <a href="../../../package/pip/file-delete/" class="md-nav__link">
1294 fileDelete
1295 </a>
1296 </li>
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306 <li class="md-nav__item">
1307 <a href="../../../package/pip/language/" class="md-nav__link">
1308 language
1309 </a>
1310 </li>
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320 <li class="md-nav__item">
1321 <a href="../../../package/pip/media-provider/" class="md-nav__link">
1322 mediaProvider
1323 </a>
1324 </li>
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334 <li class="md-nav__item">
1335 <a href="../../../package/pip/menu/" class="md-nav__link">
1336 menu
1337 </a>
1338 </li>
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348 <li class="md-nav__item">
1349 <a href="../../../package/pip/menu-item/" class="md-nav__link">
1350 menuItem
1351 </a>
1352 </li>
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362 <li class="md-nav__item">
1363 <a href="../../../package/pip/object-type/" class="md-nav__link">
1364 objectType
1365 </a>
1366 </li>
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376 <li class="md-nav__item">
1377 <a href="../../../package/pip/object-type-definition/" class="md-nav__link">
1378 objectTypeDefinition
1379 </a>
1380 </li>
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390 <li class="md-nav__item">
1391 <a href="../../../package/pip/option/" class="md-nav__link">
1392 option
1393 </a>
1394 </li>
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404 <li class="md-nav__item">
1405 <a href="../../../package/pip/page/" class="md-nav__link">
1406 page
1407 </a>
1408 </li>
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418 <li class="md-nav__item">
1419 <a href="../../../package/pip/pip/" class="md-nav__link">
1420 pip
1421 </a>
1422 </li>
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432 <li class="md-nav__item">
1433 <a href="../../../package/pip/script/" class="md-nav__link">
1434 script
1435 </a>
1436 </li>
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446 <li class="md-nav__item">
1447 <a href="../../../package/pip/smiley/" class="md-nav__link">
1448 smiley
1449 </a>
1450 </li>
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460 <li class="md-nav__item">
1461 <a href="../../../package/pip/sql/" class="md-nav__link">
1462 sql
1463 </a>
1464 </li>
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474 <li class="md-nav__item">
1475 <a href="../../../package/pip/style/" class="md-nav__link">
1476 style
1477 </a>
1478 </li>
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488 <li class="md-nav__item">
1489 <a href="../../../package/pip/template/" class="md-nav__link">
1490 template
1491 </a>
1492 </li>
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502 <li class="md-nav__item">
1503 <a href="../../../package/pip/template-delete/" class="md-nav__link">
1504 templateDelete
1505 </a>
1506 </li>
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516 <li class="md-nav__item">
1517 <a href="../../../package/pip/template-listener/" class="md-nav__link">
1518 templateListener
1519 </a>
1520 </li>
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530 <li class="md-nav__item">
1531 <a href="../../../package/pip/user-group-option/" class="md-nav__link">
1532 userGroupOption
1533 </a>
1534 </li>
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544 <li class="md-nav__item">
1545 <a href="../../../package/pip/user-menu/" class="md-nav__link">
1546 userMenu
1547 </a>
1548 </li>
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558 <li class="md-nav__item">
1559 <a href="../../../package/pip/user-notification-event/" class="md-nav__link">
1560 userNotificationEvent
1561 </a>
1562 </li>
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572 <li class="md-nav__item">
1573 <a href="../../../package/pip/user-option/" class="md-nav__link">
1574 userOption
1575 </a>
1576 </li>
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586 <li class="md-nav__item">
1587 <a href="../../../package/pip/user-profile-menu/" class="md-nav__link">
1588 userProfileMenu
1589 </a>
1590 </li>
1591
1592
1593
1594
1595 </ul>
1596 </nav>
1597 </li>
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607 <li class="md-nav__item">
1608 <a href="../../../package/database-php-api/" class="md-nav__link">
1609 Database PHP API
1610 </a>
1611 </li>
1612
1613
1614
1615
1616 </ul>
1617 </nav>
1618 </li>
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1633
1634
1635 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked>
1636
1637
1638
1639
1640 <label class="md-nav__link" for="__nav_6">
1641 Migration
1642 <span class="md-nav__icon md-icon"></span>
1643 </label>
1644
1645 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1646 <label class="md-nav__title" for="__nav_6">
1647 <span class="md-nav__icon md-icon"></span>
1648 Migration
1649 </label>
1650 <ul class="md-nav__list" data-md-scrollfix>
1651
1652
1653
1654
1655
1656
1657
1658 <li class="md-nav__item md-nav__item--nested">
1659
1660
1661 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1662
1663
1664
1665
1666 <label class="md-nav__link" for="__nav_6_1">
1667 From WoltLab Suite 5.5
1668 <span class="md-nav__icon md-icon"></span>
1669 </label>
1670
1671 <nav class="md-nav" aria-label="From WoltLab Suite 5.5" data-md-level="2">
1672 <label class="md-nav__title" for="__nav_6_1">
1673 <span class="md-nav__icon md-icon"></span>
1674 From WoltLab Suite 5.5
1675 </label>
1676 <ul class="md-nav__list" data-md-scrollfix>
1677
1678
1679
1680
1681
1682
1683 <li class="md-nav__item">
1684 <a href="../../wsc55/php/" class="md-nav__link">
1685 PHP API
1686 </a>
1687 </li>
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697 <li class="md-nav__item">
1698 <a href="../../wsc55/javascript/" class="md-nav__link">
1699 TypeScript and JavaScript
1700 </a>
1701 </li>
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711 <li class="md-nav__item">
1712 <a href="../../wsc55/templates/" class="md-nav__link">
1713 Templates
1714 </a>
1715 </li>
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725 <li class="md-nav__item">
1726 <a href="../../wsc55/libraries/" class="md-nav__link">
1727 Third Party Libraries
1728 </a>
1729 </li>
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739 <li class="md-nav__item">
1740 <a href="../../wsc55/deprecations_removals/" class="md-nav__link">
1741 Deprecations and Removals
1742 </a>
1743 </li>
1744
1745
1746
1747
1748 </ul>
1749 </nav>
1750 </li>
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761 <li class="md-nav__item md-nav__item--nested">
1762
1763
1764 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1765
1766
1767
1768
1769 <label class="md-nav__link" for="__nav_6_2">
1770 From WoltLab Suite 5.4
1771 <span class="md-nav__icon md-icon"></span>
1772 </label>
1773
1774 <nav class="md-nav" aria-label="From WoltLab Suite 5.4" data-md-level="2">
1775 <label class="md-nav__title" for="__nav_6_2">
1776 <span class="md-nav__icon md-icon"></span>
1777 From WoltLab Suite 5.4
1778 </label>
1779 <ul class="md-nav__list" data-md-scrollfix>
1780
1781
1782
1783
1784
1785
1786 <li class="md-nav__item">
1787 <a href="../../wsc54/php/" class="md-nav__link">
1788 PHP API
1789 </a>
1790 </li>
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800 <li class="md-nav__item">
1801 <a href="../../wsc54/javascript/" class="md-nav__link">
1802 TypeScript and JavaScript
1803 </a>
1804 </li>
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814 <li class="md-nav__item">
1815 <a href="../../wsc54/templates/" class="md-nav__link">
1816 Templates
1817 </a>
1818 </li>
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828 <li class="md-nav__item">
1829 <a href="../../wsc54/libraries/" class="md-nav__link">
1830 Third Party Libraries
1831 </a>
1832 </li>
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842 <li class="md-nav__item">
1843 <a href="../../wsc54/deprecations_removals/" class="md-nav__link">
1844 Deprecations and Removals
1845 </a>
1846 </li>
1847
1848
1849
1850
1851 </ul>
1852 </nav>
1853 </li>
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864 <li class="md-nav__item md-nav__item--nested">
1865
1866
1867 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1868
1869
1870
1871
1872 <label class="md-nav__link" for="__nav_6_3">
1873 From WoltLab Suite 5.3
1874 <span class="md-nav__icon md-icon"></span>
1875 </label>
1876
1877 <nav class="md-nav" aria-label="From WoltLab Suite 5.3" data-md-level="2">
1878 <label class="md-nav__title" for="__nav_6_3">
1879 <span class="md-nav__icon md-icon"></span>
1880 From WoltLab Suite 5.3
1881 </label>
1882 <ul class="md-nav__list" data-md-scrollfix>
1883
1884
1885
1886
1887
1888
1889 <li class="md-nav__item">
1890 <a href="../../wsc53/php/" class="md-nav__link">
1891 PHP API
1892 </a>
1893 </li>
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903 <li class="md-nav__item">
1904 <a href="../../wsc53/session/" class="md-nav__link">
1905 Session Handling and Authentication
1906 </a>
1907 </li>
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917 <li class="md-nav__item">
1918 <a href="../../wsc53/javascript/" class="md-nav__link">
1919 TypeScript and JavaScript
1920 </a>
1921 </li>
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931 <li class="md-nav__item">
1932 <a href="../../wsc53/templates/" class="md-nav__link">
1933 Templates
1934 </a>
1935 </li>
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945 <li class="md-nav__item">
1946 <a href="../../wsc53/libraries/" class="md-nav__link">
1947 Third Party Libraries
1948 </a>
1949 </li>
1950
1951
1952
1953
1954 </ul>
1955 </nav>
1956 </li>
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967 <li class="md-nav__item md-nav__item--nested">
1968
1969
1970 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1971
1972
1973
1974
1975 <label class="md-nav__link" for="__nav_6_4">
1976 From WoltLab Suite 5.2
1977 <span class="md-nav__icon md-icon"></span>
1978 </label>
1979
1980 <nav class="md-nav" aria-label="From WoltLab Suite 5.2" data-md-level="2">
1981 <label class="md-nav__title" for="__nav_6_4">
1982 <span class="md-nav__icon md-icon"></span>
1983 From WoltLab Suite 5.2
1984 </label>
1985 <ul class="md-nav__list" data-md-scrollfix>
1986
1987
1988
1989
1990
1991
1992 <li class="md-nav__item">
1993 <a href="../../wsc52/php/" class="md-nav__link">
1994 PHP API
1995 </a>
1996 </li>
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006 <li class="md-nav__item">
2007 <a href="../../wsc52/templates/" class="md-nav__link">
2008 Templates and Languages
2009 </a>
2010 </li>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020 <li class="md-nav__item">
2021 <a href="../../wsc52/libraries/" class="md-nav__link">
2022 Third Party Libraries
2023 </a>
2024 </li>
2025
2026
2027
2028
2029 </ul>
2030 </nav>
2031 </li>
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042 <li class="md-nav__item md-nav__item--nested">
2043
2044
2045 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
2046
2047
2048
2049
2050 <label class="md-nav__link" for="__nav_6_5">
2051 From WoltLab Suite 3.1
2052 <span class="md-nav__icon md-icon"></span>
2053 </label>
2054
2055 <nav class="md-nav" aria-label="From WoltLab Suite 3.1" data-md-level="2">
2056 <label class="md-nav__title" for="__nav_6_5">
2057 <span class="md-nav__icon md-icon"></span>
2058 From WoltLab Suite 3.1
2059 </label>
2060 <ul class="md-nav__list" data-md-scrollfix>
2061
2062
2063
2064
2065
2066
2067 <li class="md-nav__item">
2068 <a href="../../wsc31/php/" class="md-nav__link">
2069 PHP API
2070 </a>
2071 </li>
2072
2073
2074
2075
2076 </ul>
2077 </nav>
2078 </li>
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089 <li class="md-nav__item md-nav__item--nested">
2090
2091
2092 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
2093
2094
2095
2096
2097 <label class="md-nav__link" for="__nav_6_6">
2098 From WoltLab Suite 3.0
2099 <span class="md-nav__icon md-icon"></span>
2100 </label>
2101
2102 <nav class="md-nav" aria-label="From WoltLab Suite 3.0" data-md-level="2">
2103 <label class="md-nav__title" for="__nav_6_6">
2104 <span class="md-nav__icon md-icon"></span>
2105 From WoltLab Suite 3.0
2106 </label>
2107 <ul class="md-nav__list" data-md-scrollfix>
2108
2109
2110
2111
2112
2113
2114 <li class="md-nav__item">
2115 <a href="../../wsc30/php/" class="md-nav__link">
2116 PHP API
2117 </a>
2118 </li>
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128 <li class="md-nav__item">
2129 <a href="../../wsc30/javascript/" class="md-nav__link">
2130 JavaScript API
2131 </a>
2132 </li>
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142 <li class="md-nav__item">
2143 <a href="../../wsc30/templates/" class="md-nav__link">
2144 Templates
2145 </a>
2146 </li>
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156 <li class="md-nav__item">
2157 <a href="../../wsc30/css/" class="md-nav__link">
2158 CSS
2159 </a>
2160 </li>
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170 <li class="md-nav__item">
2171 <a href="../../wsc30/package/" class="md-nav__link">
2172 Package Components
2173 </a>
2174 </li>
2175
2176
2177
2178
2179 </ul>
2180 </nav>
2181 </li>
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
2195
2196
2197 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_7" type="checkbox" id="__nav_6_7" checked>
2198
2199
2200
2201
2202 <label class="md-nav__link" for="__nav_6_7">
2203 From WCF 2.1
2204 <span class="md-nav__icon md-icon"></span>
2205 </label>
2206
2207 <nav class="md-nav" aria-label="From WCF 2.1" data-md-level="2">
2208 <label class="md-nav__title" for="__nav_6_7">
2209 <span class="md-nav__icon md-icon"></span>
2210 From WCF 2.1
2211 </label>
2212 <ul class="md-nav__list" data-md-scrollfix>
2213
2214
2215
2216
2217
2218
2219 <li class="md-nav__item">
2220 <a href="../php/" class="md-nav__link">
2221 PHP API
2222 </a>
2223 </li>
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235 <li class="md-nav__item md-nav__item--active">
2236
2237 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
2238
2239
2240
2241
2242
2243 <label class="md-nav__link md-nav__link--active" for="__toc">
2244 Templates
2245 <span class="md-nav__icon md-icon"></span>
2246 </label>
2247
2248 <a href="./" class="md-nav__link md-nav__link--active">
2249 Templates
2250 </a>
2251
2252
2253
2254<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2255
2256
2257
2258
2259
2260
2261 <label class="md-nav__title" for="__toc">
2262 <span class="md-nav__icon md-icon"></span>
2263 Table of contents
2264 </label>
2265 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2266
2267 <li class="md-nav__item">
2268 <a href="#page-layout" class="md-nav__link">
2269 Page Layout
2270 </a>
2271
2272</li>
2273
2274 <li class="md-nav__item">
2275 <a href="#sidebars" class="md-nav__link">
2276 Sidebars
2277 </a>
2278
2279</li>
2280
2281 <li class="md-nav__item">
2282 <a href="#forms" class="md-nav__link">
2283 Forms
2284 </a>
2285
2286</li>
2287
2288 <li class="md-nav__item">
2289 <a href="#icons" class="md-nav__link">
2290 Icons
2291 </a>
2292
2293 <nav class="md-nav" aria-label="Icons">
2294 <ul class="md-nav__list">
2295
2296 <li class="md-nav__item">
2297 <a href="#changed-icon-names" class="md-nav__link">
2298 Changed Icon Names
2299 </a>
2300
2301</li>
2302
2303 </ul>
2304 </nav>
2305
2306</li>
2307
2308 <li class="md-nav__item">
2309 <a href="#changed-classes" class="md-nav__link">
2310 Changed Classes
2311 </a>
2312
2313</li>
2314
2315 <li class="md-nav__item">
2316 <a href="#removed-elements-and-classes" class="md-nav__link">
2317 Removed Elements and Classes
2318 </a>
2319
2320</li>
2321
2322 <li class="md-nav__item">
2323 <a href="#simple-example" class="md-nav__link">
2324 Simple Example
2325 </a>
2326
2327</li>
2328
2329 <li class="md-nav__item">
2330 <a href="#full-example" class="md-nav__link">
2331 Full Example
2332 </a>
2333
2334 <nav class="md-nav" aria-label="Full Example">
2335 <ul class="md-nav__list">
2336
2337 <li class="md-nav__item">
2338 <a href="#content-header" class="md-nav__link">
2339 Content Header
2340 </a>
2341
2342 <nav class="md-nav" aria-label="Content Header">
2343 <ul class="md-nav__list">
2344
2345 <li class="md-nav__item">
2346 <a href="#recommended-approach" class="md-nav__link">
2347 Recommended Approach
2348 </a>
2349
2350</li>
2351
2352 <li class="md-nav__item">
2353 <a href="#alternative" class="md-nav__link">
2354 Alternative
2355 </a>
2356
2357</li>
2358
2359 </ul>
2360 </nav>
2361
2362</li>
2363
2364 </ul>
2365 </nav>
2366
2367</li>
2368
2369 </ul>
2370
2371</nav>
2372
2373 </li>
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383 <li class="md-nav__item">
2384 <a href="../css/" class="md-nav__link">
2385 CSS
2386 </a>
2387 </li>
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397 <li class="md-nav__item">
2398 <a href="../package/" class="md-nav__link">
2399 Package Components
2400 </a>
2401 </li>
2402
2403
2404
2405
2406 </ul>
2407 </nav>
2408 </li>
2409
2410
2411
2412
2413 </ul>
2414 </nav>
2415 </li>
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427 <li class="md-nav__item md-nav__item--nested">
2428
2429
2430 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
2431
2432
2433
2434
2435 <label class="md-nav__link" for="__nav_7">
2436 Tutorials
2437 <span class="md-nav__icon md-icon"></span>
2438 </label>
2439
2440 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
2441 <label class="md-nav__title" for="__nav_7">
2442 <span class="md-nav__icon md-icon"></span>
2443 Tutorials
2444 </label>
2445 <ul class="md-nav__list" data-md-scrollfix>
2446
2447
2448
2449
2450
2451
2452
2453 <li class="md-nav__item md-nav__item--nested">
2454
2455
2456 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
2457
2458
2459
2460
2461 <label class="md-nav__link" for="__nav_7_1">
2462 Tutorial Series
2463 <span class="md-nav__icon md-icon"></span>
2464 </label>
2465
2466 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
2467 <label class="md-nav__title" for="__nav_7_1">
2468 <span class="md-nav__icon md-icon"></span>
2469 Tutorial Series
2470 </label>
2471 <ul class="md-nav__list" data-md-scrollfix>
2472
2473
2474
2475
2476
2477
2478 <li class="md-nav__item">
2479 <a href="../../../tutorial/series/overview/" class="md-nav__link">
2480 Overview
2481 </a>
2482 </li>
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492 <li class="md-nav__item">
2493 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
2494 Part 1
2495 </a>
2496 </li>
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506 <li class="md-nav__item">
2507 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
2508 Part 2
2509 </a>
2510 </li>
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520 <li class="md-nav__item">
2521 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
2522 Part 3
2523 </a>
2524 </li>
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534 <li class="md-nav__item">
2535 <a href="../../../tutorial/series/part_4/" class="md-nav__link">
2536 Part 4
2537 </a>
2538 </li>
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548 <li class="md-nav__item">
2549 <a href="../../../tutorial/series/part_5/" class="md-nav__link">
2550 Part 5
2551 </a>
2552 </li>
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562 <li class="md-nav__item">
2563 <a href="../../../tutorial/series/part_6/" class="md-nav__link">
2564 Part 6
2565 </a>
2566 </li>
2567
2568
2569
2570
2571 </ul>
2572 </nav>
2573 </li>
2574
2575
2576
2577
2578 </ul>
2579 </nav>
2580 </li>
2581
2582
2583
2584 </ul>
2585</nav>
2586 </div>
2587 </div>
2588 </div>
2589
2590
2591
2592 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2593 <div class="md-sidebar__scrollwrap">
2594 <div class="md-sidebar__inner">
2595
2596
2597<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2598
2599
2600
2601
2602
2603
2604 <label class="md-nav__title" for="__toc">
2605 <span class="md-nav__icon md-icon"></span>
2606 Table of contents
2607 </label>
2608 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2609
2610 <li class="md-nav__item">
2611 <a href="#page-layout" class="md-nav__link">
2612 Page Layout
2613 </a>
2614
2615</li>
2616
2617 <li class="md-nav__item">
2618 <a href="#sidebars" class="md-nav__link">
2619 Sidebars
2620 </a>
2621
2622</li>
2623
2624 <li class="md-nav__item">
2625 <a href="#forms" class="md-nav__link">
2626 Forms
2627 </a>
2628
2629</li>
2630
2631 <li class="md-nav__item">
2632 <a href="#icons" class="md-nav__link">
2633 Icons
2634 </a>
2635
2636 <nav class="md-nav" aria-label="Icons">
2637 <ul class="md-nav__list">
2638
2639 <li class="md-nav__item">
2640 <a href="#changed-icon-names" class="md-nav__link">
2641 Changed Icon Names
2642 </a>
2643
2644</li>
2645
2646 </ul>
2647 </nav>
2648
2649</li>
2650
2651 <li class="md-nav__item">
2652 <a href="#changed-classes" class="md-nav__link">
2653 Changed Classes
2654 </a>
2655
2656</li>
2657
2658 <li class="md-nav__item">
2659 <a href="#removed-elements-and-classes" class="md-nav__link">
2660 Removed Elements and Classes
2661 </a>
2662
2663</li>
2664
2665 <li class="md-nav__item">
2666 <a href="#simple-example" class="md-nav__link">
2667 Simple Example
2668 </a>
2669
2670</li>
2671
2672 <li class="md-nav__item">
2673 <a href="#full-example" class="md-nav__link">
2674 Full Example
2675 </a>
2676
2677 <nav class="md-nav" aria-label="Full Example">
2678 <ul class="md-nav__list">
2679
2680 <li class="md-nav__item">
2681 <a href="#content-header" class="md-nav__link">
2682 Content Header
2683 </a>
2684
2685 <nav class="md-nav" aria-label="Content Header">
2686 <ul class="md-nav__list">
2687
2688 <li class="md-nav__item">
2689 <a href="#recommended-approach" class="md-nav__link">
2690 Recommended Approach
2691 </a>
2692
2693</li>
2694
2695 <li class="md-nav__item">
2696 <a href="#alternative" class="md-nav__link">
2697 Alternative
2698 </a>
2699
2700</li>
2701
2702 </ul>
2703 </nav>
2704
2705</li>
2706
2707 </ul>
2708 </nav>
2709
2710</li>
2711
2712 </ul>
2713
2714</nav>
2715 </div>
2716 </div>
2717 </div>
2718
2719
7f9945cf
WG
2720
2721 <div class="md-content" data-md-component="content">
2722 <article class="md-content__inner md-typeset">
9aa5da67 2723
7f9945cf
WG
2724
2725
9aa5da67 2726 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/6.0/docs/migration/wcf21/templates.md" title="Edit this page" class="md-content__button md-icon">
7f9945cf 2727
9aa5da67
WG
2728 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"/></svg>
2729 </a>
2730
2731
9aa5da67
WG
2732<h1 id="wcf-21x-templates">WCF 2.1.x - Templates<a class="headerlink" href="#wcf-21x-templates" title="Permanent link">#</a></h1>
2733<h2 id="page-layout">Page Layout<a class="headerlink" href="#page-layout" title="Permanent link">#</a></h2>
2734<p>The template structure has been overhauled and it is no longer required nor recommended to include internal templates, such as <code>documentHeader</code>, <code>headInclude</code> or <code>userNotice</code>. Instead use a simple <code>{include file='header'}</code> that now takes care of of the entire application frame.</p>
2735<ul>
2736<li>Templates must not include a trailing <code>&lt;/body&gt;&lt;/html&gt;</code> after including the <code>footer</code> template.</li>
2737<li>The <code>documentHeader</code>, <code>headInclude</code> and <code>userNotice</code> template should no longer be included manually, the same goes with the <code>&lt;body&gt;</code> element, please use <code>{include file='header'}</code> instead.</li>
2738<li>The <code>sidebarOrientation</code> variable for the <code>header</code> template has been removed and no longer works.</li>
2739<li><code>header.boxHeadline</code> has been unified and now reads <code>header.contentHeader</code></li>
2740</ul>
2741<p>Please see the full example at the end of this page for more information.</p>
2742<h2 id="sidebars">Sidebars<a class="headerlink" href="#sidebars" title="Permanent link">#</a></h2>
2743<p>Sidebars are now dynamically populated by the box system, this requires a small change to unify the markup. Additionally the usage of <code>&lt;fieldset&gt;</code> has been deprecated due to browser inconsistencies and bugs and should be replaced with <code>section.box</code>.</p>
2744<p>Previous markup used in WoltLab Community Framework 2.1 and earlier:</p>
2745<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2746<span class="normal">2</span>
2747<span class="normal">3</span>
2748<span class="normal">4</span>
2749<span class="normal">5</span>
2750<span class="normal">6</span>
2751<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="p">&lt;</span><span class="nt">fieldset</span><span class="p">&gt;</span>
2752 <span class="p">&lt;</span><span class="nt">legend</span><span class="p">&gt;</span><span class="cm">&lt;!-- Title --&gt;</span><span class="p">&lt;/</span><span class="nt">legend</span><span class="p">&gt;</span>
2753
2754 <span class="p">&lt;</span><span class="nt">div</span><span class="p">&gt;</span>
2755 <span class="cm">&lt;!-- Content --&gt;</span>
2756 <span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
2757<span class="p">&lt;/</span><span class="nt">fieldset</span><span class="p">&gt;</span>
2758</code></pre></div></td></tr></table></div>
2759<p>The new markup since WoltLab Suite 3.0:</p>
2760<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2761<span class="normal">2</span>
2762<span class="normal">3</span>
2763<span class="normal">4</span>
2764<span class="normal">5</span>
2765<span class="normal">6</span>
2766<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="p">&lt;</span><span class="nt">section</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;box&quot;</span><span class="p">&gt;</span>
2767 <span class="p">&lt;</span><span class="nt">h2</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;boxTitle&quot;</span><span class="p">&gt;</span><span class="cm">&lt;!-- Title --&gt;</span><span class="p">&lt;/</span><span class="nt">h2</span><span class="p">&gt;</span>
2768
2769 <span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;boxContent&quot;</span><span class="p">&gt;</span>
2770 <span class="cm">&lt;!-- Content --&gt;</span>
2771 <span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
2772<span class="p">&lt;/</span><span class="nt">section</span><span class="p">&gt;</span>
2773</code></pre></div></td></tr></table></div>
2774<h2 id="forms">Forms<a class="headerlink" href="#forms" title="Permanent link">#</a></h2>
2775<p>The input tag for session ids <code>SID_INPUT_TAG</code> has been deprecated and no longer yields any content, it can be safely removed. In previous versions forms have been wrapped in <code>&lt;div class="container containerPadding marginTop"&gt;…&lt;/div&gt;</code> which no longer has any effect and should be removed.</p>
2776<p>If you're using the preview feature for WYSIWYG-powered input fields, you need to alter the preview button include instruction:</p>
2777<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;messageFormPreviewButton&#39;</span> <span class="na">previewMessageObjectType</span><span class="o">=</span><span class="s1">&#39;com.example.foo.bar&#39;</span> <span class="na">previewMessageObjectID</span><span class="o">=</span><span class="m">0</span><span class="cp">}</span><span class="x"></span>
2778</code></pre></div></td></tr></table></div>
2779<p><em>The message object id should be non-zero when editing.</em></p>
2780<h2 id="icons">Icons<a class="headerlink" href="#icons" title="Permanent link">#</a></h2>
2781<p>The old <code>.icon-&lt;iconName&gt;</code> classes have been removed, you are required to use the official <code>.fa-&lt;iconName&gt;</code> class names from FontAwesome. This does not affect the generic classes <code>.icon</code> (indicates an icon) and <code>.icon&lt;size&gt;</code> (e.g. <code>.icon16</code> that sets the dimensions), these are still required and have not been deprecated.</p>
2782<p>Before:</p>
2783<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="p">&lt;</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;icon icon16 icon-list&quot;</span><span class="p">&gt;</span>
2784</code></pre></div></td></tr></table></div>
2785<p>Now:</p>
2786<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="p">&lt;</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;icon icon16 fa-list&quot;</span><span class="p">&gt;</span>
2787</code></pre></div></td></tr></table></div>
2788<h3 id="changed-icon-names">Changed Icon Names<a class="headerlink" href="#changed-icon-names" title="Permanent link">#</a></h3>
2789<p>Quite a few icon names have been renamed, the official wiki lists the <a href="https://github.com/FortAwesome/Font-Awesome/wiki/Upgrading-from-3.2.1-to-4">new icon names</a> in FontAwesome 4.</p>
2790<h2 id="changed-classes">Changed Classes<a class="headerlink" href="#changed-classes" title="Permanent link">#</a></h2>
2791<ul>
2792<li><code>.dataList</code> has been replaced and should now read <code>&lt;ol class="inlineList commaSeparated"&gt;</code> (same applies to <code>&lt;ul&gt;</code>)</li>
2793<li><code>.framedIconList</code> has been changed into <code>.userAvatarList</code></li>
2794</ul>
2795<h2 id="removed-elements-and-classes">Removed Elements and Classes<a class="headerlink" href="#removed-elements-and-classes" title="Permanent link">#</a></h2>
2796<ul>
2797<li><code>&lt;nav class="jsClipboardEditor"&gt;</code> and <code>&lt;div class="jsClipboardContainer"&gt;</code> have been replaced with a floating button.</li>
2798<li>The anchors <code>a.toTopLink</code> have been replaced with a floating button.</li>
2799<li>Avatars should no longer receive the class <code>framed</code></li>
2800<li>The <code>dl.condensed</code> class, as seen in the editor tab menu, is no longer required.</li>
2801<li>Anything related to <code>sidebarCollapsed</code> has been removed as sidebars are no longer collapsible.</li>
2802</ul>
2803<h2 id="simple-example">Simple Example<a class="headerlink" href="#simple-example" title="Permanent link">#</a></h2>
2804<p>The code below includes only the absolute minimum required to display a page, the content title is already included in the output.</p>
2805<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2806<span class="normal">2</span>
2807<span class="normal">3</span>
2808<span class="normal">4</span>
2809<span class="normal">5</span>
2810<span class="normal">6</span>
2811<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;header&#39;</span><span class="cp">}</span><span class="x"></span>
2812
2813<span class="x">&lt;div class=&quot;section&quot;&gt;</span>
2814<span class="x"> Hello World!</span>
2815<span class="x">&lt;/div&gt;</span>
2816
2817<span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;footer&#39;</span><span class="cp">}</span><span class="x"></span>
2818</code></pre></div></td></tr></table></div>
2819<h2 id="full-example">Full Example<a class="headerlink" href="#full-example" title="Permanent link">#</a></h2>
2820<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
2821<span class="normal"> 2</span>
2822<span class="normal"> 3</span>
2823<span class="normal"> 4</span>
2824<span class="normal"> 5</span>
2825<span class="normal"> 6</span>
2826<span class="normal"> 7</span>
2827<span class="normal"> 8</span>
2828<span class="normal"> 9</span>
2829<span class="normal">10</span>
2830<span class="normal">11</span>
2831<span class="normal">12</span>
2832<span class="normal">13</span>
2833<span class="normal">14</span>
2834<span class="normal">15</span>
2835<span class="normal">16</span>
2836<span class="normal">17</span>
2837<span class="normal">18</span>
2838<span class="normal">19</span>
2839<span class="normal">20</span>
2840<span class="normal">21</span>
2841<span class="normal">22</span>
2842<span class="normal">23</span>
2843<span class="normal">24</span>
2844<span class="normal">25</span>
2845<span class="normal">26</span>
2846<span class="normal">27</span>
2847<span class="normal">28</span>
2848<span class="normal">29</span>
2849<span class="normal">30</span>
2850<span class="normal">31</span>
2851<span class="normal">32</span>
2852<span class="normal">33</span>
2853<span class="normal">34</span>
2854<span class="normal">35</span>
2855<span class="normal">36</span>
2856<span class="normal">37</span>
2857<span class="normal">38</span>
2858<span class="normal">39</span>
2859<span class="normal">40</span>
2860<span class="normal">41</span>
2861<span class="normal">42</span>
2862<span class="normal">43</span>
2863<span class="normal">44</span>
2864<span class="normal">45</span>
2865<span class="normal">46</span>
2866<span class="normal">47</span>
2867<span class="normal">48</span>
2868<span class="normal">49</span>
2869<span class="normal">50</span>
2870<span class="normal">51</span>
2871<span class="normal">52</span>
2872<span class="normal">53</span>
2873<span class="normal">54</span>
2874<span class="normal">55</span>
2875<span class="normal">56</span>
2876<span class="normal">57</span>
2877<span class="normal">58</span>
2878<span class="normal">59</span>
2879<span class="normal">60</span>
2880<span class="normal">61</span>
2881<span class="normal">62</span>
2882<span class="normal">63</span>
2883<span class="normal">64</span>
2884<span class="normal">65</span>
2885<span class="normal">66</span>
2886<span class="normal">67</span>
2887<span class="normal">68</span>
2888<span class="normal">69</span>
2889<span class="normal">70</span>
2890<span class="normal">71</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="c">*</span>
2891<span class="c"> The page title is automatically set using the page definition, avoid setting it if you can!</span>
2892<span class="c"> If you really need to modify the title, you can still reference the original title with:</span>
2893<span class="c"> {$__wcf-&gt;getActivePage()-&gt;getTitle()}</span>
2894<span class="c">*</span><span class="cp">}</span><span class="x"></span>
2895<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;pageTitle&#39;</span><span class="cp">}</span><span class="x">Custom Page Title</span><span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2896
2897<span class="cp">{</span><span class="c">*</span>
2898<span class="c"> NOTICE: The content header goes here, see the section after this to learn more.</span>
2899<span class="c">*</span><span class="cp">}</span><span class="x"></span>
2900
2901<span class="cp">{</span><span class="c">* you must not use `headContent` for JavaScript *</span><span class="cp">}</span><span class="x"></span>
2902<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;headContent&#39;</span><span class="cp">}</span><span class="x"></span>
2903<span class="x"> &lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;</span><span class="cp">{</span><span class="nf">lang</span><span class="cp">}</span><span class="x">wcf.global.button.rss</span><span class="cp">{</span><span class="nf">/lang</span><span class="cp">}</span><span class="x">&quot; href=&quot;…&quot;&gt;</span>
2904<span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2905
2906<span class="cp">{</span><span class="c">* optional, content will be added to the top of the left sidebar *</span><span class="cp">}</span><span class="x"></span>
2907<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;sidebarLeft&#39;</span><span class="cp">}</span><span class="x"></span>
2908<span class="x"> …</span>
2909
2910<span class="x"> </span><span class="cp">{</span><span class="nf">event</span> <span class="na">name</span><span class="o">=</span><span class="s1">&#39;boxes&#39;</span><span class="cp">}</span><span class="x"></span>
2911<span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2912
2913<span class="cp">{</span><span class="c">* optional, content will be added to the top of the right sidebar *</span><span class="cp">}</span><span class="x"></span>
2914<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;sidebarRight&#39;</span><span class="cp">}</span><span class="x"></span>
2915<span class="x"> …</span>
2916
2917<span class="x"> </span><span class="cp">{</span><span class="nf">event</span> <span class="na">name</span><span class="o">=</span><span class="s1">&#39;boxes&#39;</span><span class="cp">}</span><span class="x"></span>
2918<span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2919
2920<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;headerNavigation&#39;</span><span class="cp">}</span><span class="x"></span>
2921<span class="x"> &lt;li&gt;&lt;a href=&quot;#&quot; title=&quot;Custom Button&quot; class=&quot;jsTooltip&quot;&gt;&lt;span class=&quot;icon icon16 fa-check&quot;&gt;&lt;/span&gt; &lt;span class=&quot;invisible&quot;&gt;Custom Button&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;</span>
2922<span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2923
2924<span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;header&#39;</span><span class="cp">}</span><span class="x"></span>
2925
2926<span class="cp">{</span><span class="nf">hascontent</span><span class="cp">}</span><span class="x"></span>
2927<span class="x"> &lt;div class=&quot;paginationTop&quot;&gt;</span>
2928<span class="x"> </span><span class="cp">{</span><span class="nf">content</span><span class="cp">}</span><span class="x"></span>
2929<span class="x"> </span><span class="cp">{</span><span class="nf">pages</span> <span class="err">…</span><span class="cp">}</span><span class="x"></span>
2930<span class="x"> </span><span class="cp">{</span><span class="nf">/content</span><span class="cp">}</span><span class="x"></span>
2931<span class="x"> &lt;/div&gt;</span>
2932<span class="cp">{</span><span class="nf">/hascontent</span><span class="cp">}</span><span class="x"></span>
2933
2934<span class="cp">{</span><span class="c">* the actual content *</span><span class="cp">}</span><span class="x"></span>
2935<span class="x">&lt;div class=&quot;section&quot;&gt;</span>
2936<span class="x"> …</span>
2937<span class="x">&lt;/div&gt;</span>
2938
2939<span class="x">&lt;footer class=&quot;contentFooter&quot;&gt;</span>
2940<span class="x"> </span><span class="cp">{</span><span class="c">* skip this if you&#39;re not using any pagination *</span><span class="cp">}</span><span class="x"></span>
2941<span class="x"> </span><span class="cp">{</span><span class="nf">hascontent</span><span class="cp">}</span><span class="x"></span>
2942<span class="x"> &lt;div class=&quot;paginationBottom&quot;&gt;</span>
2943<span class="x"> </span><span class="cp">{</span><span class="nf">content</span><span class="cp">}{</span><span class="o">@</span><span class="nv">$pagesLinks</span><span class="cp">}{</span><span class="nf">/content</span><span class="cp">}</span><span class="x"></span>
2944<span class="x"> &lt;/div&gt;</span>
2945<span class="x"> </span><span class="cp">{</span><span class="nf">/hascontent</span><span class="cp">}</span><span class="x"></span>
2946
2947<span class="x"> &lt;nav class=&quot;contentFooterNavigation&quot;&gt;</span>
2948<span class="x"> &lt;ul&gt;</span>
2949<span class="x"> &lt;li&gt;&lt;a href=&quot;…&quot; class=&quot;button&quot;&gt;&lt;span class=&quot;icon icon16 fa-plus&quot;&gt;&lt;/span&gt; &lt;span&gt;Custom Button&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;</span>
2950<span class="x"> </span><span class="cp">{</span><span class="nf">event</span> <span class="na">name</span><span class="o">=</span><span class="s1">&#39;contentFooterNavigation&#39;</span><span class="cp">}</span><span class="x"></span>
2951<span class="x"> &lt;/ul&gt;</span>
2952<span class="x"> &lt;/nav&gt;</span>
2953<span class="x">&lt;/footer&gt;</span>
2954
2955<span class="x">&lt;script data-relocate=&quot;true&quot;&gt;</span>
2956<span class="x"> /* any JavaScript code you need */</span>
2957<span class="x">&lt;/script&gt;</span>
2958
2959<span class="cp">{</span><span class="c">* do not include `&lt;/body&gt;&lt;/html&gt;` here, the footer template is the last bit of code! *</span><span class="cp">}</span><span class="x"></span>
2960<span class="cp">{</span><span class="nf">include</span> <span class="na">file</span><span class="o">=</span><span class="s1">&#39;footer&#39;</span><span class="cp">}</span><span class="x"></span>
2961</code></pre></div></td></tr></table></div>
2962<h3 id="content-header">Content Header<a class="headerlink" href="#content-header" title="Permanent link">#</a></h3>
2963<p>There are two different methods to set the content header, one sets only the actual values, but leaves the outer HTML untouched, that is generated by the <code>header</code> template. This is the recommended approach and you should avoid using the alternative method whenever possible.</p>
2964<h4 id="recommended-approach">Recommended Approach<a class="headerlink" href="#recommended-approach" title="Permanent link">#</a></h4>
2965<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2966<span class="normal">2</span>
2967<span class="normal">3</span>
2968<span class="normal">4</span>
2969<span class="normal">5</span>
2970<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="c">* This is automatically set using the page data and should not be set manually! *</span><span class="cp">}</span><span class="x"></span>
2971<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;contentTitle&#39;</span><span class="cp">}</span><span class="x">Custom Content Title</span><span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2972
2973<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;contentDescription&#39;</span><span class="cp">}</span><span class="x">Optional description that is displayed right after the title.</span><span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2974
2975<span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;contentHeaderNavigation&#39;</span><span class="cp">}</span><span class="x">List of navigation buttons displayed right next to the title.</span><span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
2976</code></pre></div></td></tr></table></div>
2977<h4 id="alternative">Alternative<a class="headerlink" href="#alternative" title="Permanent link">#</a></h4>
2978<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
2979<span class="normal"> 2</span>
2980<span class="normal"> 3</span>
2981<span class="normal"> 4</span>
2982<span class="normal"> 5</span>
2983<span class="normal"> 6</span>
2984<span class="normal"> 7</span>
2985<span class="normal"> 8</span>
2986<span class="normal"> 9</span>
2987<span class="normal">10</span>
2988<span class="normal">11</span>
2989<span class="normal">12</span>
2990<span class="normal">13</span>
2991<span class="normal">14</span>
2992<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">{</span><span class="nf">capture</span> <span class="na">assign</span><span class="o">=</span><span class="s1">&#39;contentHeader&#39;</span><span class="cp">}</span><span class="x"></span>
2993<span class="x"> &lt;header class=&quot;contentHeader&quot;&gt;</span>
2994<span class="x"> &lt;div class=&quot;contentHeaderTitle&quot;&gt;</span>
2995<span class="x"> &lt;h1 class=&quot;contentTitle&quot;&gt;Custom Content Title&lt;/h1&gt;</span>
2996<span class="x"> &lt;p class=&quot;contentHeaderDescription&quot;&gt;Custom Content Description&lt;/p&gt;</span>
2997<span class="x"> &lt;/div&gt;</span>
2998
2999<span class="x"> &lt;nav class=&quot;contentHeaderNavigation&quot;&gt;</span>
3000<span class="x"> &lt;ul&gt;</span>
3001<span class="x"> &lt;li&gt;&lt;a href=&quot;</span><span class="cp">{</span><span class="nf">link</span> <span class="na">controller</span><span class="o">=</span><span class="s1">&#39;CustomController&#39;</span><span class="cp">}{</span><span class="nf">/link</span><span class="cp">}</span><span class="x">&quot; class=&quot;button&quot;&gt;&lt;span class=&quot;icon icon16 fa-plus&quot;&gt;&lt;/span&gt; &lt;span&gt;Custom Button&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;</span>
3002<span class="x"> </span><span class="cp">{</span><span class="nf">event</span> <span class="na">name</span><span class="o">=</span><span class="s1">&#39;contentHeaderNavigation&#39;</span><span class="cp">}</span><span class="x"></span>
3003<span class="x"> &lt;/ul&gt;</span>
3004<span class="x"> &lt;/nav&gt;</span>
3005<span class="x"> &lt;/header&gt;</span>
3006<span class="cp">{</span><span class="nf">/capture</span><span class="cp">}</span><span class="x"></span>
3007</code></pre></div></td></tr></table></div>
3008
3009 <hr>
3010<div class="md-source-file">
3011 <small>
3012
3013 Last update:
3014 2021-01-08
3015
3016 </small>
3017</div>
3018
a06fd3b1
WG
3019
3020
3021
7f9945cf
WG
3022
3023
3024 </article>
3025 </div>
3026
3027
9aa5da67
WG
3028 </div>
3029
3030 </main>
3031
3032 <footer class="md-footer">
3033
3034
3035 <nav class="md-footer__inner md-grid" aria-label="Footer" >
3036
3037
3038 <a href="../php/" class="md-footer__link md-footer__link--prev" aria-label="Previous: PHP API" rel="prev">
3039 <div class="md-footer__button md-icon">
3040 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
3041 </div>
3042 <div class="md-footer__title">
3043 <div class="md-ellipsis">
3044 <span class="md-footer__direction">
3045 Previous
3046 </span>
3047 PHP API
3048 </div>
3049 </div>
3050 </a>
3051
3052
3053
3054 <a href="../css/" class="md-footer__link md-footer__link--next" aria-label="Next: CSS" rel="next">
3055 <div class="md-footer__title">
3056 <div class="md-ellipsis">
3057 <span class="md-footer__direction">
3058 Next
3059 </span>
3060 CSS
3061 </div>
3062 </div>
3063 <div class="md-footer__button md-icon">
3064 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
3065 </div>
3066 </a>
3067
3068 </nav>
3069
3070 <div class="md-footer-meta md-typeset">
3071 <div class="md-footer-meta__inner md-grid">
3072 <div class="md-copyright">
3073
3074 <div class="md-copyright__highlight">
3075 Copyright © 2020 WoltLab GmbH
3076 </div>
3077
3078
3079 Made with
3080 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
3081 Material for MkDocs
3082 </a>
3083
3084</div>
3085
3086 <div class="md-copyright">
3087 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
3088 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
3089</div>
3090
3091 </div>
3092 </div>
3093</footer>
3094
3095 </div>
3096 <div class="md-dialog" data-md-component="dialog">
3097 <div class="md-dialog__inner md-typeset"></div>
3098 </div>
a06fd3b1 3099
a277f2e9 3100 <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tracking"], "search": "../../../assets/javascripts/workers/search.5bf1dace.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "version": {"provider": "mike"}}</script>
9aa5da67
WG
3101
3102
a277f2e9 3103 <script src="../../../assets/javascripts/bundle.078830c0.min.js"></script>
9aa5da67
WG
3104
3105
3106 </body>
3107</html>