Как скрыть некоторые поля комментариев блога Kentico? - PullRequest
1 голос
/ 04 ноября 2011

При использовании Kentico для блога с комментариями он имеет следующие поля:

  • Имя
  • E-mail
  • ВашURL
  • Комментарии

Но я хочу использовать имя текущего аутентифицированного пользователя, и мне не нужны опции E-mail или Your URL.

На одном-off страницы, мы можем использовать CSS, чтобы установить поля display:none по их идентификаторам HTML, но это не будет работать для блогов, потому что идентификаторы будут часто меняться, так как они генерируются ASP.NET на основе дерева элементов управления.

Есть ли способ скрыть эти поля, настроив веб-часть BlogComments (мы не можем найти там какие-либо настройки для них), или нам нужно заменить веб-часть BlogComments пользовательским кодом?

ОБНОВЛЕНИЕ: похоже, что вы не можете сделать это без настройки кода (см. Принятый ответ ниже), по крайней мере, в v5.5 R2 и более ранних версиях;может не в v6 тоже?Проголосуйте за предложение о добавлении функции в будущую версию Kentico в этом запросе Kentico UserVoice .

Ответы [ 2 ]

0 голосов
/ 07 ноября 2011

Мы изучили код веб-части, и Kentico 5.5 не предлагает возможность настраивать их с помощью свойств веб-части, даже с помощью настраиваемой веб-части, поскольку модуль блога даже не предлагает его. Итак, мы сделали это:

  1. Скопировал ~/CMSModules/Blogs/Controls/BlogCommentView.ascx и ~/CMSModules/Blogs/Controls/BlogCommentEdit.ascx и переименовал их
  2. Обновил атрибуты кодового файла / наследует в этих новых файлах, чтобы использовать имена пользовательских классов и для ...View.ascx для ссылки на новый ...Edit.ascx
  3. Изменен наш новый атрибут ...Edit.ascx @Register Src="...", чтобы он указывал на новый ...Edit.ascx
  4. Установите style="display:none" в строках <tr>, которые мы просто хотели использовать по умолчанию. (Для этого сайта уже требовалась аутентификация, поэтому имя пользователя уже было заполнено в поле «Имя», а поля «Электронная почта» и «URL» не используются в нашем случае, поэтому не имело значения, что в них было, поскольку нам не требовалось поле E-mail в настройках блога.)
  5. В исходной веб-части, которую мы создали на нашем настроенном шаблоне портала, изменили макет на новый, собственный макет, который указывает на новый ...View.ascx:

Новый код макета, который только что изменил атрибут Src в элементе @Register:

<%@ 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" />
0 голосов
/ 07 ноября 2011

Какую версию Kentico CMS вы используете? Я только что проверил версию 5.5R2, и имя пользователя и адрес электронной почты автоматически заполняются в комментариях блога, если пользователь аутентифицирован.

Чтобы скрыть ненужные поля, вам нужно изменить код элемента управления, используемого в этой веб-части - \ CMSModules \ Blogs \ Controls \ BlogCommentEdit.ascx.cs (при обновлении / исправлении учитывайте свои изменения) ).

...