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

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


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

в каких файлах надо это менять? все облазил не нашел похожих кодов..... подскажите пожалуйста...

 

Делаем поиск по телефону в админке:

 

/api/Users.php

 

Вместо:

$keyword_filter .= $this->db->placehold('AND (u.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.email LIKE "%'.$this->db->escape(trim($keyword)).'%"  OR u.last_ip LIKE "%'.$this->db->escape(trim($keyword)).'%")');

Меняем на:

$keyword_filter .= $this->db->placehold('AND (u.phone LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.email LIKE "%'.$this->db->escape(trim($keyword)).'%"  OR u.last_ip LIKE "%'.$this->db->escape(trim($keyword)).'%")');

Вместо:

$keyword_filter .= $this->db->placehold('AND u.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.email LIKE "%'.$this->db->escape(trim($keyword)).'%"');

Меняем на:

$keyword_filter .= $this->db->placehold('AND u.phone LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.name LIKE "%'.$this->db->escape(trim($keyword)).'%" OR u.email LIKE "%'.$this->db->escape(trim($keyword)).'%"');

Этот метод работает на 2.3.6 версии. 

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

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

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

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

Странно, телефон отображается только в админке в шаблоне users.tpl. В  нем переменная находится {$user->phone|escape} в {foreach $users as $user}. 

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

Странно, телефон отображается только в админке в шаблоне users.tpl. В  нем переменная находится {$user->phone|escape} в {foreach $users as $user}. 

 

а вы добавили поле телефон в функцию выборки одного пользователя get_user() в api/users.php ?

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

а вы добавили поле телефон в функцию выборки одного пользователя get_user() в api/users.php ?

Спасибо огромное! Всё заработало.

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

Помогите пожалуйста новичку!

 

Добавила в корзину дополнительное поле (Город)

Внесла изменения в данные файлы, по аналогии с полями "phone" и "address"

 

- api/Orders.php

- view/CartView.php

- simpla/OrderAdmin.php

- design/html/order.tpl

- design/мой_шаблон/html/cart.tpl

- design/мой_шаблон/html/order.tpl

- Поле в базу данных добавила

Поле новое появилось, оно заполняется корректно, но появились ошибки в работе корзины:  после оформления заказа - вместо страницы "Ваш заказ отправлен"  - пустой экран (в адресной строке http://мой_домен/cart/. Корзина не очищается. Письма о заказе ни админу ни клиенту не приходят. При этом, заказ в базу данных вносится и нормально отображается в админке  в заказах.

Я думаю, что проблема возникает на этапе отправки писем заказчику и админу.  Все перепроверила - не пойму, где косяк. :(

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

Помогите пожалуйста новичку!

 

Добавила в корзину дополнительное поле (Город)

Внесла изменения в данные файлы, по аналогии с полями "phone" и "address"

 

- api/Orders.php

- view/CartView.php

- simpla/OrderAdmin.php

- design/html/order.tpl

- design/мой_шаблон/html/cart.tpl

- design/мой_шаблон/html/order.tpl

- Поле в базу данных добавила

Поле новое появилось, оно заполняется корректно, но появились ошибки в работе корзины:  после оформления заказа - вместо страницы "Ваш заказ отправлен"  - пустой экран (в адресной строке http://мой_домен/cart/. Корзина не очищается. Письма о заказе ни админу ни клиенту не приходят. При этом, заказ в базу данных вносится и нормально отображается в админке  в заказах.

Я думаю, что проблема возникает на этапе отправки писем заказчику и админу.  Все перепроверила - не пойму, где косяк. :(

 

включите вывод ошибок php на сервере и поймете что не так

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

Друзья, возник вопрос при добавлении поле "Дата рождения".

 

По аналогии добавил {$user->created|date} добавил {$user->birth|date} там где необходимо, но есть один момент.

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

 

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

 

Подскажите, пожалуйста.

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

Друзья, возник вопрос при добавлении поле "Дата рождения".

 

По аналогии добавил {$user->created|date} добавил {$user->birth|date} там где необходимо, но есть один момент.

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

 

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

 

Подскажите, пожалуйста.

 

 

скорее всего у вас поле birth как и created по умолчанию записывает в базу текущую дату из-за

ALTER TABLE s_users ADD `birth` timestamp NULL DEFAULT CURRENT_TIMESTAMP

удалите поле (чтобы затереть текущую дату у всех уже созданных пользователей) и создайте снова

ALTER TABLE s_users ADD `birth` timestamp NULL

 

чтобы подключить датапикер нужно использовать js, посмотрите как это сделано в simpla/design/html/post.tpl

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое за ответ.

 

Только вот `birth` timestamp NULL  все равно выставляет текущую дату.  Может какое-то другое значение нужно ставить?!

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

Спасибо большое за ответ.

 

Только вот `birth` timestamp NULL  все равно выставляет текущую дату.  Может какое-то другое значение нужно ставить?!

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

Спасибо большое за ответ.

 

Только вот `birth` timestamp NULL  все равно выставляет текущую дату.  Может какое-то другое значение нужно ставить?!

 

вставляет текущую дату в поле а не в базу. вам еще нужно в поле куда выводите написать что-то вроде

 

{if $user->birth}{$user->birth|date}{/if}

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

вставляет текущую дату в поле а не в базу. вам еще нужно в поле куда выводите написать что-то вроде

 

{if $user->birth}{$user->birth|date}{/if}

Спасибо большое. Действительно с этим условием работает.

 

Теперь пытаюсь подключить datepicker , пока на странице Регистрации.

Подключаю сверху:

{literal}
<script src="design/js/jquery/datepicker/jquery.ui.datepicker-ru.js"></script>
<script>
$(function() {

	$('input[name="birth"]').datepicker({
		regional:'ru'
	});
})
</script>
{/literal}

далее там где поля:

<label>Ваш день рождения</label>
    <input type="text" name="birth" data-format=".+" data-notice="Введите Дату рождения" value="{if $user->birth}{$user->birth|date}{/if}" />

НО к сожалению datepicker не выходит (( Где я что не правильно делаю? (

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

 

НО к сожалению datepicker не выходит (( Где я что не правильно делаю? (

 

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

<script src="design/js/jquery/datepicker/jquery.ui.datepicker-ru.js"></script>

у вас во-первых должно быть что-то такое

<script src="design/ваша_тема/js/datepicker/jquery.ui.datepicker-ru.js"></script>

а во-вторых вам нужно скопировать скрипт датапикера (simpla/design/js/jquery/datepicker/) из админ-части в папку вашего шаблона (design/ваша_тема/js/datepicker/)

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Тоже самое сделал для Админки на странице simpla/design/html/user.tpl

 

К счастью, datepicker появился тут, только опять НО (( выбираю к примеру дату и жму Сохранить, в итоге ничего не сохраняется (( поле пустое опять.

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

Тоже самое сделал для Админки на странице simpla/design/html/user.tpl

 

К счастью, datepicker появился тут, только опять НО (( выбираю к примеру дату и жму Сохранить, в итоге ничего не сохраняется (( поле пустое опять.

 

насчет почему не появляется в регистрации я описал выше.

 

а начет админки: вы добавили в контролер сохранение этого поля?

simpla/UserAdmin.php

 

$user->birth = date('Y-m-d', strtotime($this->request->post('birth')));
Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

 

насчет почему не появляется в регистрации я описал выше.

 

а начет админки: вы добавили в контролер сохранение этого поля?

simpla/UserAdmin.php

 

$user->birth = date('Y-m-d', strtotime($this->request->post('birth')));

Спасибо Вам огромное! Теперь сохраняется дата в Админке )) Супер.

 

На счет датапикера на странице Регистрации , скопировал скрипт в папку с шаблоном, чет не выходит. Чую конфликт какой-то со скриптом каким-то ((

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

Спасибо Вам огромное! Теперь сохраняется дата в Админке )) Супер.

 

На счет датапикера на странице Регистрации , скопировал скрипт в папку с шаблоном, чет не выходит. Чую конфликт какой-то со скриптом каким-то ((

 

смотрите что выдает в консоли. тут уже нужно на конкретном сайте смотреть если есть конфликт

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

Простите, еще такой момент.

На странице Регистрации пока ввожу вручную дату без датапикера, жму сохранить и не сохраняется также как и в Админке.

Где можно это исправить?

Спасибо

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

Простите, еще такой момент.

На странице Регистрации пока ввожу вручную дату без датапикера, жму сохранить и не сохраняется также как и в Админке.

Где можно это исправить?

Спасибо

 

view/RegisterView.php

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

с datetime вообще выдало всем дату 01.01.1970 )

Мне не ясно с чего Вы насмехаетесь?

Все верно, эту дату и должно возвращать, вот почитайте на досуге http://www.php.su/functions/?time

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

Мне не ясно с чего Вы насмехаетесь?

Все верно, эту дату и должно возвращать, вот почитайте на досуге http://www.php.su/functions/?time

Ни как нет. Я и даже и не думал. Сорри, если что.

Я удивился просто такая дата вышла.

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

view/RegisterView.php

Извините, что достаю. Можете сказать, где именно и как подключить?

 а то я попытался это сделать там, где

elseif($user_id = $this->users->add_user(array( .....

ничего не выходит. ((

 

Спасибо большое!

Изменено пользователем DarAmal
Ссылка на сообщение
Поделиться на другие сайты

Извините, что достаю. Можете сказать, где именно и как подключить?

 а то я попытался это сделать там, где

elseif($user_id = $this->users->add_user(array( .....

ничего не выходит. ((

 

Спасибо большое!

 

после

$email			= $this->request->post('email');

добавить

$birth = date('Y-m-d', strtotime($this->request->post('birth')));

после

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

добавить

$this->design->assign('birth', $birth);

после (36 строка)

'email'=>$email,

добавить

'birth'=>$birth,

 

можно еще делать проверку на то была ли введена дата, по аналогии с другими проверками

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

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

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

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

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

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

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

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

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

Загрузка...

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