sameOG

Дефолтное значение формы подписки на новости

Рекомендуемые сообщения

sameOG    1

Задался вопросом как сделать, чтобы подписка на новости по-умолчанию стояла на выборе "Да" при регистрации. В настройках ничего не нашел.

 

В коде следующее:

 

<td><select name="newsletter">
                    <?php if ($newsletter) { ?>
                    <option value="1" selected="selected"><?php echo $text_enabled; ?></option>
                    <option value="0"><?php echo $text_disabled; ?></option>
                    <?php } else { ?>
                    <option value="1"><?php echo $text_enabled; ?></option>
                    <option value="0" selected="selected"><?php echo $text_disabled; ?></option>
                    <?php } ?>
                  </select></td>

 

 

Как видно это все-таки настраивается где-то, удя по if ($newsletter) . Только где ? Что означает эта переменная?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69

начать нужно с того какой у вас модуль регистрации: штатный, симпл или еще какой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sameOG    1

Штатный, я думаю это очевидно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69

самый простой вариант: убрать проверку $newsletter

и просто оставить


 

только в register.tpl



 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sameOG    1

Да, я тоже так могу. Но это метод топора. Вопрос то в другом. Если идет проверка переменной, то за какую настройку она отвечает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ambalocha69    69

register.php - обращаем внимание на эти строки:

if (isset($this->request->post['newsletter'])) {
$this->data['newsletter'] = $this->request->post['newsletter'];
} else {
$this->data['newsletter'] = '';
}

$this->data['newsletter'] = ''; - это задание значения по умолчанию. ставьте '1'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sameOG    1

Когда человек впервые переходит на страницу регистрации, то никаких POST данных на страницу не передается. Поэтому собственно и возник вопрос откуда изначально эта идет переменная? И за что отвечает?

 

В этом коде, который вы привели  изначально всегда будет пустое значение newsletter. Переправить код я и сам мог. Я хотел услышать ответ на мой вопрос. Т.е. получается, что эта переменная newsletter нигде не настраивается т.е. она только создается в макете register?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sameOG    1

Вообщем, кому интересно. В файле controller/account/register.php

 

if (isset($this->request->post['newsletter'])) {
            $this->data['newsletter'] = $this->request->post['newsletter'];
        } else {
            $this->data['newsletter'] = ' '; // not empty
        }

 

В значение $this->data['newsletter'] добавил просто пробел, т.к. там на самом деле не важно значение, потому что в дальнейшем в коде идет проверка пуста ли переменная или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Perchilo    1

Вообщем, кому интересно. В файле controller/account/register.php

 

if (isset($this->request->post['newsletter'])) {

            $this->data['newsletter'] = $this->request->post['newsletter'];

        } else {

            $this->data['newsletter'] = ' '; // not empty

        }

 

В значение $this->data['newsletter'] добавил просто пробел, т.к. там на самом деле не важно значение, потому что в дальнейшем в коде идет проверка пуста ли переменная или нет.

 

Спасибо, давно искал решение, теперь стоит "Да" по умолчанию!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу