Inicio de mvnForum Bienvenido Guest   | Iniciar sesión
  Búsqueda  
  Indice  | Temas Recientes  | Quién Está en Línea  | Lista de Usuarios  | Nuevo Usuario  | Búsqueda  | Ayuda  | RSS feeds


Ir a »
Estado del tema: Normal
Total de mensajes en este tema: 3
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 8413 veces y tiene 2 respuestas Tema Siguiente
Masculino LoixArtx
Advanced Member
Avatar del Miembro

España
Ingresó: 23-mar-2008
Mensajes: 186
Estado: Desconectados
Email Form en 7.0.4 Responder a este mensaje
Responder citando

Me estoy volviendo loco, esto ya lo tengo hecho en OpenCms 6.x.x y 7.0,y siguiendo al pie de la letra los antiguos proyectos no logro hacer funcionar un email form en la 7.0.4. :\

Os cuento lo que tengo hecho:

1º He defijinito una template en jsp:


<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>

<cms:include file="/system/modules/miweb/elements/frametemplates/ftFormulario.jsp">

<cms:param name="formulario">/system/modules/miweb/elements/contenttemplates/ctFormulario.jsp</cms:param>

</cms:include>


He eliminado el resto de elementos para descartar errores, pero me sigue sin ir.

Bien, continuo; el ftFormulario.jsp está tal que así en la ruta indicada:


<%@ page buffer="none" import="org.opencms.main.*, org.opencms.search.*, org.opencms.file.*, org.opencms.jsp.*, java.util.*" %>
<%@ page session="false" %>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<%
CmsJspActionElement cms = new CmsJspActionElement( pageContext, request, response );
Map parametros = cms.getRequest().getParameterMap();
String formulario = cms.getRequest().getParameter("formulario");

%>

<HTML>
<head>
</head>
<body>
<%
cms.include( formulario, null, parametros );
%>
</body>
</HTML>


Por último, el contenido de ctFormulario.jsp es:


<%@ page session="false" %>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<%@ page import="org.opencms.jsp.*" %>
<%@ page import="java.util.*" %>
<%@ page import="org.opencms.frontend.templateone.form.CmsForm" %>
<%@ page import="org.opencms.i18n.CmsMessages" %>
<%@ page import="org.opencms.mail.CmsMailSettings" %>


<%@page buffer="none" session="false" import="org.opencms.i18n.*,org.opencms.frontend.templateone.form.*, java.util.*" %><%
// initialize the form handler
CmsFormHandler cms = new CmsFormHandler(pageContext, request, response);

// get the localized messages to create the form
CmsMessages messages = cms.getMessages();

// get the template to display
String template = cms.property("template", "search", "/system/modules/org.opencms.frontend.templateone/templates/main");

// include the template head
cms.include(template, "divSuperiorIzq");
out.println("<div class=\"element\">");

boolean showForm = cms.showForm();

if (! showForm) {
// form has been submitted with correct values, decide further actions
if (cms.showCheck()) {
// show optional check page
request.setAttribute("formhandler", cms);
cms.include("../elements/check.jsp");
} else if (cms.getFormConfiguration().hasTargetUri()) {
response.sendRedirect(cms.link(cms.getFormConfiguration().getTargetUri()));
} else {



// try to send a notification email with the submitted form field values
if (cms.sendMail()) {
// successfully sent mail, show confirmation end page
request.setAttribute("formhandler", cms);
cms.include("../elements/confirmation.jsp");
} else {
// failure sending mail, show error output %>
<h3><%= messages.key("form.error.mail.headline") %></h3>
<p><%= messages.key("form.error.mail.text") %></p>

<!--
Error description: <%= (String)cms.getErrors().get("sendmail") %>
//--><%
}
}

} else {

// get the configured form elements
CmsForm formConfiguration = cms.getFormConfiguration();
List fields = formConfiguration.getFields();

// show form text
out.print(formConfiguration.getFormText());

// show global error message if validation failed
if (cms.hasValidationErrors()) {
out.print("<p>");
out.print(messages.key("form.html.label.error.start"));
out.print(messages.key("form.error.message"));
out.print(messages.key("form.html.label.error.end"));
out.println("</p>");
}

// create the form head
%> <form name="emailform" action="<%= cms.link(cms.getRequestContext().getUri()) %>" method="post" enctype="multipart/form-data" style="margin-top: 14px; margin-bottom: 0; padding: 0;">
<input type="hidden" name="<%= CmsFormHandler.PARAM_FORMACTION %>" value="<%= CmsFormHandler.ACTION_SUBMIT %>"/>
<%= messages.key("form.html.start") %><%= formConfiguration.getFormAttributes() %>>
<%
// create the html output to display the form fields
int pos=0;
int place=0;
for( int i = 0, n = fields.size(); i < n; i++) {

// loop through all form input fields
I_CmsField field = (I_CmsField)fields.get(i);

if(i==n-1)place=1; //the last one must close the tr
field.setPlaceholder(place);
field.setPosition(pos);
String errorMessage = (String)cms.getErrors().get(field.getName());

out.println(field.buildHtml(cms, messages, errorMessage));
pos=field.getPosition();
place=field.getPlaceholder();
}

// create the form foot
if (formConfiguration.hasMandatoryFields()) {
%><%= messages.key("form.html.row.start") %>
<%= messages.key("form.html.button.start") %><%= messages.key("form.message.mandatory") %><%= messages.key("form.html.button.end") %>
<%= messages.key("form.html.row.end") %>
<%
}
%><%= messages.key("form.html.row.start") %>
<%= messages.key("form.html.button.start") %><input type="submit" value="<%= messages.key("form.button.submit") %>" class="formbutton"/><input type="reset" value="<%= messages.key("form.button.reset") %>" class="formbutton"/><%= messages.key("form.html.button.end") %>
<%= messages.key("form.html.row.end") %>
<%= messages.key("form.html.end") %>
</form><%//&nbsp;&nbsp;&nbsp;&nbsp;

}

out.println("</div>");
// include the template foot
//cms.include(template, "foot");

%>


Tengo en la carpeta "elements" check.jsp y confirmation.jsp.

Seguidamente, me voy a la carpeta de mi sitio web; creo un email-form y en las opciones avanzadas le pongo la ruta de la template en template-elements. Edito el email form y le pongo los campos correspondientes; pero al hacer clic para verla funcionando me muestra una página en blanco. Es más; he intentado meter alguna traza y no la muestra.

En cambio, si dejo en template-elements la ruta /system/...templateone.form/pages/form.html; el formulario se muestra pero con la plantilla que trae OpenCms :\

En el momento que intento asignarle una plantilla al email-form, no me muestra nada, sin embargo en otros proyectos que tengo igual funcionaba perfecto... algo se me debe de estar olvidando y no caigo.

Hellppp pleaseee! crying

PD: me he leido todos los hilos del foro que contienen la palabra form xD; así que la búsqueda no me puede ayudar en esta ocasión.

Un saludo y perdonad el tocho.
----------------------------------------
Mi blog: www.pollodegomaconpolea.net
[08-jul-2008 10:43:36] Mostrar la Versión Imprimible        Send Private Message    http://www.pollodegomaconpolea.net [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino LoixArtx
Advanced Member
Avatar del Miembro

España
Ingresó: 23-mar-2008
Mensajes: 186
Estado: Desconectados
Re: Email Form en 7.0.4 Responder a este mensaje
Responder citando

En fin, toda la mañana dándole vueltas al tema; pq no se mostraba nada... le he cambiado el nombre a la plantilla y ya funciona... antes se llamaba Formulario.jsp y ahora FormularioContacto.jsp...

y no estoooyy locoooooo, no estoooy loooccoooooooooooooo... ¿hay alguien ahí?, ¿quién te envía? , jua jua... nanana

blushing
----------------------------------------
Mi blog: www.pollodegomaconpolea.net
[08-jul-2008 12:50:42] Mostrar la Versión Imprimible        Send Private Message    http://www.pollodegomaconpolea.net [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino sergio
Administrador
Avatar del Miembro

España
Ingresó: 27-sep-2006
Mensajes: 2406
Estado: Desconectados
Re: Email Form en 7.0.4 Responder a este mensaje
Responder citando

laughing laughing laughing laughing
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[08-jul-2008 12:52:06] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]