Php YII2如何根据登录用户类型处理条件?
vendorinfo.php我必须根据登录用户类型隐藏和显示按钮。这里,如果登录用户是“访问者”,则在任何情况下仅显示分级按钮,例如,可能是用户是管理员,或者现在任何没有登录条件的用户也在那里。 如果usertype是“Visitor”或“Admin”,那么我的代码是有效的,但当没有人登录时,它会失败。其实那个时候这个条件无法得到用户的类型,请帮助我我无法理解如何处理这个条件Php YII2如何根据登录用户类型处理条件?,php,yii2,Php,Yii2,vendorinfo.php我必须根据登录用户类型隐藏和显示按钮。这里,如果登录用户是“访问者”,则在任何情况下仅显示分级按钮,例如,可能是用户是管理员,或者现在任何没有登录条件的用户也在那里。 如果usertype是“Visitor”或“Admin”,那么我的代码是有效的,但当没有人登录时,它会失败。其实那个时候这个条件无法得到用户的类型,请帮助我我无法理解如何处理这个条件 <?php if(!\Yii::$app->user->isGuest) { $user = \Yii
<?php
if(!\Yii::$app->user->isGuest) {
$user = \Yii::$app->user->identity->id;
$userType = \Yii::$app->user->identity->type;
echo ''.$userType;
echo '<input type="text" value='.$userType.' id="usertype"/>';
} else {
echo '<div>Div if user is not visitor</div>';
}
?>
脚本:
用于隐藏和显示div的脚本
<script type="text/javascript">
$(document).ready(function(){
var userType= document.getElementById('usertype').value;
if(userType == 'Visitor') {
$('#divUserRate').show();
} else {
$('#divUserRate').hide();
}
});
</script>
$(文档).ready(函数(){
var userType=document.getElementById('userType')。值;
如果(userType='Visitor'){
$('#divUserRate').show();
}否则{
$('#divUserRate').hide();
}
});
您可以使用用户模型中的isGuest
属性
echo (Yii::$app->user->isGuest) ? '<div>Div if user is visitor</div>' : '<div>Div if user is not visitor</div>';
对于隐藏div,我在隐藏该类而不是div之后添加了类按钮
<script type="text/javascript">
$(document).ready(function(){
$('.btnRating').hide();
$('#divliveventGallery').hide();
var userType= document.getElementById('usertype').value;
if(userType == 'Visitor' || userType == 'FB' || userType == 'GL') {
$('.btnRating').show();
} else if(userType == 'Vendor'){
$('.btnRating').hide();
} else if(userType == "") {
$('.btnRating').hide();
}
});
**************Button html**************
echo '<button type="button" id="btnRate" onClick="rateDetail('.$dp['ven_id'].','.$userId.');" class=" btnRating btn btn-default btn-block" data-toggle="modal" data-target="#rcrate">';
echo '<strong>Rate</strong>';
echo '</button> ';
</script>
$(文档).ready(函数(){
$('.btnRating').hide();
$('#divliveventGallery').hide();
var userType=document.getElementById('userType')。值;
如果(userType='Visitor'| | userType=='FB'| | userType=='GL'){
$('.btnRating').show();
}如果(userType='Vendor'){
$('.btnRating').hide();
}else if(userType==“”){
$('.btnRating').hide();
}
});
**************按钮html**************
回声';
回音“速率”;
回声';
我不明白这个标签里到底放了什么,你能解释我用我的Javascript把它替换成你的输入标签吗?”。它的PHP不是JS。但是..帮我想想我的div是动态的,在动态div按钮中动态创建,我想隐藏的这个按钮在加载页面后也在潜水中,只有第一个按钮是隐藏其他不是隐藏的,我会附上你更了解的图片用一些代码打开另一个问题。现在我在工作,当我有时间帮助你的时候。
<script type="text/javascript">
$(document).ready(function(){
$('.btnRating').hide();
$('#divliveventGallery').hide();
var userType= document.getElementById('usertype').value;
if(userType == 'Visitor' || userType == 'FB' || userType == 'GL') {
$('.btnRating').show();
} else if(userType == 'Vendor'){
$('.btnRating').hide();
} else if(userType == "") {
$('.btnRating').hide();
}
});
**************Button html**************
echo '<button type="button" id="btnRate" onClick="rateDetail('.$dp['ven_id'].','.$userId.');" class=" btnRating btn btn-default btn-block" data-toggle="modal" data-target="#rcrate">';
echo '<strong>Rate</strong>';
echo '</button> ';
</script>