Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Daniel Valverde
Agregar WYSIWYG a un portlet
January 18, 2013 4:55 AM
Answer

Daniel Valverde

Rank: Junior Member

Posts: 28

Join Date: April 27, 2011

Recent Posts

Hola buenas pues como indico eso quiero agregar un un editor WYSIWYG a un portlet que estoy desarrollando agregar no hay probleba pero la cuestion es que quiero capturar lo introducido en el editor para poder posteriormente en un Action poder procesarlo.


Gracias por adelantado.
Octavio Sánchez
RE: Agregar WYSIWYG a un portlet
January 18, 2013 5:05 AM
Answer

Octavio Sánchez

Rank: Junior Member

Posts: 80

Join Date: March 31, 2009

Recent Posts

Si metes el editor dentro de un formulario deberías poder leerlo desde el controlador sin más problemas.

¿podrías poner el código para que podamos ayudarte?
Daniel Valverde
RE: Agregar WYSIWYG a un portlet
January 20, 2013 1:08 AM
Answer

Daniel Valverde

Rank: Junior Member

Posts: 28

Join Date: April 27, 2011

Recent Posts

El codigo es el siguiente:

<script type="text/javascript">
function <portlet:namespace />initEditor() {

return '<font style="font-weight: bold"></font>';
}

function <portlet:namespace />extractCodeFromEditor() {
var x = document.fm.codigo.value = window.<portlet:namespace />editor.getHTML();

alert(x);
}
</script>
<p>Va a proceder a editar el proposito del concepto: <%=concepto.getDescripcion() %> de la categoria: <%=nombreCategoria %>. </p>
<portlet:actionURL name="insertar" var="insertarURL"/>
<liferay-ui:input-editor />
<aui:form name="fm" action="<%=insertarURL.toString() %>" method="post">
<aui:fieldset>
<input name="id_concepto" type="hidden" value="<%=concepto.getId_concepto() %>" />
<input name="codigo" type="hidden" value="" />
<aui:button-row>
<aui:button type="submit" id="save-button" />
<input type=button class="aui-button-input aui-button-input-submit" value="Atras" onClick="javascript: window.history.go(-1)">
</aui:button-row>
</aui:fieldset>
</aui:form>



Gracias
Daniel Valverde
RE: Agregar WYSIWYG a un portlet
January 22, 2013 1:02 AM
Answer

Daniel Valverde

Rank: Junior Member

Posts: 28

Join Date: April 27, 2011

Recent Posts

Bueno ya he dado con la solución y la colgare por si a alguien en algun momento necesita hacer lo mismo
Esto iría en el jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>

<%@ page import="com.liferay.portal.kernel.util.*"%>
<%@ page import="com.liferay.portal.kernel.dao.search.*"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<portlet:defineObjects />
<liferay-theme:defineObjects />
<%
Concepto concepto = (Concepto) renderRequest.getAttribute("concepto");
String nombreCategoria = CategoriaLocalServiceUtil.getCategoria(concepto.getId_categoria()).getDescripcion();
String valor = concepto.getDefinicion();
%>

<portlet:defineObjects />
<liferay-theme:defineObjects />

<script type="text/javascript">
function <portlet:namespace />initEditor() {

return '<font style="font-weight: bold"><%=UnicodeFormatter.toString(valor)%></font>';
}
</script>
<portlet:actionURL name="insertar" var="insertarURL"/>
<aui:form name="fm" action="<%=insertarURL.toString() %>" method="post">
<p>Va a proceder a editar el proposito del concepto: <%=concepto.getDescripcion() %> de la categoria: <%=nombreCategoria %>. </p>

<liferay-ui:input-editor />

<aui:fieldset>
<input name="id_concepto" type="hidden" value="<%=concepto.getId_concepto() %>" />
<aui:button-row>
<aui:button type="submit" id="save-button" />
<input type=button class="aui-button-input aui-button-input-submit" value="Atras" onClick="javascript: window.history.go(-1)">
</aui:button-row>
</aui:fieldset>
</aui:form>


Y en el controlador:

public void insertar(ActionRequest request, ActionResponse response) throws PortalException{

String codigoDefinicion = ParamUtil.getString(request, "editor");
long idConcepto = ParamUtil.getLong(request, "id_concepto");

if(Validator.isNotNull(codigoDefinicion)){

try {
Concepto concepto = ConceptoLocalServiceUtil.getConcepto(idConcepto);
concepto.setDefinicion(codigoDefinicion);
ConceptoLocalServiceUtil.updateConcepto(concepto);
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}


De esta forma se carga el editor con los datos que le quedramos pasar y a continuacion recuperarlos en el controlador para tratar dichos datos como queramos.