2013-01-30 3 views
-2

У меня есть компонент Joomla входа в систему, теперь я хочу, когда пользователь успешно входит в систему, чтобы показать кнопку, которая скрыта от CSS с дисплеем: нет ... здесь нет, как я пытался ...Показать кнопку после авторизации

<?php if (true === $app->login($credentials, $options)) { 
     // Success 

     $app->setUserState('users.login.form.data', array()); 
     $app->redirect(JRoute::_($app->getUserState('users.login.form.return'), false)); 
     ?><script> 
     $$('.formBtn').setStyles({ 
    display:box; 
}); 
     </script> 
     <?php 



    } else { 
     // Login failed ! 
     $data['remember'] = (int)$options['remember']; 
     $app->setUserState('users.login.form.data', $data); 
     $app->redirect(JRoute::_('index.php?option=com_users&view=login', false)); 
    } 
} 
?> 
+0

Что полученный HTML разметки выглядит? Каким образом код не работает? Кроме того, я надеюсь, что вы не полагаетесь на скрытие на основе CSS в качестве меры безопасности ... – David

+0

он ничего не показывает, кнопка все еще скрыта, у меня есть кнопка встречи, которая скрыта, и когда пользователь регистрируется в ней, предполагается, что будет показано ... почему разве это не хорошая идея? – Shile

+0

'' Он ничего не показывает "' - Вы уверены? Посмотрите на фактический HTML, а не только на то, что отображается на дисплее CSS. Вы говорите о функциональности на стороне клиента, поэтому вам нужно немного отладить HTML/CSS/JavaScript, чтобы знать, что происходит. Что касается того, почему это не очень хорошая идея, CSS не является мерой безопасности. Кнопка все еще _there_, она просто не видна по умолчанию. Любой, кто хочет получить к нему доступ, все еще может. Что еще более важно, вам нужно обеспечить функциональность, которую кнопка _performs_, а не просто скрыть кнопку. – David

ответ

0

это, как я сделал это в конце концов ...

<?php $user =& JFactory::getUser(); 
if($user->id) 
{ 
?> 


<script> 
window.addEvent('domready', function() { 
    $$('.formBtn').setStyle('display', 'block'); 
}); 


</script> 
<?php 
} 
else 
{ 
echo "NOT LOGGED!"; 
} 

?> 
0

у вас есть несколько ошибок в вашем скрипте:

<script type="text/javascript">$(".formBtn").css("display", "box");</script> 

И помните, чтобы использовать этот после кнопки уже оказана.

+0

им жаль im new на этом, это сценарий jquerys и что вы имеете в виду после того, как кнопка уже отображается? – Shile

+0

1. Да, это сценарий jQuery. 2. Убедитесь, что кнопка, которую вы хотите отобразить, уже распечатана, иначе скрипт не будет работать, то есть не будет кнопки для изменения стиля. – Peon

Смежные вопросы