Realtor 47 Жалоба Опубликовано: November 3, 2016 Подскажите как в меню ЛК пользователей ограничить доступ к некоторым пунктам меню в зависимости от групп пользователей? например поставить такое условие, будет работать? {if $group_id==1} <li>XXXXX </li> {/if} Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 3, 2016 После последнего обновления в шаблоне доступны такие данные о текущем пользователе {$smarty.session.user_id} = числовой идентификатор пользователя {$smarty.session.current_user_name} = ФИО или то, что указано в поле fio профиля {$smarty.session.current_user_group_name} = системное имя его группы (admin realtor owner etc) {$smarty.session.current_user_login} = логин или то, что указано в поле login профиля {$smarty.session.current_user_email} = почта или то, что указано в поле email профиля {$smarty.session.current_user_group_id} = числовой идентификатор группы пользователя 1 Realtor reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: November 3, 2016 19 минут назад, abushyk сказал: После последнего обновления в шаблоне доступны такие данные о текущем пользователе {$smarty.session.user_id} = числовой идентификатор пользователя {$smarty.session.current_user_name} = ФИО или то, что указано в поле fio профиля {$smarty.session.current_user_group_name} = системное имя его группы (admin realtor owner etc) {$smarty.session.current_user_login} = логин или то, что указано в поле login профиля {$smarty.session.current_user_email} = почта или то, что указано в поле email профиля {$smarty.session.current_user_group_id} = числовой идентификатор группы пользователя доступно/ а где и как красиво отображается ? или можно хоть куда вставлять? хм мы пока не обновились но вопрос будет актуален. теперь можно не вытягивать данные из core.listing так как сейчас у нас достаточное кол-во информации вытягивается из данных профиля пользователя, или же вышеприведенные данные доступны именно для текущего пользователя, то есть для того который как бы смотрит в экран -зарегистрировавшись? мы так предполагаем эти данные как бы "сидят и вшиты" уже в #smarty.session 7 и фактически это не данные из юзер-дата и просто дата? то есть фактически можно сделать всыплывающее окно и сказать привет $smarty.session.ccurrent_user_name в итоге получим "привет Александр иванович" Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 4, 2016 2 часа назад, doma сказал: или же вышеприведенные данные доступны именно для текущего пользователя, то есть для того который как бы смотрит в экран -зарегистрировавшись? да. это именно текущий смотрящий в экран пользователь. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 4, 2016 2 часа назад, doma сказал: или можно хоть куда вставлять? да, только без фанатизма) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: November 4, 2016 14 часа назад, abushyk сказал: После последнего обновления в шаблоне доступны такие данные о текущем пользователе {$smarty.session.user_id} = числовой идентификатор пользователя {$smarty.session.current_user_name} = ФИО или то, что указано в поле fio профиля {$smarty.session.current_user_group_name} = системное имя его группы (admin realtor owner etc) {$smarty.session.current_user_login} = логин или то, что указано в поле login профиля {$smarty.session.current_user_email} = почта или то, что указано в поле email профиля {$smarty.session.current_user_group_id} = числовой идентификатор группы пользователя Может где-нибудь в Wiki выложить список этих операторов, а-то они раскиданы по всему форуму, что и не найти. Каждый раз задаются вопросы об одном и том-же. Желательно на видном месте, а-то там тоже черт ногу сломает. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: November 4, 2016 А попутно, там-же в Wiki и типы элементов форм пополнить расширенным описанием, куда включить возможность применения команд с конкретным элементом. Например, сколько раз говорилось про маску ввода номера мобильного телефона? Уже года три об одном и том-же и повсеместно. Не проще было эту маску в этом разделе Wiki типы элементов форм для элемента mobilephone указать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 4, 2017 подскажите а как в файле реалти-грид-аккаунт вывести некоторые данные текущего пользователя ? то есть нас интересует как в этом файле вывести значения некоторые из таблицы USER, например у нас есть некое поле в данное таблице к примеру "адрес агентства" в нем мы например пишем почтовый адрес и факс агентства мы хотим чтобы это поле можно было вывести в ЛК пользователя причем 2 варианта, оно может быть редактируемое пользователем а может быть не редактируемое, подскажите как вывести? сейчас доступны только данные из $grid_items но там данные из DATA то есть как бы из самого объявления, а надо именно из пользователя, спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 4, 2017 Если поле редактируемое пользователем, то оно есть в его Профиле. Зачем ему его же инфа из профиля в списке своих же объявок? Если оно не редактируемое, т.е. не доступное ему, то зачем ему его показывать? Сейчас таких данных в разделе списка нет и получить их можно только самостоятельным запросом отдельным. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 4, 2017 Только что, abushyk сказал: Если поле редактируемое пользователем, то оно есть в его Профиле. Зачем ему его же инфа из профиля в списке своих же объявок? Если оно не редактируемое, т.е. не доступное ему, то зачем ему его показывать? Сейчас таких данных в разделе списка нет и получить их можно только самостоятельным запросом отдельным. нужно сделать напоминалку - пользователя чтобы не слашать, мы не нали, мы забыли, мы не поним и так далее, так как сейчас например у них нет информации о например окончании действия тарифа -а это крайне не правильно и не информативно, поэтому например админ на первом этапе мог бы просто проставлять вручную редактируемое поле, хоть как то понятно , ну и + куча другой возможной информации, например пишем этому пользователю мол в таком то и таком объявлении у вас указан раздел продажа квартир а описание вас стоит сдаем на сутки :)) в общем у нас свои идеи на улучшение сервиса -жаль что их не реализовывают :)) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 4, 2017 Только что, abushyk сказал: Сейчас таких данных в разделе списка нет и получить их можно только самостоятельным запросом отдельным. а как сделать и что именно? какой код написать и где? не знакомы с этим поэтому помощь ваша была бы актуальна Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 4, 2017 В main.php шаблона внутри блока if ( !$has_result && preg_match('/^account/', $REQUESTURIPATH) ) { сделать $current_user_info=array(); $DBC=DBC::getInstance(); $qery='SELECT * FROM '.DB_PREFIX.'_user WHERE `user_id`=?'; $stmt=$DBC->query($query, array(intval($_SESSION['user_id']))); if($stmt){ $current_user_info=$DBC->fetch($stmt); } $this->template->assert('current_user_info', $current_user_info); После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 11 час назад, abushyk сказал: В main.php шаблона внутри блока if ( !$has_result && preg_match('/^account/', $REQUESTURIPATH) ) { сделать $current_user_info=array(); $DBC=DBC::getInstance(); $qery='SELECT * FROM '.DB_PREFIX.'_user WHERE `user_id`=?'; $stmt=$DBC->query($query, array(intval($_SESSION['user_id']))); if($stmt){ $current_user_info=$DBC->fetch($stmt); } $this->template->assert('current_user_info', $current_user_info); После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. хм попробовали что то ничего не выводится или что то сделали не правильно? взяли код описанный вами поместили его в main.php расположенный в template/frontend/realia/main вот часть кода if ( !$has_result && preg_match('/^account/', $REQUESTURIPATH) ) { $this->template->assert('right_column', ''); $this->template->assert('is_account', '1'); $this->template->assert('search_form_template', ''); $current_user_info=array(); $DBC=DBC::getInstance(); $qery='SELECT * FROM '.DB_PREFIX.'_user WHERE `user_id`=?'; $stmt=$DBC->query($query, array(intval($_SESSION['user_id']))); if($stmt){ $current_user_info=$DBC->fetch($stmt); } $this->template->assert('current_user_info', $current_user_info); //return; require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/account.php'); $Account = new Account; но потом в файл realty_grid_account.tpl вставили {include file="remember.tpl"} ----------------------------- {$current_user_info.login} {$current_user_info.fio} ------------------------------ <table class="content_main table" cellspacing="2" cellpadding="2"> но к сожалению ничего не выводится, что сделали не правильно? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 11 час назад, abushyk сказал: В main.php шаблона внутри блока if ( !$has_result && preg_match('/^account/', $REQUESTURIPATH) ) { сделать $current_user_info=array(); $DBC=DBC::getInstance(); $qery='SELECT * FROM '.DB_PREFIX.'_user WHERE `user_id`=?'; $stmt=$DBC->query($query, array(intval($_SESSION['user_id']))); if($stmt){ $current_user_info=$DBC->fetch($stmt); } $this->template->assert('current_user_info', $current_user_info); После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. а нет ли тут ошибки? возможно просто опечатались? $qery='SELECT * FROM '.DB_PREFIX.'_user WHERE `user_id`=?'; может $query= букву пропустили? потому что изменили и все вроде работает :)) Доп вопросы 1) а для $current_user_info.tariff_id не возможно вывести текстовое значение ? то есть описание тарифа? тип поля select_by_query по типу value_string написав например {$current_user_info.tariff_id.value_string} 2) вопрос а можно как то вывести еще и срок окончания тарифа? и как Спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 5, 2017 1 минуту назад, doma сказал: букву пропустили? точно пропустил. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 11 час назад, abushyk сказал: После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. и еще вопросик, к примеру если у определенного поля видимость стоит только админу, а в шаблоне явно указать например {$current_user_info.sait} то есть сайт, то если это поле доступно как для редактирования, так и для видимости только админу, будет ли видеть его обычный пользователь и будет ли оно вообще выводиться? или выведеться -но как бы пустое? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 5, 2017 в приведенном мной примере данные выбираются as is без учета видимостей по группам, и аналогий в модели user, и любых других условий. Это просто выборка из БД. Для использования других условий, в том числе извлечения текстовых значений для поле типа select_by_query, подгрузки дополнительных данных из связанных таблиц нужно использовать уже совершенно другой подход, с запросами по нескольким таблица, с выборкой не из БД а через функции Data_Model. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 Только что, abushyk сказал: в приведенном мной примере данные выбираются as is без учета видимостей по группам, и аналогий в модели user, и любых других условий. Это просто выборка из БД. Для использования других условий, в том числе извлечения текстовых значений для поле типа select_by_query, подгрузки дополнительных данных из связанных таблиц нужно использовать уже совершенно другой подход, с запросами по нескольким таблица, с выборкой не из БД а через функции Data_Model. ок то есть просто и быстро не сделать ? а если к примеру выводить в срок окончания тарифа во вкладке "мой тариф" ? тоже не получится? просто сейчас например пользователи не знают ни когда подключили тариф ни когда заканчивается. Думаем что для удобства пользователей это важно и актуально. вот и есть идея выводить данное информирование Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 13 часа назад, abushyk сказал: После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. сейчас "выводится" информация, но возможно ли ее сделать редактируемой? например там будет замечание от админа мол в таком то объявлении не указана цена, и пользователь в ЛК будет это видеть, и потом когда он исправит это, он может данные в этом поле удалить например, так как сейчас "просто выводится инфа для обозрения" PS есть конечно решение типа сделать в профиле доступное и редактируемое поле для пользователя, для этого достаточно перейти в "мой профиль" и там удалить, а в сетке объявлений просто выводить на обозрение, но вопрос именно такой -чтобы сделать редактируемое поле именно и в профиле и в сетке объявлений, чтобы пользователю было удобнее + меньше действий и переходов. ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 Подскажите еще, где и в каком файле и где именно внести правки в виде красных кнопок, сейчас в личном кабинете стоит только кнопка "ДОБАВИТЬ ОБЪЯВЛЕНИЕ" а нам хочется добавить еще 2 эти кнопки, для удобства пользователей, и экономии места, так как данные места не задействованы. Насколько мы понимаем можно использовать файл layout_account.tpl и перед {$main} поставить эти 2 кнопки и все будет работать но наверное правильнее и логичнее вставить ее после {$main} . Тут задача такая чтобы эти кнопки были доступны только в ЛК зашедшему пользователю и выводились только там, так как скорее всего {$main} используется во многих местах и это будет возможно не корректно. в данном файле сюда вставляем? <div class="container"> <div id="main"> {if $is_account} <div class="account"> {if $breadcrumbs != ''} <div id="breadcrumbs">{$breadcrumbs}</div> {/if} <div class="clear"></div> кнопка 1, кнопка 2 {$main} </div> {else} {if $breadcrumbs != ''} <div id="breadcrumbs">{$breadcrumbs}</div> {/if} {if $main_file_tpl != ''} <div class="clear"></div> {include file="$main_file_tpl"} {else} {$main} {/if} {/if} </div> </div> ждемс ответа Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 5, 2017 19 часов назад, abushyk сказал: После этого в шаблоне у вас есть {$current_user_info} содержащее все данные текущего пользователя в простом виде. Напр. {$current_user_info.login} - логин. Естественно select_by_query значения будут присутствовать только в виде ключа. А как проверить значение на заполненность ? чтобы применить условие? К примеру если {if $current_user_info.site.value !=''} поле сайт не пустое, то выводить что то Попробовали применить value и value_string ничего не получилось, то есть получается, что можно только вывести само значение $current_user_info.site ??? и проверить его ни как нельзя? пишет что Warning: Illegal string offset 'value' in/home/latgvtcg/public_html/cache/compile/63135b11e4708a58f2228f3db39cdbce1fbb9306.file.remember.tpl.php on line 263 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 6, 2017 ждемс ответов Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 9, 2017 а как с этим ответом? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: March 9, 2017 В 3/6/2017 в 03:07, doma сказал: А как проверить значение на заполненность ? чтобы применить условие? К примеру если {if $current_user_info.site.value !=''} поле сайт не пустое, то выводить что то Попробовали применить value и value_string ничего не получилось, то есть получается, что можно только вывести само значение $current_user_info.site ??? и проверить его ни как нельзя? пишет что Warning: Illegal string offset 'value' in/home/latgvtcg/public_html/cache/compile/63135b11e4708a58f2228f3db39cdbce1fbb9306.file.remember.tpl.php on line 263 Покажите полный листинг участка кода, где вы сделали такое условие. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: March 9, 2017 в файле remember.tpl шаблон реалия сразу после {if $apps_billing=='on' && $apps_upper_enable} поставили {if $apps_billing=='on' && $apps_upper_enable} {if $current_user_info.site.value !=''} <div class="property-detail"> <H3>Уведомление</H3> </div> {/if} {/if} Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах