Jump to content
Sign in to follow this  
alonealien

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

Recommended Posts

всем доброго времени суток

 

кто-нибудь знает как вынести форму (переключатель) подписки из newsletter.tpl в account.tpl?

 

Share this post


Link to post
Share on other sites

Я знаю.

Share this post


Link to post
Share on other sites

Легко.

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

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

Share this post


Link to post
Share on other sites

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

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

код формы:

<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, и вот тут [стыдно признаться] я теряюсь

Edited by afwollis

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

[РЕШЕНО]

 

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

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

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

 

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.