Перейти к содержанию
Официальный форум поддержки Simpla

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


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

Такс, с проверкой поля e-mail разобрался - теперь регистрируется без него. Кто в курсе, как сделать, что бы в качестве логина (в его роли выступает e-mail) был телефон? И как сделать, что бы у авторизованного пользователь при оформлении заказа уже было заполнено поле "телефон"?

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 118
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Изображения в теме

при оформлении заказа уже было заполнено поле "телефон"


CartView.php после
$this->design->assign('email', $this->user->email);



добавить

$this->design->assign('phone', $this->user->phone);
Ссылка на сообщение
Поделиться на другие сайты

filth, за автозаполнение спасибо. Отказался я от необязательного поля "e-mail". Сделал так - поле емаил обязательно при регистрации, но не обязательно при оформлении заказа, в последнем случае - обязательно поле "телефон". Как считаете, правильно?

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

Думаю да, тем более поле e-mail само подтянется к заказу.
У Меня например, все поля обязательны, кроме того, я добавил поле "Адрес доставки" и оно тоже обязательно, а то шутников много))).

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...
  • 2 недели спустя...

Помогите добавить поле в корзине при заказе. Допустим надо поле "Индекс".
Получилось сделать только визуально, отображается название поля в админке и на самом сайте, но значение не отображается(пусто).

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...
  • 3 недели спустя...
  • 1 месяц спустя...

страница с регистрацией стала недоступна + покупатели,которые уже были зарегистрированы исчезли,но их можно выбрать в деталях заказа.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

beagler,
fedot361,

Спасибо вам большое!
Дали очень полезную информацию. Исходя из нее добавил необходимые для меня поля.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...
  • 2 месяца спустя...

Notice: Undefined property: stdClass::$phone in /home/***/docs/view/UserView.php on line 67

Warning: Cannot modify header information - headers already sent by (output started at /home/brigadir1/brigadir.pro/docs/view/UserView.php:67) in /home/***/docs/index.php on line 26

 

При входе авторизованного пользователя в личный кабинет вылезает ошибка. Телефон не сохраняется, при регистрации нового пользователя пишет, что нужно ввести e-mail...

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

 

Danya

1.Странно, когда я захожу в кабинет - телефон есть.

2. Нужно в /view/CartView.php после

$this->design->assign('email', $this->user->email);

добавить

$this->design->assign('phone', $this->user->phone);

 

Ничего не могу понять. добавил этот код в /CartView.php,  в \simpla\design\html\user.tpl, в \design\default\html\user.tpl все равно автозаполнение не работает ни в корзине, ни в личном кабинете. Единственное место где отображается номер телефона это в списке покупателей в админке, однако если зайти в учетку покупателя там номера уже не будет.

 

Получается что значение value="{$user->email|escape}" не работает в этих файлах. В чем может быть проблема?

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

fedot361, поиск работает, показывает что найден к примеру 1 пользователь, но не выводятся результаты!

 

p.s. вопрос отпал))

 

Как вы решили эту проблему? У меня тоже самое.

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

Notice: Undefined property: stdClass::$phone in /home/***/docs/view/UserView.php on line 67

 

Warning: Cannot modify header information - headers already sent by (output started at /home/brigadir1/brigadir.pro/docs/view/UserView.php:67) in /home/***/docs/index.php on line 26

 

При входе авторизованного пользователя в личный кабинет вылезает ошибка. Телефон не сохраняется, при регистрации нового пользователя пишет, что нужно ввести e-mail...

Аналогичная проблема! :(

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Ничего не могу понять. добавил этот код в /CartView.php,  в \simpla\design\html\user.tpl, в \design\default\html\user.tpl все равно автозаполнение не работает ни в корзине, ни в личном кабинете. Единственное место где отображается номер телефона это в списке покупателей в админке, однако если зайти в учетку покупателя там номера уже не будет.

 

Получается что значение value="{$user->email|escape}" не работает в этих файлах. В чем может быть проблема?

У меня та же проблема, люди, подскажите в чем трабл?

 

И еще у меня версия 2.2.3 и там вместо 

 

elseif($user_id
= $this->users->add_user(array('name'=>$name, 'email'=>$email,
'password'=>$password, 'enabled'=>$default_status)))

 

 

 

elseif($user_id
= $this->users->add_user(array('name'=>$name, 'email'=>$email,
'password'=>$password, 'enabled'=>$default_status,
'last_ip'=>$_SERVER['REMOTE_ADDR'])))

 

Как правильно заменить на 

 

 

elseif($user_id
= $this->users->add_user(array('name'=>$name, 'email'=>$email,
'password'=>$password, 'enabled'=>$default_status,
'phone'=>$this->request->post('phone'))))

 

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

Спасибо все шикарно работает) парни извените за не скромный вопрос у вас руки для чего и откуда растут? минут за 5 все поставил что в админке что у аккуанте все шикарно... 

 

кому нужна помшь. могу помочь, деньге не нужны нужна тока помошь) как говриться баш на баш...

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

Огромное спасибо! Все работает!

 

Вот инструкция, так сказать, пошаговая:

=========Добавление поля "Телефон"
1. В таблице s_users добавляем поле phone с типом varchar и длиной 20

2./view/RegisterView.php
вместо строки
			elseif($user_id = $this->users->add_user(array('name'=>$name,
вставляем
			elseif($user_id = $this->users->add_user(array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>$default_status, 'last_ip'=>$_SERVER['REMOTE_ADDR'],'phone'=>$this->request->post('phone'))))
			
3. /api/Users.php
заменить в двух местах (дописать u.phone)
				$query = $this->db->placehold("SELECT u.id, u.email, u.password, u.name, u.group_id, u.enabled, u.last_ip, 
 на
		$query = $this->db->placehold("SELECT u.id, u.email, u.password, u.name, u.group_id, u.enabled, u.last_ip, u.phone, u.created, g.discount, g.name as group_name FROM __users u LEFT JOIN __groups g ON u.group_id=g.id $where LIMIT 1", $id);

4. /view/UserView.php
вместо
					elseif($user_id = $this->users->update_user($this->user->id, array('name'=>$name, 'email'=>$email)))
пишем
					elseif($user_id = $this->users->update_user($this->user->id, array('name'=>$name, 'email'=>$email, 'phone'=>$this->request->post('phone'))))

затем ДВАЖДЫ (в двух разных местах) после строк
$this->design->assign('email', $this->user->email);					
дописываем 
$this->design->assign('phone', $this->user->phone);

5. /simpla/UserAdmin.php
после
			$user->email = $this->request->post('email');
пишем
			$user->phone = $this->request->post('phone');
			
6. /simpla/design/html/user.tpl
после
				<li><label class=property>Email</label><input name="email" class="simpla_inp" type="text" value="{$user->email|escape}" /></li>
пишем
				<li><label class=property>Телефон</label><input name="phone" class="simpla_inp" type="text" value="{$user->phone|escape}" /></li>

7. /simpla/design/html/users.tpl
после
					<a href="mailto:{$user->name|escape}<{$user->email|escape}>">{$user->email|escape}</a>	
				</div>
добавляем
				<div class="cell">
					{$user->phone|escape}
				</div>
И на следующей строке вместо
				<div class="user_group cell">
пишем
				<div class="cell">
В админке пользователей вывели.

8. /design/ВАША ТЕМА/html/user.tpl
после 
	<input data-format="email" data-notice="Введите email" value="{$email|escape}" name="email" maxlength="255" type="text"/></td>
пишем
	<label>Телефон</label>
	<input data-format=".+" data-notice="Введите телефон" value="{$phone|escape}" name="phone" maxlength="20" type="text"/>

Настраиваем поиск по телефону
меняем в двух местах
				$keyword_filter .= $this->db->placehold('AND u.name LIKE "%'.mysql_real_escape_strin
на
				$keyword_filter .= $this->db->placehold('AND u.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR u.email LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR u.phone LIKE "%'.mysql_real_escape_string(trim($keyword)).'%"');	
	
9./design/ВАША ТЕМА/html/register.tpl
после
	<input type="text" name="email" data-format="email" data-notice="Введите email" value="{$email|escape}" maxlength="255" />
пишем 
	<label>Телефон</label>
	<input type="text" name="phone" data-format=".+" data-notice="Введите телефон" value="{$phone|escape}" maxlength="20" />

 

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

Если кто-то решит внести поле  "Телефон" в экспортируемый XLS, то редактируем файл /simpla/ajax/export_users.php

 

Получаем:

private $columns_names = array(
			'name'=>             'Имя',
			'phone'=>          'Телефон',
			'email'=>            'Email',
			'group_name'=>            'Группа',
			'discount'=>         'Скидка',
			'enabled'=>          'Активен',
			'created'=>          'Дата',
			'last_ip'=>          'Последний IP'
			);

 

За подсказку большое спасибо гуру kosjak76!

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...