如何隐藏一些 Kentico 博客评论字段?

Posted

技术标签:

【中文标题】如何隐藏一些 Kentico 博客评论字段?【英文标题】:How do I hide some of the Kentico Blog Comment fields? 【发布时间】:2011-12-21 12:25:09 【问题描述】:

将Kentico 用于带有评论的博客时,它具有以下字段:

姓名 电子邮件 您的网址 评论

但我想使用当前认证用户的名字,不需要 E-mail 或 Your URL 选项。

在一次性页面上,我们可以使用 CSS 通过其 html ID 将字段设置为 display:none,但这不适用于博客,因为 ID 会经常更改,因为它们是由 ASP.NET 基于控制树。

有没有办法通过配置 BlogComments Web 部件来隐藏这些字段(我们在其中找不到任何设置),还是我们必须用自定义代码替换 BlogComments Web 部件?

更新:如果不自定义代码,您似乎无法做到这一点(请参阅下面接受的答案),至少在 v5.5 R2 及更早版本中;也许不在v6中?在Kentico UserVoice request 中投票支持将其添加到 Kentico 未来版本的功能建议。

【问题讨论】:

对此并不积极,但认为您可能需要执行自定义 Web 部件。明天我会和一位在博客方面有更多经验的同事核实一下。 【参考方案1】:

您使用哪个版本的 Kentico CMS?我刚查了5.5R2版本,如果用户通过认证,用户名和邮箱会自动填入blog cmets中。

要隐藏不需要的字段,您需要更改此 Web 部件中使用的控件的代码 - \CMSModules\Blogs\Controls\BlogCommentEdit.ascx.cs(升级/修补程序时请注意您的更改)。

【讨论】:

【参考方案2】:

我们查看了 Web 部件代码,但 Kentico 5.5 不提供通过 Web 部件属性自定义它们的功能,甚至没有自定义 Web 部件,因为博客模块甚至不提供它。所以我们这样做了:

    复制~/CMSModules/Blogs/Controls/BlogCommentView.ascx~/CMSModules/Blogs/Controls/BlogCommentEdit.ascx并重命名 更新了这些新文件中的 codefile/inherits 属性以使用自定义类名,并让 ...View.ascx 引用新的 ...Edit.ascx 更改了我们新的...Edit.ascx@Register Src="..." 属性以指向新的...Edit.ascx 在我们只想使用默认值的<tr> 行上设置style="display:none"。 (该站点已经需要身份验证,因此用户名已填写到名称字段中,并且在我们的案例中未使用电子邮件和 URL 字段,因此它们中的内容无关紧要,因为我们不需要根据博客设置的电子邮件字段。) 在我们在自定义门户模板上创建的原始 Web 部件中,将布局更改为指向新 ...View.ascx 的新自定义布局:

刚刚更改@Register元素中Src属性的新布局代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="~/CMSWebParts/Blogs/BlogCommentView.ascx.cs" Inherits="CMSWebParts_Blogs_BlogCommentView" %>
<%@ Register Src="~/CustomBlogCommentView.ascx" TagName="BlogCommentView" TagPrefix="cms" %>

<cms:BlogCommentView ID="commentView" runat="server" />

【讨论】:

以上是关于如何隐藏一些 Kentico 博客评论字段?的主要内容,如果未能解决你的问题,请参考以下文章

css 在博客上隐藏“评论关闭”的措辞。

如何在另一个控制器的上下文中使用rails form partial而不将ID作为隐藏字段传递

如何在主页和类别菜单中隐藏Joomla自定义字段?

如何隐藏EFI分区?

Django admin - 如何在用户编辑中隐藏一些字段?

如何使用 Microsoft VSCode 隐藏/取消隐藏评论?