2015-03-22 9 views
0

Когда кто-то хочет написать комментарий, он должен установить имя, адрес электронной почты, веб-сайт и, наконец, комментарии. Как мне изменить этот шаблон, чтобы использовать только комментарий? Потому что у него есть эта информация, когда администратор зарегистрировал его. Я не хочу хранить ложную информацию.Шаблон пользовательских комментариев в BlogEngine

Благодарим за помощь.

ответ

1

Поскольку вы не указали версию, я предполагаю, что вы работаете с текущим последним (3.1).

Форма представления комментариев контролируется CommentForm.cshtml в папке siteroot/Custom/Theme/YourCurrentTheme. Вот часть формы из темы 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> 

Это имеет последствия для безопасности. Вы доверяете своим пользователям не смешивать скрытые значения в форме. На открытом веб-сайте это, вероятно, недостаточно безопасно, и вам придется посмотреть на изменение обработчика отправки.

Изменение обработчика отправки имеет свои собственные проблемы с обслуживанием, так как вы будете запускать пользовательскую версию программного обеспечения, которая не будет автоматически обновляться при выходе следующей версии. Это зависит от вас, чтобы решить, что является лучшим путем в вашей ситуации.

+0

Благодарим за помощь. Я использовал @ Security.CurrentMembershipUser.UserName для имени пользователя. –