对于带有评论的博客使用Kentico时,它包含以下字段:
但我想使用当前经过身份验证的用户名,而不需要电子邮件或您的网址选项。
在一次性页面上,我们可以使用CSS通过HTML ID将字段设置为display:none
,但这对于Blog不起作用,因为ID会经常更改,因为它们是由ASP.NET生成的基于控制树。
有没有办法通过配置BlogComments Web部件隐藏这些字段(我们无法在其中找到任何设置),或者我们是否必须使用自定义代码替换BlogComments Web部件?
更新:看起来如果没有自定义代码就无法做到这一点(请参阅下面接受的答案),至少在v5.5 R2及更早版本中是这样;也许不是在v6中?投票选择功能建议,将其添加到此Kentico UserVoice request的未来版本的Kentico中。
答案 0 :(得分:0)
您使用的是哪个版本的Kentico CMS?我刚检查了5.5R2版本,如果用户通过了身份验证,则会在博客评论中自动填写用户名和电子邮件。
要隐藏您不需要的字段,您需要更改此Web部件中使用的控件的代码 - \ CMSModules \ Blogs \ Controls \ BlogCommentEdit.ascx.cs(升级/修复时请注意您的更改)。
答案 1 :(得分:0)
我们查看了Web部件代码,Kentico 5.5不提供通过Web部件属性自定义它们的功能,甚至也不提供自定义Web部件,因为博客模块甚至不提供它。所以我们这样做了:
~/CMSModules/Blogs/Controls/BlogCommentView.ascx
和~/CMSModules/Blogs/Controls/BlogCommentEdit.ascx
并重命名为...View.ascx
引用了新的...Edit.ascx
...Edit.ascx
的{{1}}属性更改为指向新的@Register Src="..."
...Edit.ascx
行上设置style="display:none"
。 (此站点已经需要身份验证,因此用户的名称已填入“名称”字段,并且在我们的案例中未使用电子邮件和URL字段,因此我们不需要它们并不重要每个博客设置的电子邮件字段。)<tr>
的新自定义布局:刚刚更改了...View.ascx
元素中Src
属性的新布局代码:
@Register