您可以在以下位置获取 DS-2099 的完整补丁:
https://github.com/arvoConsultores/DSpace/commit/3e971d70daaa4762a443c89fb7fa6f9e5b8e630d.patch https://github.com/arvoConsultores/DSpace/commit/3e971d70daaa4762a443c89fb7fa6f9e5b8e630d.patch
(提示:您可以将“.patch”添加到 github 的提交中以查看补丁)
我认为在这里发帖太长了。
检查 Socitar Correccion Form 以显示标题和您想要的内容,使用我的其他回复从句柄获取数据,而不是:
feedback.addPara(T_para1.parameterize(parameters.getParameter("handle","unknown")));
你应该做:
String handle=parameters.getParameter("handle","unknown");
// context=new Context(); // Context exist in a form:
DSpaceOBject dso = HandleManager.resolveToObject(context,handle);
if (dso instanceof Item){
Item item=((Item)dso);
DCValue[] titles= item.getMetadata("dc", "contributor", "author",null);
feedback.addPara(titles[0].value); // check for nulls or multiple values;
}
要将标题发送到邮件类,您应该执行以下操作:
feedback.addHidden("title").setValue(titles[0].value);
在方面/ViewArtifacts/sitemap.xmap 您应该设置参数:
<map:transform type="SolicitarCorreccionForm">
<map:parameter name="title" value="{title}" />
...
获取 SendSolicitarCorreccionAction 并发送到电子邮件,将参数添加到邮件中,例如:
String title= request.getParameter("title");
email.addArgument(title); // Titulo
...
您想要更改网址
<map:match pattern="solicitarCorreccion/**">
到你想要的。
P.D.-我忘记提及添加 SocitarCorreccionForm 的导入:
import org.dspace.content.DCValue;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.handle.HandleManager;
我希望这有帮助。