Меню

О том, как можно сделать много лишнего или вторая часть рассказа про модернизацию плагина

2489

Здравствуйте, дорогие читатели https://denis-skripnik.name. Вчера я продолжил изменять существующий плагин, и вот что из этого вышло.

Так как у меня не получилось сделать заголовок добавления комментария настраиваемым через админку, а также я понял, что это не самое важное, я решил сначала убрать радиокнопку анонима с именем (т. е. только оставить возможность добавления комментария с регистрацией: с вводом e-mail, пароля, имени, сайта и текста комментария).

Я открыл папку "type_foreach", а затем зашёл в файл "page-comment-form-old.php", где удалил строки:

<!--?php if ($allow_comment_anonim = mso_get_option('allow_comment_anonim', 'general', '1') ) { ?-->
<!--?php if ($options['tc_form_alt']) { ?-->
<p class="radio" style="float:left;"><label>
<input name="comments_reg" id="comments_reg_1" value="noreg" <?php="" if="" (!$options['tc_form_reg'])="" echo="" 'checked="checked" ';="" ?="" type="radio">> <!--? echo $options['tc_form_text1']; ?--></label>
<p class="radio" style="float:right;"><label>
<input name="comments_reg" id="comments_reg_2" value="reg" <?php="" if="" ($options['tc_form_reg'])="" echo="" 'checked="checked" ';="" ?="" type="radio">> <!--? echo $options['tc_form_text2']; ?--></label>
<!--?php } ?-->
">
<!--?php if (mso_get_option('allow_comment_comusers', 'general', '1')) { ?-->
<!--?php if (!$options['tc_form_alt']) { ?-->

<p class="radio"><label>
<input name="comments_reg" id="comments_reg_1" value="noreg" <?php="" if="" (!$options['tc_form_reg'])="" echo="" 'checked="checked" ';="" ?="" type="radio">> <!--? echo $options['tc_form_text1']; ?--></label>
<!--?php } ?-->
<!--?php } else { ?-->
<input name="comments_reg" value="noreg" type="hidden">
<!--?php } ?-->
<table class="no-border">
<tbody>
	<tr class="r1">
		<td class="t1"><label for="comments_author"><!--?=t('Ваше имя')?--></label>
</td>
<td class="t2">
<input name="comments_author" id="comments_author" onfocus="document.getElementById('comments_reg_1').checked = 'checked';" type="text"></td>
	</tr>
</tbody>
</table>
<p class="hint"><!--?php
if (mso_get_option('new_comment_anonim_moderate', 'general', '1') )
echo mso_get_option('form_comment_anonim_moderate', 'general', t('Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.'));
else
echo mso_get_option('form_comment_anonim', 'general', t('Используйте нормальные имена.'));
?-->
<!-- div class="comments-noreg" -->
<!--?php } ?-->
<!--?php if (mso_get_option('allow_comment_comusers', 'general', '1')) { ?-->
">
<!--?php if ( mso_get_option('allow_comment_anonim', 'general', '1') ) {?-->
<!--?php if (!$options['tc_form_alt']) { ?-->

<p class="radio"><label>
<input name="comments_reg" id="comments_reg_2" value="reg" <?php="" if="" ($options['tc_form_reg'])="" echo="" 'checked="checked" ';="" ?="" type="radio">> <!--? echo $options['tc_form_text2']; ?--></label>
<!--?php } ?-->
<!--?php } else { ?-->
<input name="comments_reg" id="comments_reg_2" value="reg" checked="checked" type="hidden"> 
<!--?php } ?-->

а также, чтобы скрыть поле с паролем и вставлять автоматически в поле e-mail, заменил существующие строки:

<label for="comments_password" class="comments_password"><!--?= t('Пароль*') ?--></label>
<input name="comments_password" id="comments_password" value="" onfocus="document.getElementById('comments_reg_2').checked = 'checked';" type="password">

на эти:

<label for="comments_password" class="comments_password"><!--?= t('Пароль*') ?--></label>
<input name="comments_password" id="comments_email" value="" onfocus="document.getElementById('comments_reg_2').checked = 'checked';" type="password">

Даю скриншоты стандартного и изменённого файла:

  • Исходный файл
  • Изменённый файл

Вот что получилось:

Страница одной из статей с ошибкой

Да, чуть не забыл: чтобы изменения отобразились, мне надо было в настройках отметить галочку "использовать старую форму комментирования".

Мои ошибки:

  • 1. Я начал пытаться убрать выбор: без регистрации оставлять комментарий или нет, не посмотрев до этого основные настройки комментирования, а ведь там есть флажок "разрешать оставлять комментарии анонимам". После того, как вы снимите его, форма принимает вид: имя, e-mail, пароль, сайт (если отмечен в настройках плагина), текст комментария и кнопка "отправить".
  • 2. class="non" - это стили, которые лишь визуально скрывают форму ввода пароля и надпись, но не вообще. Также я неправильно прописал автоматическую вставку в поле пароля адреса электронной почты комментатора, что привело к ошибке.

Желаю, чтобы вы не допускали таких ошибок. Удачи.

Также советую прочитать первую часть.

С уважением, Денис Скрипник.

Текущая оценка Общий бал: 0 Проголосовало Проголосовало: 0

help_share

Данная публикация была вам полезна?

Помоги автору сайта, расскажи друзьям...

    Буду благодарен за каждый оставленный вами комментарий

    Добавить Комментарий

    grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question