Как организовать систему личных кабинетов покупателей

Всем привет!
Делаю портал. По аналогии с сайтом envato (https://market.envato.com/).
У каждого пользователя, который зарегистрировался есть целый набор страниц, на которых он может смотреть свои товары, статистику, настраивать аккаунт и загружать товары.Много чего.В общей сложности 15 разделов. На одного пользователя.
Я сделал авторизацию и регистрацию на office. Проблема в том, что мне нужно, чтобы пользователи (они же авторизованные продавцы) или незарегистрированные клиенты могли заходить на публичные страницы других пользователей (зареганных продавцов).
Вопрос: Как тогда сделать создание аккаунта при регистрации? и как дать возможность просматривать страницу профиля?
Потому как сейчас страница профиля наполняется данными авторизованного в данный момент юзера. И другой юзер на этой странице увидит только свои данные.
На одном портале с малым количеством пользователей я делал ресурс контейнер, который наполнялся подпапками с именем юзеров, подтвердивших регистрацию. И уже внутри этих папок юзеров я делал набор страниц, наполняемых данными только этого юзера. Таким образом я мог посмотреть публичные данные и блог любого юзера.
Здесь же подразумевается море пользователей и этот подход, думаю просто убъет и админку и вообще дальнейшую работу с пользователями.
Ребята, дайте совет
Ilya Gureshidze
20 февраля 2018, 07:53
modx.pro
562
0

Комментарии: 1

Максим
20 февраля 2018, 12:33
0
делайте ссылку с id юзера на страницу просмотора
типа такого
<a href="profil?usr=Alex" class="link_user">Подробнее</a>
и на странице пользователя как-то так:

сниппет
<?php
$out="";
$tpl="profile_page";
if (!empty($_REQUEST['usr']))
$opt=array('username'=>$_REQUEST['usr']);
if (!empty($_REQUEST['usrid']))
$opt=$_REQUEST['usrid'];
$user = $modx->getObject('modUser',$opt);
if(isset($user)){
$userinfo=$user->getOne('Profile');
$msg=$userinfo->toArray();
$msg['username']=$user->get('username');
$out .= $modx->getChunk($tpl, $msg) . $outputSeparator;
}else $out='пользователь не найден.';
return $out;

и чанк
[[If?
   &subject=`[[!+fullname]]`
   &operator=`!empty`

   &then=`[[!+fullname]]`
&else=`[[!+username]]`
]]
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1