OC 1.5.x Свои поля профиля пользователя

Тема в разделе "Общие вопросы", создана пользователем tr3m0r, 12 сен 2015.

  1. tr3m0r

    tr3m0r Новичок

    Сообщения:
    2
    Симпатии:
    0
    Вопрос по созданию кастомных полей профиля пользователя.

    Ситуация следующая:

    • есть необходимость добавить своё поле в профиль пользователя (допустим, номер страхового свидетельства СНИЛС);

    • в таблице customer БД создано поле snils;

    • во вьюху регистрации пользователя добален код:
    PHP:
    <tr>
    <td><?php echo $entry_snils?></td>
    <td><input type="text" name="snils" value="<?php echo $snils?>" />
    <?php if ($error_snils) { ?>
    <span class="error"><?php echo $error_snils?></span>
    <?php ?></td>
    </tr>;
    • в контроллер register, естественно добавлено:
    PHP:
    if (isset($this->error['snils'])) {
    $this->data['error_snils'] = $this->error['snils'];
    } else {
    $this->data['error_snils'] = '';
    };
    • в модель customer, в функцию addCustomer($data) естественно добавлено:
    PHP:
    snils '" . $this->db->escape($data['snils']) . "',;
    • в language\russian\account\register, естественно добавлено:
    PHP:
    $_['entry_snils'] = 'Номер пенсионного свидетельства:';
    $_['error_snils'] = 'Введите номер пенсионного свидетельства:';
    Однако ж, на стнанице регистрации в значении поля выдается ошибка:
    <b>Notice</b>: Undefined variable: snils in <b>/home/имяпользователя/web/домен/public_html/catalog/view/theme/имяшаблона/template/account/register.tpl</b> on line <b>157</b>, т.е. на строчку во вьюхе, где впервые упоминается кастомное поле.

    Кэши чищены десятки раз.

    Про Simple читал и неоднократно, знаю его возможности, знаю, что стоит копейки, но советовать мне его не нужно, меня он не совсем устраивает. К тому же хочется самому знать и понимать, что и где пропустил.

    Получается, что поле существует, выборка из поля существует, вывод выборки и обработка ошибки существует, соответствующая вьюха существует. Однако же, значение поля вместо банально пустого ' ' выводит текст ошибки, что не совсем логично.

    ЧЯДНТ?
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    а вот там естественно не видно ))
    PHP:
    $this->data['snils'] = прампампам;
     
    tr3m0r нравится это.
  3. tr3m0r

    tr3m0r Новичок

    Сообщения:
    2
    Симпатии:
    0
    Чёрт возьми, какая глупая невнимательность! :D
    Огромное спасибо, что ткнули носом!
    PHP:
    if (isset($this->request->post['snils'])) {
        
    $this->data['snils'] = $this->request->post['snils'];
    } else {
        
    $this->data['snils'] = '';
    }