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

[Решено] Переключатель подписки в личном кабинете


Recommended Posts

Легко.

Переносишь объявление переменных из контроллера, ну и сам вывод.

Файлы знаешь.

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

ну это-то я сделал.

я, наверное, неправильно выразился. форму управления подпиской я вывел на страницу аккаунта, но она не учитывает текущее состояние подписки.

код формы:

<table class="form">
        <tr>
          <td><?php echo $entry_newsletter; ?></td>
          <td><?php if ($newsletter) { ?>
            <label><input type="radio" name="newsletter" value="1" checked="checked">
            <?php echo $text_yes; ?> Включена</label>
            <label><input type="radio" name="newsletter" value="0">
            <?php echo $text_no; ?> отключить</label>
            <?php } else { ?>
<input type="radio" name="newsletter" value="0" checked="checked">
            <?php echo $text_no; ?> Отключена
            <input type="radio" name="newsletter" value="1">
            <?php echo $text_yes; ?> Включить
            
            <?php } ?></td>
        </tr>
      </table>
не учитывает текущее состояние подписки и всегда выводит вот этот кусок:

<label><input type="radio" name="newsletter" value="1" checked="checked">
            <?php echo $text_yes; ?> Включена</label>
            <label><input type="radio" name="newsletter" value="0">
            <?php echo $text_no; ?> отключить</label>
else не выполняется, хотя на изменение состояния реагирует

в контроллер перенес все переменные, полагаю надо еще ковырять модель, но и account.php, и newsletter.php обращаются к модели customer.php, и вот тут [стыдно признаться] я теряюсь

Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах

Чтобы учитывать текущую подписку пользователя(клиента), получить ее значение и передать в шаблон. Для этого из контроллера newsletter.php нужно перенести код в account.php похожий на вот этот:

$data['newsletter'] = $this->customer->getNewsletter();
//или
$this->data['newsletter'] = $this->customer->getNewsletter(); 

Теперь в шаблоне будет доступна новая переменная $newsletter, в ней содержится текущее значение подписки пользователя.. 

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

[РЕШЕНО]

 

в контроллере account.php надо было закомментить строку 

$this->data['newsletter'] = $this->url->link('account/newsletter', '', 'SSL');

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

 

теперь страница подписки не работает. впрочем, она уже и не нужна

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

Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

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

×
×
  • Створити...

Important Information

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