当有人想写评论时,必须设置姓名,电子邮件,网站和评论。我应该如何修改此模板以仅使用评论?因为管理员注册时它有这些信息。我不想存储虚假信息。
感谢您的帮助。
答案 0 :(得分:1)
由于您没有指定我假设您在当前最新版本(3.1)上运行的版本。
评论提交表单由siteroot / Custom / Theme / YourCurrentTheme文件夹中的CommentForm.cshtml控制。以下是Garland-Revisited主题形式的一部分。
<p>
<label for="txtName" class="lbl-user">@Resources.labels.name *</label>
<input type="text" class="txt-user" name="txtName" id="txtName" />
</p>
<p>
<label for="txtEmail" class="lbl-email">@Resources.labels.email *</label>
<input type="text" class="txt-email" id="txtEmail" />
</p>
<p id="commentCompose">
<textarea class="txt-content" id="txtContent" cols="50" rows="10" name="txtContent"></textarea>
</p>
最简单的路径可能是避免更改提交处理程序并将输入类型转换为隐藏,并使用其登录的凭据预填充值。可能的样本。
<input type="hidden" id="txtName" value="@SomeC#CodeToReadTheValuesFromTheLoggedInInformation" />
<input type="hidden" id="txtEmail" value="@SomeC#CodeToReadTheValuesFromTheLoggedInInformation" />
<p id="commentCompose">
<textarea class="txt-content" id="txtContent" cols="50" rows="10" name="txtContent"></textarea>
</p>
这确实有安全隐患。您信任您的用户不要弄乱表单中的隐藏值。在一个开放的网站上,这可能不够安全,您将不得不考虑更改提交处理程序。
更改提交处理程序确实有自己的维护问题,因为您将运行自定义版本的软件,该软件在下一个版本发布时不会干净地升级。由您决定在您的情况下哪条路更好。