Jump to content

Recommended Posts

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

 

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

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

 

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

 

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

 

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

 

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

 

Благодарю!

Link to post
Share on other sites

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

 

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

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));
        }
Edited by Maksclub
Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

 

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

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

 

 

UPD:

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

 

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

Edited by mishanya
Link to post
Share on other sites

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

 

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

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

 

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

Edited by Maksclub
Link to post
Share on other sites

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>


Edited by Maksclub
Link to post
Share on other sites

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

 

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

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

 

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...