วันอังคารที่ 8 มิถุนายน พ.ศ. 2553

การดึงข้อมูลจาก Entity มาแสดงผลในหน้าเพจ

OFBiz สามารถเรียกข้อมูลจาก Entity มาแสดงผลในหน้าเวบเพจได้ 2 วิธี คือ
1. ดึงจาก Screen หรือ Widget
2. ดึงจาก Script

ในบทความจะแสดงการดึงค่าจาก Widget ดังนี้
1. เพิ่มแท็ก <action> ลงภายใต้แท็ก <screen><section> ในไฟล์ CulinaryScreens.xml ในโฟลเดอร์ widget
หมายเหตุ: ชื่อไฟล์ CulinaryScreens.xml ตาม component ชื่อ culinary หากทำการสร้าง component ชื่ออื่น ให้ทำการแก้ไขที่ไฟล์ ชื่อคอมโพเน้นท์Screens.xml
ดังนี้

<actions>
                <set field="exampleId" value="10000" global="true" />
                <entity-one value-field="resultMap" entity-name="Example"></entity-one>
                <get-related relation-name="ExampleItem" list="resultList" value-field="resultMap"/>
</actions>

อธิบายโค้ด

<set field="exampleId" global="true" value="10000">
</set>
ทำการเลือก record มาแสดงผล โดยทำการเลือก record ที่มี exampleId = 10000 และทำการเซ็ตให้มีค่าเป็น Global


<entity-one value-field="resultMap" entity-name="Example"></entity-one>
เก็บผลลัพธ์ (record) ที่ได้จากบรรทัดแรกมาเก็บในตัวแปร resultMap

<get-related relation-name="ExampleItem" list="resultList" value-field="resultMap"/>
ดึง item ที่มีความสัมพันธ์กับ exampleId = 10000 มาเก็บไว้ใน list ชื่อ resultList

2. ที่หน้า view ของ home เพิ่มโค้ดดังนี้

<#list resultList as resultItem>
    ${resultItem.description}<br />
</#list>

อธิบายโค้ด
ใช้แท็ก FreeMarker มาช่วยในการแสดงผล โดยทำการ list ค่าของ ExampleItem ทั้งหมดที่อยู่ใน resultList มาแสดงผลทีละไอเทม

3. ทดลองเปิดหน้าเว็บไซต์ดู

ไม่มีความคิดเห็น:

แสดงความคิดเห็น