A link to display the knowledge base widget appears on each Commerce Reference Store product detail page. Clicking the link toggles the display of the widget. By default the widget is hidden when the page loads.

The link is associated with a container <div> element, and is inserted in the page by the store.war/navigation/gadgets/knowledgeBase.jsp gadget:

<dsp:page>

<%--
   ComponentExists droplet conditionally renders one of its output parameters
   depending on whether or not a specified Nucleus path currently refers to a
   non-null object.  It it used to query whether a particular component has been
   instantiated. If the KnowledgeBaseProcessor component has not been instantiated
   KnowledgeBase div container will not be included.
  --%>

  <dsp:importbean bean="/atg/dynamo/droplet/ComponentExists"/>

  <%-- Performs a check to see if the specified component exists or not --%>
  <dsp:droplet name="ComponentExists" path="/atg/adc/KnowledgeBaseProcessor">

    <dsp:oparam name="true">

    <%-- The div contains the link to the KnowledgeBase --%>
    <div id="atg_store_rightnowKnowledgebaseContainer">
      <div class="linkToKnowledgeBase">
         <a href="javascript:atg.store.rightNow.toggleKnowledgebaseDisplay()"
            id="showKnowledgebaseLink" class="hideKnowledgebase">
           <img border="0" alt="Find answers in our KnowledgeBase"
            src="/crsdocroot/content/images/find-answers.png"/>

            <%-- Get the locale specific text corresponding to the link to
                 KnowledgeBase from the storetext repository --%>
            <crs:outMessage key="knowledgeBase.linkText"/>

        </a>
      </div>

      <div id="knowledgebase" class="knowledgebase hideKnowledgebase">
      </div>

      <%--  Each search result link opens up in a dialog box --%>
      <div id="knowledgebaseItem" dojoType="dojox.widget.Dialog" modal="false">

        <a href="javascript:closeDialog();"
         onfocus="dojo.byId('knowledgebaseItemIframe').focus();"
         class="knowledgebaseCloseLink">close</a>

        <iframe src="" id="knowledgebaseItemIframe"
          class="knowledgebaseItemIframe" frameborder="0"
          fname="RightNow Knowledge Base" title="Knowledge Base Frame"></iframe>

        <a href="javascript:closeDialog();"
          onfocus="dojo.byId('knowledgebaseItemIframe').focus();"
          class="knowledgebaseCloseLink">close</a>

      </div>
    </div>

    </dsp:oparam>

   </dsp:droplet>
</dsp:page>

This gadget checks for the existence of the /atg/adc/KnowledgeBaseProcessor component, which is part of the Store.KnowledgeBase module. If the component exists, the gadget renders a <div> element with an id attribute of atg_store_rightnowKnowledgebaseContainer. This <div> element includes other <div> elements that contain the link to the knowledge base widget and the widget itself. The JavaScript functions used here for toggling the display of the widget and closing the modal dialog are defined in the rightnow.js file.


Copyright © 1997, 2013 Oracle and/or its affiliates. All rights reserved. Legal Notices