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

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

Приветствую, друзья!

 

Делаю магазин исключительно для диллеров, с низкими ценами.

Планирую убрать с сайта ссылку на Регистрацию, а оставить только Авторизацию.

 

Диллерам хочу создать аккаунты с самой Админки и вносить определенно каждого в отдельную группу со своей скидкой.

 

К сожалению, в Админке не предусмотрено добавление пользователей (покупателей).

 

Может, кто реализовал подобное?!

 

Помогите пожалуйста советами.

 

Благодарю!

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

смотрите по аналогии с другими контролерами админки. если есть айди - обновляем юзера, нету - добавляем.

 

я правильно понимаю, делается это как-то так?

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));
        }
Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

смотрите по аналогии с другими контролерами админки. если есть айди - обновляем юзера, нету - добавляем.

Mishanya, спасибо за ответ.

Если не сложно тебе, можно поподробнее?!

Покупателей нет. Будут новые с админки.

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

я правильно понимаю, делается это как-то так?

if(empty($user->id))
{
	$user->id = $this->users->add_user($user);
	$this->design->assign('message_success', 'added');
}

 

только там немного все отщличается от  других контроллеров, куча условий,

сходу не разберешь, куда втыкать :)

 

 

UPD:

я так понимаю вставить как условие elseif в район 30 строки в файле /simpla/UserAdmin.php? то есть заменить этот код:

 

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

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

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

 

еще 1 условие?

 elseif ($this->request->post('password') != "")
 {
 	$user->password = $this->request->post('password');
 }

 

ладно, попробую все сделать, а не по кускам спрашивать

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

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>


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

Maksclub, огромное спасибо!

 

Пользователь добавляется, когда ставишь на галочку Активен, иначе нет.

После того, как добавил, авторизация на сайте не проходит.

 

Пишет: "Неверный логин или пароль". ((

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

В п.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');
 

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

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

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

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

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

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

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

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

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

Загрузка...
×
×
  • Создать...