daramal Опубликовано 15 июня, 2017 Жалоба Поделиться Опубликовано 15 июня, 2017 Приветствую, друзья! Делаю магазин исключительно для диллеров, с низкими ценами.Планирую убрать с сайта ссылку на Регистрацию, а оставить только Авторизацию. Диллерам хочу создать аккаунты с самой Админки и вносить определенно каждого в отдельную группу со своей скидкой. К сожалению, в Админке не предусмотрено добавление пользователей (покупателей). Может, кто реализовал подобное?! Помогите пожалуйста советами. Благодарю! Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 15 июня, 2017 Жалоба Поделиться Опубликовано 15 июня, 2017 смотрите по аналогии с другими контролерами админки. если есть айди - обновляем юзера, нету - добавляем. Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 15 июня, 2017 Жалоба Поделиться Опубликовано 15 июня, 2017 (изменено) смотрите по аналогии с другими контролерами админки. если есть айди - обновляем юзера, нету - добавляем. я правильно понимаю, делается это как-то так? if(empty($user->id)) { $user->id = $this->users->add_user($user); $this->design->assign('message_success', 'added'); } только там немного все отщличается от других контроллеров, куча условий,сходу не разберешь, куда втыкать UPD:я так понимаю вставить как условие elseif в район 30 строки в файле /simpla/UserAdmin.php? то есть заменить этот код: else { $user->id = $this->users->update_user($user->id, $user); $this->design->assign('message_success', 'updated'); $user = $this->users->get_user(intval($user->id)); } на этот: elseif(empty($user->id)) { $user->id = $this->users->add_user($user); $this->design->assign('message_success', 'added'); } else { $user->id = $this->users->update_user($user->id, $user); $this->design->assign('message_success', 'updated'); $user = $this->users->get_user(intval($user->id)); } Изменено 15 июня, 2017 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 15 июня, 2017 Автор Жалоба Поделиться Опубликовано 15 июня, 2017 смотрите по аналогии с другими контролерами админки. если есть айди - обновляем юзера, нету - добавляем.Mishanya, спасибо за ответ. Если не сложно тебе, можно поподробнее?!Покупателей нет. Будут новые с админки. Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 15 июня, 2017 Жалоба Поделиться Опубликовано 15 июня, 2017 (изменено) я правильно понимаю, делается это как-то так? if(empty($user->id)) { $user->id = $this->users->add_user($user); $this->design->assign('message_success', 'added'); } только там немного все отщличается от других контроллеров, куча условий,сходу не разберешь, куда втыкать UPD:я так понимаю вставить как условие elseif в район 30 строки в файле /simpla/UserAdmin.php? то есть заменить этот код: почти, + еще в дизайне и в контролере пароль и саму форму сделать редактируемой Изменено 15 июня, 2017 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 16 июня, 2017 Жалоба Поделиться Опубликовано 16 июня, 2017 (изменено) и в контролере пароль еще 1 условие? elseif ($this->request->post('password') != "") { $user->password = $this->request->post('password'); } ладно, попробую все сделать, а не по кускам спрашивать Изменено 16 июня, 2017 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 16 июня, 2017 Жалоба Поделиться Опубликовано 16 июня, 2017 (изменено) UPD: Сделалhttps://yadi.sk/i/dMryY8zX3KBAbU 1. Редактируем контроллер В файле /simpla/UserAdmin.php (примерно строка 30) else { $user->id = $this->users->update_user($user->id, $user); $this->design->assign('message_success', 'updated'); $user = $this->users->get_user(intval($user->id)); }заменяем на elseif(empty($user->id)) { $user->id = $this->users->add_user($user); $this->design->assign('message_success', 'added'); } elseif($this->request->post('password') != "") { $user->password = $this->request->post('password'); } else { $user->id = $this->users->update_user($user->id, $user); $this->design->assign('message_success', 'updated'); $user = $this->users->get_user(intval($user->id)); } 2. Кнопка "Добавить пользователя" в списке пользователей В файле /simpla/design/html/users.tpl перед строкой (в районе 33 строки): {if $users_count>0} <form method="post" action="{url module=ExportUsersAdmin}" target="_blank"> вставляем <a class="add" href="{url module=UserAdmin return=$smarty.server.REQUEST_URI}">Добавить пользователя</a> 3. Редактируем страницу создания пользователя В файле /simpla/design/html/user.tpl оборачиваем список заказов пользователяв еще 1 условие {if $user->id} {/if} (тк при добавлении нового пользователя вываливался список всех заказов магазина) {if $user->id} {if $orders} <div class="block" id=column_left> <form id="list" method="post"> ... код формы .... </form> </div> </div> {/if} {/if} Поле для добавлениия пароля, вставим строку: Пароль: <input id="password_input" class="name" name="password" type="password" value=""/> после строки: <input name=id type="hidden" value="{$user->id|escape}"/> также добавим системное сообщение, что добавили пользователя, строку: <span class="text">{if $message_success=='updated'}Пользователь отредактирован{else}{$message_success|escape}{/if}</span> заменим на : <span class="text">{if $message_success=='added'}Пользователь добавлен{elseif $message_success=='updated'}Пользователь обновлен{else}{$message_success}{/if}</span> Изменено 16 июня, 2017 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 16 июня, 2017 Автор Жалоба Поделиться Опубликовано 16 июня, 2017 Maksclub, огромное спасибо! Пользователь добавляется, когда ставишь на галочку Активен, иначе нет.После того, как добавил, авторизация на сайте не проходит. Пишет: "Неверный логин или пароль". (( Цитата Ссылка на сообщение Поделиться на другие сайты
ЯкЦинДрак Опубликовано 16 июня, 2017 Жалоба Поделиться Опубликовано 16 июня, 2017 В п.1 замена какая-то совсем кривая. Пробуйте заменять на else { if(empty($user->id)) { $user->password = $this->request->post('password'); $user->id = $this->users->add_user($user); $this->design->assign('message_success', 'added'); } else { $user->id = $this->users->update_user($user->id, $user); $this->design->assign('message_success', 'updated'); } $user = $this->users->get_user(intval($user->id)); } И хорошо бы заменить $user->enabled = $this->request->post('enabled');на $user->enabled = $this->request->post('enabled', 'boolean'); Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 16 июня, 2017 Автор Жалоба Поделиться Опубликовано 16 июня, 2017 Maksclub, ЯкЦинДрак! Большое вам спасибо. Теперь работает отлично. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.