1

Тема: Форма комментариев

Хочу изменить эту форму немного.

Как редактировать тексты - это ясно. А вот как убрать кнопку "предварительный просмотр" и чекбоксы? Подскажите, плиз.

И чтобы сразу: можно ли сделать так, чтобы, например, почту вводить было необязательно?

2

Re: Форма комментариев

смотри файл _include\comments.php
чекбоксы: строка 72, 73
пред-просмотр: строка 89
можно их просто удалить, но на мой взгляд не стоит торопиться с удалением...
лучшим решением будет - использовать Тег <!-- --> условный комментарий,
ниже живой пример как это сделать:

было

72 | <label for="showmail" title="<?php echo $lang_common['Show email label title']; ?>"><input type="checkbox" id="showmail" name="<?php echo s2_field_name('show_email')?>" <?php if ($showmail) echo 'checked="checked" '; ?>><?php echo $lang_common['Show email label']; ?></label><br>
73 | <label for="subscr" title="<?php echo $lang_common['Subscript label title']; ?>"><input type="checkbox" id="subscr" name="<?php echo s2_field_name('subscribed')?>" <?php if ($subscribed) echo 'checked="checked" '; ?>><?php echo $lang_common['Subscript label']; ?></label>
   ...
89 | <input type="submit" name="preview" value="<?php echo $lang_common['Preview']; ?>">

стало

72 | <!-- <label for="showmail" title="<?php echo $lang_common['Show email label title']; ?>"><input type="checkbox" id="showmail" name="<?php echo s2_field_name('show_email')?>" <?php if ($showmail) echo 'checked="checked" '; ?>><?php echo $lang_common['Show email label']; ?></label><br> -->
73 | <!-- <label for="subscr" title="<?php echo $lang_common['Subscript label title']; ?>"><input type="checkbox" id="subscr" name="<?php echo s2_field_name('subscribed')?>" <?php if ($subscribed) echo 'checked="checked" '; ?>><?php echo $lang_common['Subscript label']; ?></label> -->
   ...
89 | <!-- <input type="submit" name="preview" value="<?php echo $lang_common['Preview']; ?>"> -->

ok...

3

Re: Форма комментариев

Я так понимаю, мы таким образом отключаем эти строчки, но при этом не удаляем их, чтобы, если что, вернуть, да?

И вопрос тогда про обновление движка. Все, что я менял до этого, было в отдельных файлах, специально, чтобы при обновление не пришлось ничего подправлять. Как будет в этом случае? Может быть изменить и поместить в папку cache, чтобы исходник остался таким же?

Ну, и хотелось бы узнать, можно ли отключить обязательность ввода электронной почты?

05.03.2013 13:03:55. Текст был изменен (ans).

4

Re: Форма комментариев

Я бы предложил скрывать чекбоксы и кнопки через CSS. Устанавливайте им display: none.

Чтобы в этой версии сделать e-mail необязательным, лучше всего создать «настроечное» расширение, примерно как здесь: http://s2cms.ru/forum/post/185/#p185
Вам нужно добавить в хук fn_is_valid_email_start такой код:

if ($email === '')
    return true;

Получится что-то вроде

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE extension SYSTEM "ext-1.0.dtd">

<extension for="S2" engine="1.0">
    <id>my_test</id>
    <title>Test extension</title>
    <version>1.0a</version>
    <description>Do not require email for comments.</description>
    <author>Roman Parpalak</author>

    <minversion>1.0b3</minversion>
    <maxtestedon>1.0b4</maxtestedon>

    <hooks>
        <hook id="fn_is_valid_email_start"><![CDATA[
if ($email === '')
    return true;
        ]]></hook>
    </hooks>
</extension>

Если не заработает - пишите, будем разбираться.

5

Re: Форма комментариев

Заработало, спасибо