Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 19 Ответов
  • 2763 Просмотров
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Задача следующая:
Нужно добавить в базу данных, где описываются пользователи Joomla несколько полей для описания пользователя, чтобы в разделе "Пользователи" помимо имени пользователя и пароля был ещё селект, дающий понять, скажем Клиент ли этот пользователь или же Партнёр

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

Каким образом лучше всего осуществить эту процедуру и с помощью каких средств?
*

OLIWIN

  • Захожу иногда
  • 81
  • 0 / 0
Тоже интересует такой вопрос! Только для добавления товара
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
неужели никто не знает?) не верю)
как хотя бы называется таблица, где описываются пользователи Joomla? и как называется файл в файловой структуре Jommla, имеющий код вывода данных о юзере в админке?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Вариант 1. Добавить новые группы пользователей. http://forum.joomla.org/viewtopic.php?f=431&t=262604&start=0
Вариант 2. В файле administrator\components\com_users\models\user.xml добавить
Код: xml
<param name="status" type="radio" default="1" label="Status" description="DESCRIPTION">
           <option value="1">Customer</option>
           <option value="2">Partner</option>
         </param>
В алминке в параметрах пользователя появяться радиоселекты.
Потом извелекать эти параметры и проверять
Код: php
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == ''){
echo "Гость";
};
if ($params == '1'){
echo "Клиент";
};
if ($params == '2'){
echo "Партнер";
};
Выбор варианта зваисит от задачи.
« Последнее редактирование: 10.03.2010, 13:36:47 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Lex, спасибо огромное! Всё заработало как надо! :-*

*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Только появился вопрос, как вместо радиопереключателей отобразить селектовый список?
Попробовала просто вписать в type вместо radio слово select - не работает

И ещё почему-то когда создаёшь после этого кода

Код
<param name="status" type="radio" default="1" label="Status" description="DESCRIPTION">
           <option value="1">Customer</option>
           <option value="2">Partner</option>
         </param>
 


ещё один к примеру вот такой:

Код
<param name="status" type="radio" default="1" label="City" description="DESCRIPTION">
           <option value="london">London</option>
           <option value="newyork">New York</option>
         </param>
 

то у всех четырёх радиоселектов (Customer, Partner, London, New York) образуется общая связь и выбрать можно только либо пункт Partner либо пункт New York, а независимо выбирать нельзя отдельно по статусу и отдельно по городу, почему так происходит?
« Последнее редактирование: 11.03.2010, 18:30:05 от Negative »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
и не будет работать. ставьте list
Standard parameter types
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
вышеназванные проблемы решены  ^-^
SmokerMan, спасибо :-*

Хотя один момент непонятный есть ^-^
Когда сохраняешь настройки юзера, и потом сразу же заново заходишь в его редактирование то отмеченного радиоселекта Customer нет, ни один радиоселект не выбран
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Когда сохраняешь настройки юзера, и потом сразу же заново заходишь в его редактирование то отмеченного радиоселекта Customer нет, ни один радиоселект не выбран
Кэш включен?
Возможно просто кэшируется.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
SmokerMan, нет, кэш выключен

И ещё один непонятный момент есть
Когда я в PHP пытаюсь указать в условии дополнительный критерий, к примеру такой

Код
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == ''){
echo "Гость";
};
if ($params == '1'){
echo "Клиент";
};
if ($params == '2') && ($params == 'london'){
echo "Партнер";
};

то выводится следующая ошибка:
Parse error: parse error in C:\xampp\htdocs\JOOMLA3\templates\siteground-j15-71\index.php on line 9

[size=8]9-я строка это строка "if ($params == '2') && ($params == 'london'){"[/size]
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код: php
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == '') {
echo 'Гость';
}
if ($params == '1') {
echo 'Клиент';
}
if (($params == '2') && ($params == 'london')) {
echo 'Партнер';
}
кто вас учил ставить точку с запятой после закрывающей скобки условия :)

По поводу последнего условия - как это одновременно переменная $params может быть и 2 и london по значению? Наверно имелось в виду условие ИЛИ - тогда надо не && а ||
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Никто не учил, просто скопировала код из сообщения Lex и даже не обратила внимание  ^-^

А по поводу условия - поняла свою ошибку, но мне действительно нужно условие И
Нужно будет идентифицировать партнёра именно из конкретного города, только вот как это сделать непонятно :dry:
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А по поводу условия - поняла свою ошибку, но мне действительно нужно условие И
одна переменная никак не может хранить в один момент времени два значения, это же не массив к элементам которого вы обращаетесь (вас же не могут одновременно звать и Вася и агент007)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
:)
Нужно будет идентифицировать партнёра именно из конкретного города, только вот как это сделать непонятно :dry:
ну для этого минимум две переменные нужны, если я правильно понял.
Делайте еще один параметр, раз уж такая пляска :)

бзз
beliyadm опередил :)

Да добавлю еще.
Поставьте лучше что-нибудь на подобии CB, я думаю так будет проще для всех ;)
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
а как черех XML передать в пхп-код значение города в данном случае?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
а как черех XML передать в пхп-код значение города в данном случае?
мм, еще раз и подробнее
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Ну вот в посте Lexa во втором варианте показано как можно в файле user.xml создать значения param

А потом в PHP коде уже задать условия относительно значения полученной переменной

Вот как мне в файле user.xml создать переменную, которая будет описывать город (а не статус пользователя) и задем в PHP коде где-нибудь получить эту уже вторую переменную
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
кто вас учил ставить точку с запятой после закрывающей скобки условия :)
Я учил.   crazy! Ибо был слегка пьян.  ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
и всё-таки) как же мне передать в PHP возможность идентифицировать город?)
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Делайте еще один параметр, раз уж такая пляска :)
По аналогии
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться