ขั้นตอนที่ 6: เรียกทริกเกอร์

ในขั้นตอนนี้ เราจะแสดงให้คุณเห็นลักษณะการเรียกทริกเกอร์ที่รีจิสเตอร์แล้ว

องค์ประกอบสามารถเรียกทริกเกอร์ที่จุดใดก็ได้ โดยทั่วไปแล้ว ทริกเกอร์จะถูกเรียกโดยการโต้ตอบของผู้ใช้โดยการคลิกปุ่มหรือการเลือกแถวในตาราง อย่างไรก็ตาม องค์ประกอบสามารถเรียกทริกเกอร์ตามเกณฑ์ได้ เช่น เมื่อข้อมูลมีการเปลี่ยนแปลงเนื่องจากการเรียก REST

สำหรับตัวอย่างนี้ เมื่อคุณคลิกรูปภาพ จะเป็นการเรียกทริกเกอร์ที่ส่งผ่านค่าปัจจุบันของคุณสมบัติ whoAreYou

ตรวจดูไฟล์ render.js และดูออบเจกต์ SampleComponentViewModel

ในการเรียกทริกเกอร์ ให้ทำดังนี้

  1. ตรวจดูฟังก์ชันในออบเจกต์ SampleComponentViewModel ที่เรียก Sites SDK เพื่อเรียกทริกเกอร์

    self.raiseTrigger = function (triggerName) {
      SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
        'triggerName': triggerName, 
        'triggerPayload': { 
            'payloadData': 'some data here'
        }
      });
    };
  2. ขั้นตอนนี้ คุณอาจต้องใช้ข้อมูลบางอย่างในอินเตอร์เฟซผู้ใช้เพื่อเรียกฟังก์ชันที่ใช้เรียกทริกเกอร์ ตรวจดูไฟล์ render.js และอัปเดตออบเจกต์ sampleComponentTemplate เพื่อให้แสดงรายการนี้ ดังนี้

         '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +

ในออบเจกต์ SampleComponentViewModel คุณจะเห็นฟังก์ชัน JavaScript ที่จะถูกเรียกเมื่อมีการคลิกรูปภาพ ฟังก์ชันนี้จะเรียก Sites SDK เพื่อบอกให้ทริกเกอร์การดำเนินการทั้งหมดที่กำหนดไว้สำหรับทริกเกอร์ "imageClicked" ซึ่งเป็นค่าที่ส่งผ่านจากการเชื่อมโยง click ในขั้นตอนที่ 2 นอกจากนี้ ฟังก์ชันนี้ยังส่งผ่าน triggerPayload ที่มีฟิลด์เดียว: payloadData และส่งผ่านค่าแบบสแตติก 'some data here' ค่าเหล่านี้ imageClicked และ whoAreYou ตรงกับค่าในไฟล์ appinfo.json โดยที่มีการรีจิสเตอร์ทริกเกอร์แล้ว (ในขั้นตอนก่อนหน้านี้)

ในรหัสตัวอย่าง ทริกเกอร์จะถูกเรียกโดย data-bind ของการเชื่อมโยง click และส่งผ่านในชื่อทริกเกอร์ imageClicked ในขณะนี้ มีการแสดงองค์ประกอบ <scs-image> สามรายการตามเลย์เอาต์ที่ผู้ใช้เลือก เพื่อให้แน่ใจว่ามีการแสดงทริกเกอร์สำหรับเลย์เอาต์แต่ละรายการ ให้แก้ไขไฟล์ render.js เพื่อดำเนินการเปลี่ยนแปลงต่อไปนี้

  • แสดงทริกเกอร์จากเลย์เอาต์ที่ต่างกัน พบรหัสนี้สองรายการ ดังนี้

    '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}">' +

    เปลี่ยนแปลงรหัสเป็นดังนี้

    '<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +
  • ระบุเพย์โหลดเพื่อส่งผ่านไปยังทริกเกอร์ เปลี่ยนรหัสนี้:

        self.raiseTrigger = function (triggerName) {
          SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
            'triggerName': triggerName,
            'triggerPayload': {
              'payloadData': 'some data here'
            }
          });
        };

    ใช้รหัสนี้แทน:

        self.raiseTrigger = function (triggerName) {
          SitesSDK.publish(SitesSDK.MESSAGE_TYPES.TRIGGER_ACTIONS, {
            'triggerName': triggerName,
            'triggerPayload': {
              'payloadData': self.imageBannerText() // pass banner text as payload
            }
          });
        };
  • ซิงโครไนซ์หรืออัปโหลดไฟล์ render.js ไปยังเซิร์ฟเวอร์อินสแตนซ์ Oracle Content Management

ตอนนี้ คุณได้ตรวจดูรหัสที่จำเป็น และสามารถเก็บทริกเกอร์เพื่อให้องค์ประกอบที่กำหนดเองของคุณแสดงทริกเกอร์เมื่อคลิกปุ่ม

ตรวจสอบผลลัพธ์สำหรับขั้นตอนที่ 6

ในขั้นตอนนี้ คุณสามารถรีจิสเตอร์การดำเนินการเพื่อรันกับทริกเกอร์ของคุณ และยังมีการดำเนินการที่จะรันเมื่อแสดงทริกเกอร์ ดังนี้

  1. รีเฟรชเพจของคุณในไซต์ของคุณเพื่อให้ตัวสร้างไซต์สามารถนำการเปลี่ยนแปลงไปใช้กับองค์ประกอบได้

  2. กำหนดให้เพจอยู่ในโหมดแก้ไข

  3. ลากและวางองค์ประกอบของคุณลงในเพจ

  4. เปิดแผงการตั้งค่ากับองค์ประกอบของคุณ

  5. เลือกแท็บ ลิงค์ ที่ด้านบนของแผงการตั้งค่า

  6. เลือก การดำเนินการทริกเกอร์ เป็นประเภทลิงค์

  7. คลิกทริกเกอร์ imageClicked ที่คุณเห็นว่ารีจิสเตอร์แล้ว

  8. ในไดอะล็อก ลากการดำเนินการ แสดงอเลิต จากส่วน การดำเนินการของเพจ

  9. ในฟิลด์ ข้อความ เลือกค่า payloadData ซึ่งเป็นเพย์โหลดที่คุณป้อนเมื่อคุณรีจิสเตอร์ทริกเกอร์

  10. ปิดแผงข้อมูลการตั้งค่า และสลับตัวสร้างไซต์ไปยังโหมดแสดงตัวอย่าง

  11. คลิกรูปภาพในองค์ประกอบ

    อเลิตจะปรากฏโดยแสดง no message defined เนื่องจากคุณไม่ได้ระบุค่า imageBannerText

  12. เปิดเพจในโหมดแก้ไข และเปิดใช้งานแผงข้อมูลการตั้งค่าสำหรับองค์ประกอบอีกครั้ง

  13. คลิก การตั้งค่าที่กำหนดเอง แล้วป้อน Workplace

  14. ปิดแผงข้อมูลการตั้งค่า และสลับเพจไปยังโหมดแสดงตัวอย่าง

  15. คลิกรูปภาพในองค์ประกอบ

    ตอนนี้ หน้าจอควรแสดงเพย์โหลด Workplace ที่อัปเดต ซึ่งถูกเรียกใช้จากการเปลี่ยนแปลงที่คุณทำกับการเชื่อมโยง click

คุณสามารถรันการดำเนินการจำนวนเท่าใดก็ได้เมื่อเรียกทริกเกอร์

หมายเหตุ:

การรันการดำเนินการไม่มีลำดับที่กำหนดไว้ล่วงหน้า แม้ว่าการดำเนินการแต่ละรายการจะถูกเรียกตามลำดับที่แสดง แต่จะไม่มีการรอให้แต่ละรายการเสร็จสมบูรณ์ก่อนที่จะเรียกการดำเนินการถัดไป หากการดำเนินการทำการเรียกแบบอะซิงโครนัส การดำเนินการอาจไม่เสร็จสมบูรณ์ก่อนที่จะมีการรันการดำเนินการครั้งถัดไป

ดำเนินการต่อไปยัง ขั้นตอนที่ 7: รีจิสเตอร์การดำเนินการต่างๆ