Как проверить заполнено ли поле в профиле юзера?
Нужно было проверить заполнено ли у пользователя поле Город, и если да — записать значение в сессию.
Сделал по-быстрому так:
Как можно сделать поизящнее-покошернее?
Сделал по-быстрому так:
$user = $modx->getUser();
$profile = $user->getOne('Profile');
$autor = $profile->get('city');
if ($autor != ''){
$_SESSION['gorod'] = $profile->get('city');
}
Работает, но сердцем чую, что это порно…Как можно сделать поизящнее-покошернее?
Комментарии: 7
Ну быстрее будет так
Следуя твоему стилю можно было бы написать так
$query = $modx->newQuery('modUserProfile', array('internalKey'=> $modx->user->get('id')));
$query->select('city');
//Условие if ($autor != '') думаю лишнее
$_SESSION['gorod'] = $modx->getValue($query->prepare());
Можно и твой вариант. Но как ты правильно сказал вот это $autor = $profile->get('city'); точно похоже на порно.Следуя твоему стилю можно было бы написать так
$page = $modx->getUser();
$car = $user->getOne('Profile');
$autor = $profile->get('city');
...
$page = $modx->getUser();
$car = $user->getOne('Profile');
$autor = $profile->get('city');
Вот это вообще не понял :)))) Извини дилетанта.Я предполагал (наивно) что в аналогичном участке кода у меня, каждая следующая строка работает с переменной из предыдущей строки. А в твоих трёх строках — пять никак с друг другом не связанных переменных. $page $car $user $autor $profile
Или моя картина мира кардинально неправильна? :))
Я имел ввиду логику называния переменных. В переменную автор сохраняется значение поля Город. :)
уфф… напугал… :)
Прошу прощения, я изначально неправильно обозначил задачу.
Именно условие if ($autor != '') необходимо, т.к. если Город заполнен, он должен записываться в сессию, а если нет — запускается скрипт геолокации через else
Просто я предполагаю, что есть другой, более грамотный способ проверки поля на заполненность, нежели простое сравнение с пустой строкой?
Именно условие if ($autor != '') необходимо, т.к. если Город заполнен, он должен записываться в сессию, а если нет — запускается скрипт геолокации через else
Просто я предполагаю, что есть другой, более грамотный способ проверки поля на заполненность, нежели простое сравнение с пустой строкой?
Просто я предполагаю, что есть другой, более грамотный способ проверки поля на заполненность, нежели простое сравнение с пустой строкой?Есть вот такой
if (!empty($autor))
Но можно и с пустой строкой. Смысл одинаковый.
ок, спс
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.