Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


sameOG

Recommended Posts

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

 

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

 

<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) . Только где ? Что означает эта переменная?

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

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

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


 

только в register.tpl



 

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

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

 

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

Надіслати
Поділитися на інших сайтах


Вообщем, кому интересно. В файле 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'] добавил просто пробел, т.к. там на самом деле не важно значение, потому что в дальнейшем в коде идет проверка пуста ли переменная или нет.

Надіслати
Поділитися на інших сайтах


Вообщем, кому интересно. В файле 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.