Форум русской поддержки Joomla!® CMS
24.05.2017, 15:53:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Перенаправление пользователя на свою стр

 (Прочитано 183 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Роман0517
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« : 07.05.2017, 20:25:56 »

Не понимаю как можно реализовать...
Придумал топорный метод, который работает и встраивается в дополнительный шаблон на который идет переадресация, в его коде встроил это:

Код:
$user =& JFactory::getUser(); $userName = $user->get( 'name' );
if($userName == 'user1' || $userName == 'user1' || $userName == 'user1' || $userName == 'user1' || $userName == 'user1'){
       if($userName == 'user1')
    {
       header("Location: http://домен_сайта/user1");
    }
    if($userName == 'user1')
    {
       header("Location: http://домен_сайта/user1");
    }
    if($userName == 'user1')
    {
        header("Location: http://домен_сайта/user1");
    }
    if($userName == 'user1')
    {
       header("Location: http://домен_сайта/user1");
    }
        if($userName == 'user1')
    {
       header("Location: http://домен_сайта/user1");
    }
}
else
{
echo "ДЛЯ РАБОТЫ В ЛИЧНОМ КАБИНЕТЕ НЕОБХОДИМО ВЫПОЛНИТЬ ВХОД";
}

  ?>

где "домен_сайта/user1" - ссылка на материал

Но время этот метод крадет жутко. при создании нового пользователя. Дополнительные расширения осваивать пытался типа CommunityBuilder, но получилось то, что надо...
Кто может подсказать, как реализовать переход пользователя на свою страницу материала созданную заранее?

Может быть путем замены страницы "profile" на иное что-то...Общая страница профиля как-то формируется, можно ли в нее материал внедрить?

Буду признателен за ответ, за критику и советы!

Записан
Septdir
Живу я здесь
******

Репутация: +62/-3
Online Online

Пол: Мужской
Сообщений: 1536


Skype: septdir


« Ответ #1 : 07.05.2017, 21:12:07 »

Метод не только топорный но и не потный.
По исполнению. Если плагины user (https://docs.joomla.org/Plugin/Events/User) в который есть ивенты на все сучии жизни.
второе редирект в Joomla причеться JApplication redirect
Третье судя по коду условия для редиректа тут вообще не верные.
И после вообще у Joomla есть пренапрвления при входе. И если страницу куда сделать доступной только для зарегистрированных, то и лищенго текста писать не нужно.
А вообще не хватает, данных для помощи.


Записан
Роман0517
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #2 : 07.05.2017, 22:53:07 »

Для пользователя создаю материал, создаю пользователя с именем, затем значения прописываю в этом коде, т.е. пишу пользователя, пишу путь к странице, доступ к страницам имеют зарегистрированные пользователи и чтоб случайно никто не зашел на страницу к другому, придумываю сложные алиасы..

В модуле авторизации прописываю страницу, которая привязана к отдельному шаблону с данным кодом, т.е. на нее идет перенаправление после авторизации, выполняется данный код и в зависимости от того под каким логином зашел пользователь его перекидывает на нужную страницу, где информация только для него.

Все работает, но хочется по-человечески это реализовать...=))
Я не программист, верстаю только, поэтому сложно понять.

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

Код:
$user =& JFactory::getUser(); $userName = $user->get( 'name' );
if($userName == 'user1' || $userName == 'user2' || $userName == 'user3' || $userName == 'user4' || $userName == 'user5'){
       if($userName == 'user1')
    {
       header("Location: http://домен_сайта/user1");
    }
    if($userName == 'user2')
    {
       header("Location: http://домен_сайта/user2");
    }
    if($userName == 'user3')
    {
        header("Location: http://домен_сайта/user3");
    }
    if($userName == 'user4')
    {
       header("Location: http://домен_сайта/user4");
    }
        if($userName == 'user5')
    {
       header("Location: http://домен_сайта/user5");
    }
}
else
{
echo "ДЛЯ РАБОТЫ В ЛИЧНОМ КАБИНЕТЕ НЕОБХОДИМО ВЫПОЛНИТЬ ВХОД";
}

  ?>

Записан
Septdir
Живу я здесь
******

Репутация: +62/-3
Online Online

Пол: Мужской
Сообщений: 1536


Skype: septdir


« Ответ #3 : 07.05.2017, 23:06:08 »

А в чем причина создание отдельного материала для пользователя.
Но если создаете то создавайте либо при первом входе. Либо сразу после регистрации.
Кроме того alias это не защита. Как минимум можно хоть в шаблоне переопределенного материала прописать доступ только автору и админу.
Что же до редиректа, то можно к примеру редиректить так. Выбираете из базы материла с категорие x и где автор текщий юзер. Получаете через роут на него ссылку и редиректите.
В принципе ваша задумка решается через 1 плагин user и переопределение шаблона, но как мне кажется создание по одному материалу на юзера вам совсем не нужно. 
Записан
Роман0517
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #4 : 08.05.2017, 00:38:10 »

Цитировать
Выбираете из базы материла с категорие x и где автор текщий юзер. Получаете через роут на него ссылку и редиректите.
Знаний не хватает, чтобы понять написанное! =)
Как это реализовать? Пример может какой сможете сделать?
В долгу не останусь!
Записан
Septdir
Живу я здесь
******

Репутация: +62/-3
Online Online

Пол: Мужской
Сообщений: 1536


Skype: septdir


« Ответ #5 : 08.05.2017, 03:37:13 »

Знаний не хватает, чтобы понять написанное! =)
Как это реализовать? Пример может какой сможете сделать?
В долгу не останусь!
Сначала ответьте зачем вам создавать материал каждому пользователю, ибо оказывать медвежьи услуги не в моих правилах, если действительно без этого ни как дам все что нужно почитать и насколько смогу разжую . Если же вам так не терпится реализовать задумку то могу конечно вам плагин написать, но это уже не бесплатно.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet