สร้างองค์ประกอบ HTML

คุณสามารถสร้างองค์ประกอบในระบบใหม่ในแคตตาล็อกองค์ประกอบของ Oracle Content Management จากนั้นสร้างองค์ประกอบ HTML ด้วยการเพิ่มและเปลี่ยนแปลงไฟล์ในโฟลเดอร์ข้อมูล

ในการสร้างองค์ประกอบ HTML ให้ทำดังนี้
  1. สร้างองค์ประกอบและตั้งชื่อ HTML Component
  2. เพิ่มไฟล์ mustache.min.js ไปยังโฟลเดอร์ assets ในองค์ประกอบ HTML
  3. สร้างไฟล์ใหม่ในโฟลเดอร์ assets ที่ชื่อ render.html ซึ่งมี HTML สำหรับเนื้อหาขององค์ประกอบของคุณ สำหรับตัวอย่างนี้ เป็นการสร้างไฟล์ render.html ที่มีเนื้อหาต่อไปนี้
    <ul class="wrapper">
        <li class="box">
         <h1 class="title">One</h1>
       <p class="text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
        </li>
        <li class="box"> 
         <h1 class="title">Two</h1>
         <p class="text"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
        </li>
      <li class="box"> 
         <h1 class="title">Three</h1>
         <p class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua./p> 
        </li>
      <li class="box">
         <h1 class="title">Four</h1> 
         <p class="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
        </li>
    </ul>
  4. สร้างไฟล์ใหม่ในโฟลเดอร์ assets ที่ชื่อ design.css ซึ่งเป็น CSS สำหรับองค์ประกอบของคุณ สำหรับตัวอย่างนี้ เป็นการเพิ่มบรรทัดต่อไปนี้เป็นเนื้อหาของไฟล์ design.css:
    .wrapper {
      text-align: center;
    }
    .box {
      display: inline-block;
      position: relative;
      width: 200px;
      height: 200px;
      padding:0px 10px 10px 10px;
      background: transparent;
      border-width:1px;
      border-style:solid;
      border-radius: 5px;
      border-color:#CCCCCC;
      z-index: 0;
      margin: 2px 2px 2px 2px;
      transition: all .15s ease-in-out;
    }
    .box:hover {
      background: #9CC;
      z-index: 100;
      transform: scale(1.2,1.2);
      box-shadow: 0 5px 10px 0 rgba(0,0,0,.2);
    }
    .title {
       color:red;
    }
    .text {
       color:#555555;
    }
  5. เปิดไฟล์ render.js ในโฟลเดอร์ assets และเปลี่ยนเนื้อหาดังนี้ ไม่ว่าคุณจะใช้ HTML และ CSS ใดในขั้นตอนก่อนหน้า ไฟล์ render.js ต่อไปนี้จะแสดงผล HTML และ CSS ลงในเพจให้คุณ:
    /* globals define */
    define(['jquery', './mustache.min', 'text!./render.html', 'css!./design.css'], function($, Mustache, template, css) {
      'use strict';
    
      // ----------------------------------------------
      // Create a Mustache-based component implemention
      // ----------------------------------------------
      var SampleComponentImpl = function(args) {
        this.SitesSDK = args.SitesSDK;
    
        // Initialze the custom component
        this.createTemplate(args);
        this.setupCallbacks();
      };
      // create the template based on the initial values
      SampleComponentImpl.prototype.createTemplate = function(args) {
        // create a unique ID for the div to add, this will be passed to the callback
        this.contentId = args.id + '_content_' + args.viewMode;
        // create a hidden custom component template that can be added to the DOM 
        this.template = '<div id="' + this.contentid + '">' +
          template +
          '</div>';
      };
      SampleComponentImpl.prototype.updateSettings = function(settings) {
        if (settings.property === 'customSettingsData') {
            this.update(settings.value);
        }
      };
      SampleComponentImpl.prototype.update = function(data) {
        this.data = data;
        this.container.html(Mustache.to_html(this.template, this.data));
      };
      //
      // SDK Callbacks
      // setup the callbacks expected by the SDK API
      //
      SampleComponentImpl.prototype.setupCallbacks = function() {
        //
        // callback - render: add the component into the page
        //
        this.render = $.proxy(function(container) {
           this.container = $(container);
           this.SitesSDK.getProperty('customSettingsData', $.proxy(this.update, this));
        }, this);
        //
        // callback - SETTINGS_UPDATED: retrive new custom data and re-render the component
        //
        this.SitesSDK.subscribe(this.SitesSDK.MESSAGE_TYPES.SETTINGS_UPDATED, $.proxy(this.updateSettings, this));
        //
        // callback - dispose: cleanup after component when it is removed from the page
        //
        this.dispose = $.proxy(function() {
           // nothing required
        }, this);
      };
      // ----------------------------------------------
      // Create the factory object for your component
      // ----------------------------------------------
      var sampleComponentFactory = {
        createComponent: function(args, callback) {
          // return a new instance of the component
          return callback(new SampleComponentImpl(args));
        }
      };
      return sampleComponentFactory;
    });

ในการตรวจสอบว่าองค์ประกอบ HTML ได้รับการสร้างแล้ว (จุดตรวจสอบ 1) ให้ทำดังนี้

  1. ตรวจสอบว่าโฟลเดอร์ assets ในองค์ประกอบของคุณมีห้าไฟล์ต่อไปนี้

    • design.css
    • mustache.min.js
    • render.html
    • render.js
    • settings.html
  2. เพิ่มองค์ประกอบ HTML ใหม่ไปยังเพจในไซต์ทดสอบของคุณ ในโปรแกรมแก้ไข ให้ดูองค์ประกอบในเพจในโหมดแก้ไขและแสดงตัวอย่าง ดังนี้

    โหมดแก้ไข


    คำอธิบาย GUID-17434B91-A25C-46EA-98D6-1A82CDA2D260-default.png มีดังนี้
    คำอธิบายภาพ GUID-17434B91-A25C-46EA-98D6-1A82CDA2D260-default.png

    โหมดแสดงตัวอย่าง


    คำอธิบาย GUID-DF2B9038-2774-49AC-A92F-A893F59D5D63-default.png มีดังนี้
    คำอธิบายภาพ GUID-DF2B9038-2774-49AC-A92F-A893F59D5D63-default.png