Joomla 1.5 Разный шаблон для разных групп пользователей(usertype)

Тема в разделе "Программирование", создана пользователем blizzart, 03.02.2010.

  1. Offline

    blizzart Недавно здесь

    Регистрация:
    17.02.2009
    Сообщения:
    18
    Симпатии:
    0
    Пол:
    Мужской
    Добрый вечер. Мне, кажется, полезный скрипт, но ни где не нашел:
    Есть 2 группы пользователей, созданные в community builder: "зарегистрированный" (ученик) и "автор"(учителя). Я хочу чтобы при логине, ученики и учителя попадали на страницы с разным содержимым.
    Проблему с шаблонами я решил, наверно ;) Там я просто хочу сделать шаблон со скрытыми дивами? и когда заходит, например, ученик показываются, такие дивы (document.getElementById('forpupile').style.visibility= "visible"), а когда учитель другие.
    А как узнать что заходит ученик или учитель? Я узнал, что для того чтобы выбрать запись из базы данных есть php-комманда SELEСT. В базе данных в jos_user, есть столбец usertype. Но как к нему обратиться я не знаю. :( И как сравнить, подходит тип пользователя или нет?
    Подскажите, пожалуйста, как правильно это сделать, или может есть альтернативный вариант.
     
    Последнее редактирование: 03.02.2010
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Не вижу ничего сложного:
    Код (PHP):
    1. $user =& JFactory::getUser(); //получаем объект текущего пользователя
    2. // проверяем группу, убедитесь, что имя группы в
    3. //точности совпадает с именем группы в джумле
    4. ($user->usertype == "ученик") ? $mDisplay = "block" : $mDisplay = "none";
    5. $res = "<div style='display: {$mDisplay}'>";
    6. //...
    7. $res = "</div>";


    Фак по работе с JUser.
    Фак по работе с Juser в оригинале на api.joomla.org.
     
  4. Offline

    blizzart Недавно здесь

    Регистрация:
    17.02.2009
    Сообщения:
    18
    Симпатии:
    0
    Пол:
    Мужской
    Большое спасибо, omfgpanda
    А можно сделать, так чтобы переадресовывал на разные ссылки?
    Прочитал руководство и придумал что-то в этом роде: :)
    $user =& JFactory::getUser();
    if ($user->usertype == "Registered")
    { echo <a href="для учеников"></a> }
    else {echo <a href="для учителей"></a> }
    Это тоже можно поместить в шаблон или на кнопку "вход" в mod_cblogin?
     
  5. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Код (PHP):
    1. $user =& JFactory::getUser();
    2. if ($user->usertype == "Registered")
    3. {
    4.    echo "<a href=\"для учеников\"></a>";
    5. }
    6. else
    7. {
    8.    echo "<a href=\"для учителей\"></a>";
    9. }


    Все правильно [!]
     
    blizzart нравится это.
  6. Offline

    botanist специалист

    Регистрация:
    15.02.2009
    Сообщения:
    461
    Симпатии:
    49
    Пол:
    Мужской
    Да. Только для пользователей выше "Registered" в т.ч. Super Administrator работать не будет.

    P.S. Вернее будет, но все они будут в "для учителей"
     
  7. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    на да, я недавно писал на форуме как правильно добавить свои типы пользователей ... прочитайте ее и создайте два типа пользователей "Ученики" и "Преподователи"
     
  8. Offline

    blizzart Недавно здесь

    Регистрация:
    17.02.2009
    Сообщения:
    18
    Симпатии:
    0
    Пол:
    Мужской
    omfgpanda, интересно было бы научиться создавать свои группы... но в данном случае это нормально.
    Вот скрипт что-то не срабатывает :(

    <body>
    <?php $user =& JFactory::getUser();
    if($user->usertype=="Registered")
    {
    echo "<a href=\"index.php?option=com_content&view=article&id=29&Itemid=30\"></a>";
    }
    else
    {
    echo "<a href=\"index.php?option=com_content&view=article&id=2&Itemid=3\"></a>";
    }
    ?>
    Я вставил код в шаблон, который привязан к этой статье "index.php?option=com_content&view=article&id=29&Itemid=30", и
    на которую перенаправляет cblogin при входе.
    Я регистрируюсь как админ и по идеи должен быть перенаправлен на эту статью "index.php?option=com_content&view=article&id=2&Itemid=3", но все равно заходит сюда "index.php?option=com_content&view=article&id=29&Itemid=30"
    Многое перепробовал, но скрипт не срабатывает... :(
     
  9. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    так так .... СТОП... т.е. вы хотите что бы при логине Вас перенаправляло на определенную страницу в зависимости от группы пользователя ?
     
  10. Offline

    blizzart Недавно здесь

    Регистрация:
    17.02.2009
    Сообщения:
    18
    Симпатии:
    0
    Пол:
    Мужской
    Точно, именно это я и хотел сделать! А этот скрипт получается только на кнопке работает?
     
  11. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    пример был предназначен для смены ссылки... что бы обеспечить редирект, нужно найти в CB блок, отвечающий за редирект и вставить туда подобную конструкцию.
     

Поделиться этой страницей

Загрузка...