Assistência ao utilizador para autores de conteúdo |
---|
Personalizar elementos com JSP
Um campo "JSP personalizada" está disponível em alguns tipos de elementos, quando adicionados a um modelo de autoria. Este campo pode ser utilizado para fazer referência a um ficheiro JSP a utilizar, em detrimento da vista predefinida do elemento na interface do utilizador. É possível introduzir JSP para controlar a concepção de um elemento, bem como para restringir os valores que podem ser introduzidos no mesmo.
Um valor de caminho de contexto dinâmico pode ser definido ao adicionar um símbolo ao caminho de contexto que corresponde a um par de chave e valor no fornecedor de ambiente de serviço do Web Content Manager. Quando esta chave é utilizada como o símbolo no campo de valor jsp, é substituído de forma dinâmica no momento de composição. Por exemplo: [my.custom.key];myfile, em que my.custom.key corresponde a uma constante no serviço de configuração do Web Content Manager.
A API CustomBean e EditorBean pode ser encontrada em com.ibm.workplace.wcm.api.authoring no Javadoc.
Consulte a documentação de Javadoc para obter mais informações. Os ficheiros Javadoc do Web Content Manager encontram-se no directório PortalServer_root/doc/Javadoc/spi_docs/com/ibm/workplace/wcm.
Fazer referência a ficheiros jsp
Ao referenciar um ficheiro JSP no campo JSP personalizado da vista de propriedades do elemento, pode utilizar os seguintes formatos.
- Quando localizado no directório ilwwcm-authoring.war/jsp/html do servidor, utilize este formato:
AppServer_root/installedApps/node-name/PA_WCM_Authoring_UI.ear/ilwwcm-authoring.war/jsp/html
Nota: A página JSP também é armazenada no directório war do cliente da portlet de apresentação local ou da servlet ou que invoca a JSP, se for utilizada a API do Web Content Manager. Por exemplo, para apresentar uma página JSP numa portlet de apresentação local, também teria de armazenar uma cópia do ficheiro JSP em AppServer_root/installedApps/node-name/PA_WCMLocalRendering.ear/ilwwcm-localrende.war.- Quando localizado em qualquer outra aplicação da Web:
- contextPath;jspPath
- Especifica uma versão de modo de edição do campo onde o JSP está localizado noutra aplicação. Por exemplo: /wps/customapplication;/jsp/editor.jsp
- jspPath
- Especifica uma versão de modo de edição do campo onde o JSP está localizado na mesma aplicação do que o Web Content Manager.
- editmode=contextPath;jspPath
- Especifica uma versão de modo de edição do campo onde o JSP está localizado noutra aplicação.
- editmode=jspPath
- Especifica uma versão de modo de edição do campo onde o JSP está localizado na mesma aplicação do que o Web Content Manager.
- readmode=contextPath;jspPath
- Especifica uma versão de modo de leitura do campo onde o JSP está localizado noutra aplicação.
- readmode=jspPath
- Especifica uma versão de modo de leitura do campo onde o JSP está localizado na mesma aplicação do que o Web Content Manager.
- readmode=contextPath;jspPath,editmode=contextPath;jspPath
- Especifica uma versão de modo de edição e de modo de leitura do campo onde os JSPs estão localizados noutra aplicação.
- readmode=jspPath,editmode=jspPath
- Especifica uma versão de modo de edição e de modo de leitura do campo onde os JSPs estão localizados na mesma aplicação do que o Web Content Manager.
Exemplo de elemento de texto
<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI" %> <%@ page import="com.ibm.workplace.wcm.api.authoring.CustomItemBean" %> <portletAPI:init /> <% CustomItemBean customItem = (CustomItemBean) request.getAttribute("CustomItemBean"); customItem.setSubmitFunctionName("myoptionsubmit"); String fvalue = (String)customItem.getFieldValue(); fvalue = fvalue.replaceAll("\"", """).replaceAll("\"","'"); %> <script language='Javascript'> function myoptionsubmit() { document.getElementById('<%=customItem.getFieldName()%>').value = document.getElementById('<%=customItem.getFieldName()%>_mycustomoption').value; } </script> <INPUT id='<%=customItem.getFieldName()%>_mycustomoption' value="<%=fvalue%>">
Exemplo de elemento de rich text
<%@ page import="com.ibm.workplace.wcm.app.ui.portlet.widget.EditorBean"%> <%@ taglib uri="/WEB-INF/tld/wcm.tld" prefix="wcm" %> <% EditorBean editor = (EditorBean) request.getAttribute("EditorBean"); %> <script language='Javascript'> function setHtml(id, html) { document.getElementById(id + "_rte").value = html; } function getHtml(id) { return document.getElementById(id + "_rte").value; } function setRichTextValue(theText) { document.getElementById('<%= editor.getName()%>_rte').value = theText; } </script> <textarea cols="85" rows="15" id="<%= editor.getName() %>_rte"></textarea> <script type="text/javascript"> var initialValue = document.getElementById('<%= editor.getHiddenContentFieldName() %>_inithtml').value; var editorTextArea = document.getElementById('<%= editor.getName()%>_rte'); editorTextArea.value = initialValue; if (initialisedRTEs != null) { initialisedRTEs = initialisedRTEs + 1; } </script>
Exemplo do elemento de selecção de opções predefinidas com validação
Este exemplo é utilizado para criar de selecção de opções predefinidas.
<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI" %> <%@ page import="com.ibm.workplace.wcm.api.authoring.CustomItemBean" %> <portletAPI:init /> <% CustomItemBean customItem = (CustomItemBean) request.getAttribute("CustomItemBean"); customItem.setSubmitFunctionName("mysubmit"); String fvalue = (String)customItem.getFieldValue(); fvalue = fvalue.replaceAll("\"", """).replaceAll("\"","'"); %> <SELECT id='<%=customItem.getFieldName()%>_mycustom' > <OPTION></OPTION> <OPTION <% if (((String)fvalue).compareTo("Option1") == 0) {%> SELECTED <% } %> >Option1</OPTION> <OPTION <% if (((String)fvalue).compareTo("Option2") == 0) {%> SELECTED <% } %> >Option2</OPTION> <OPTION <% if (((String)fvalue).compareTo("Option3") == 0) {%> SELECTED <% } %> >Option3</OPTION> <OPTION <% if (((String)fvalue).compareTo("Option4") == 0) {%> SELECTED <% } %> >Option4</OPTION> </SELECT> <script language='Javascript'> function mysubmit() { var selIndex=document.getElementById('<%=customItem.getFieldName()%>_mycustom').selectedIndex; if (selIndex <= 0) { document.getElementById("<%=customItem.getFieldName()%>").value = ""; } else { document.getElementById("<%=customItem.getFieldName()%>").value = document.getElementById('<%=customItem.getFieldName()%>_mycustom').options[selIndex].text; } } </script>
Exemplo de elemento de data
<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI" %> <%@ page import="com.ibm.workplace.wcm.api.authoring.CustomItemBean" %> <portletAPI:init /> <% CustomItemBean customItem = (CustomItemBean) request.getAttribute("CustomItemBean"); customItem.setSubmitFunctionName("mydatesubmit"); String fvalue = (String)customItem.getFieldValue(); fvalue = fvalue.replaceAll("\"", """).replaceAll("\"","'"); %> <SELECT id='<%=customItem.getFieldName()%>_mycustomdate' > <OPTION></OPTION> <OPTION <% if (((String)fvalue).compareTo("Jul 4, 2005") == 0) {%> SELECTED <% } %> >Jul 4, 2005</OPTION> <OPTION <% if (((String)fvalue).compareTo("Aug 15, 2005") == 0) {%> SELECTED <% } %> >Aug 15, 2005</OPTION> <OPTION <% if (((String)fvalue).compareTo("Dec 25, 2005") == 0) {%> SELECTED <% } %> >Dec 25, 2005</OPTION> <OPTION <% if (((String)fvalue).compareTo("Jan 26, 2006") == 0) {%> SELECTED <% } %> >Jan 26, 2006</OPTION> </SELECT> <script language='Javascript'> function mydatesubmit() { var selIndex=document.getElementById('<%=customItem.getFieldName()%>_mycustomdate').selectedIndex; document.getElementById("<%=customItem.getFieldName()%>").value = document.getElementById('<%=customItem.getFieldName()%>_mycustomdate').options[selIndex].text; } </script>
Exemplo de elemento de número
Este exemplo é utilizado para criar uma lista de selecção de números predefinidos.
<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI" %> <%@ page import="com.ibm.workplace.wcm.api.authoring.CustomItemBean" %> <portletAPI:init /> <% CustomItemBean customItem = (CustomItemBean) request.getAttribute("CustomItemBean"); customItem.setSubmitFunctionName("mynumbersubmit"); String fvalue = (String)customItem.getFieldValue(); fvalue = fvalue.replaceAll("\"", """).replaceAll("\"","'"); %> <SELECT id='<%=customItem.getFieldName()%>_mycustomnumber' > <OPTION></OPTION> <OPTION <% if (((String)fvalue).compareTo("6") == 0) {%> SELECTED <% } %> >6</OPTION> <OPTION <% if (((String)fvalue).compareTo("8.5") == 0) {%> SELECTED <% } %> >8.5</OPTION> <OPTION <% if (((String)fvalue).compareTo("12") == 0) {%> SELECTED <% } %> >12</OPTION> <OPTION <% if (((String)fvalue).compareTo("15.45") == 0) {%> SELECTED <% } %> >15.45</OPTION> </SELECT> <script language='Javascript'> function mynumbersubmit() { var selIndex=document.getElementById('<%=customItem.getFieldName()%>_mycustomnumber').selectedIndex; document.getElementById("<%=customItem.getFieldName()%>").value = document.getElementById('<%=customItem.getFieldName()%>_mycustomnumber').options[selIndex].text; } </script>
Exemplo de elemento de selecção de utilizadores
Este exemplo é utilizado para criar um campo para introdução de um nome do utilizador.
<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI" %> <%@ page import="com.ibm.workplace.wcm.api.authoring.CustomItemBean" %> <portletAPI:init /> <% CustomItemBean customItem = (CustomItemBean) request.getAttribute("CustomItemBean"); customItem.setSubmitFunctionName("myusersubmit"); String fvalue = (String)customItem.getFieldValue(); fvalue = fvalue.replaceAll("\"", """).replaceAll("\"","'"); %> <script language='Javascript'> function myusersubmit() { document.getElementById('<%=customItem.getFieldName()%>').value = document.getElementById('<%=customItem.getFieldName()%>_mycustomuser').value; } </script> <INPUT id='<%=customItem.getFieldName()%>_mycustomuser' value="<%=fvalue%>">