Foren

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

Kombinierte Ansicht Flache Ansicht Baumansicht
Threads [ Zurück | Nächste ]
toggle
Daniel Valverde
Agregar WYSIWYG a un portlet
18. Januar 2013 04:55
Antwort

Daniel Valverde

Rang: Junior Member

Nachrichten: 28

Eintrittsdatum: 27. April 2011

Neue Beiträge

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
18. Januar 2013 05:05
Antwort

Octavio Sánchez

Rang: Junior Member

Nachrichten: 80

Eintrittsdatum: 31. März 2009

Neue Beiträge

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
20. Januar 2013 01:08
Antwort

Daniel Valverde

Rang: Junior Member

Nachrichten: 28

Eintrittsdatum: 27. April 2011

Neue Beiträge

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
22. Januar 2013 01:02
Antwort

Daniel Valverde

Rang: Junior Member

Nachrichten: 28

Eintrittsdatum: 27. April 2011

Neue Beiträge

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.