Здравствуйте. Подскажите как сделать условие: Если в профиле "Дисконтная карта" указана, вывести текст "Количество бонусов:" если нет, то вывести "Дисконтная карта не зарегистрирована" Пытаюсь сделать так: Код (CODE): <?php if($user->get('profile-require_discontcard') != "") : { echo JText::sprintf('MOD_LOGIN_BONUS'); } else : { echo JText::sprintf('MOD_LOGIN_NOCARD'); } endif; ?> Пишет в любом случае "Дисконтная карта не зарегистрирована" в /plugins/user/profile/profile.xml прописал: Код (CODE): <field name="profile-require_discontcard" type="list" description="PLG_USER_PROFILE_FIELD_DISCONTCARD_DESC" label="PLG_USER_PROFILE_FIELD_DISCONTCARD_LABEL"> <option value="2">JOPTION_REQUIRED</option> <option value="1">JOPTION_OPTIONAL</option> <option value="0">JDISABLED</option> </field> в /plugins/user/profile/profiles/profile.xml прописал: Код (CODE): <field name="discontcard" type="text" id="discontcard" description="PLG_USER_PROFILE_FIELD_DISCONTCARD_DESC" filter="string" label="PLG_USER_PROFILE_FIELD_DISCONTCARD_LABEL" message="" size="30" /> В языковом файле прописал MOD_LOGIN_BONUS="Бонусов на балансе:" MOD_LOGIN_NOCARD="Бонусная карта не зарегистрирована:"
Пробуй Код (PHP): if($user->get('profile-require_discontcard') == 1 или Код (PHP): if($user->get('profile-require_discontcard') == 2
не работает --- добавлено: Nov 12, 2015, первое сообщение размещено: Nov 11, 2015 --- Сделал так: В /templates/shaper_myestate/html/mod_login/default.php Код (CODE): <?php $db = JFactory::getDBO(); $sql = "SELECT profile_value FROM #__user_profiles WHERE profile_key='profile.discontcard'"; $db->setQuery($sql); $list = $db->loadObjectList(); foreach($list as $user) $discontcard = json_decode($user->profile_value); ?> <?php if ($discontcard != "") : { echo JText::sprintf('MOD_LOGIN_DISCONTCARD'); { echo $discontcard; } ?> <BR> <?php echo JText::sprintf('MOD_LOGIN_BONUS'); } endif; ?> </div> <?php endif; ?> В языковом файле добавил Код (CODE): MOD_LOGIN_DISCONTCARD=" Бонусная карта:" Проблема в том, что показывается не та дисконтная карта, и выводит текст "Бонусов на балансе" если хоть у одного кого то прописана в профиле карта, как сделать отбор по пользователю который залогинился, и выдавал дисконтную карту только этого ползователя? --- добавлено: Nov 12, 2015 --- Спасибо решил вопрос: Добавив: Код (CODE): $user=JFactory::getUser(); if(!$user->guest){ JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_users/models','UsersModel'); $profile_model=JModelLegacy::getInstance('Profile','UsersModel'); $user_data=$profile_model->getData(); } $discontcard=$user_data->profile['discontcard'];