ใน Freemarker, macros และ functions ใช้สร้างส่วนที่สามารถใช้ซ้ำได้ใน templates. ซึ่งทั้งสองต่างก็มีหน้าที่ที่คล้ายกัน แต่ macros มักถูกใช้เพื่อแทรกข้อความหรือ HTML ส่วนใหญ่, ในขณะที่ functions มักถูกใช้เพื่อคืนค่า.
เป็นวิธีการสร้างส่วนของ template ที่สามารถใช้ซ้ำได้.
การกำหนด macro:
<#macro sayHello name>
 Hello, ${name}! 
</#macro> การเรียกใช้ macro:
<@sayHello name="John" /> เป็นวิธีการสร้างฟังก์ชันที่คืนค่าตามที่คุณต้องการ.
การกำหนด function:
<#function add a b> 
<#return a + b> 
</#function> การเรียกใช้ function:
<#assign result = add(5, 3)>
 The result is: ${result} 
<!-- The result is: 8 --> คุณสามารถนำ macros และ functions มาใช้ร่วมกันใน template เดียวกัน, หรือจะนำเข้าจาก templates อื่นๆ ได้ผ่าน <#import ...>.
ตัวอย่างการนำเข้า macros และ functions:
<#import "myMacrosAndFunctions.ftl" as utils> 
<@utils.sayHello name="Alice" />
 The sum is: ${utils.add(4, 5)} การใช้ macros และ functions ใน Freemarker ทำให้ template ของคุณมีความยืดหยุ่นและความสามารถในการแบ่งปันระหว่าง templates หลายๆ อัน, ช่วยในการเก็บรักษาและอัปเดตได้ง่ายขึ้น.
| จำนวนคนดู : 2,253 | วันที่สร้าง : 08/09/2023 |