我必须承认,我对于在 javascript block 中使用 php 还很陌生。作为一个临时修复,直到我可以编写更动态的内容之前,我需要根据用户级别传递文本,如果他们没有登录,我将使用 else 来标识。我在 javascript block 中有一个名为 member_level 的变量,我在双引号内有以下代码,但它不喜欢格式。我只是看不出出了什么问题。如果这个问题措辞错误,我很抱歉,就在我最后一根蜡烛上,看不到我做错了什么
var chat_role = "<?php if($this->viewer()->level_id == '1'){
echo Super Admin;
} else if($this->viewer()->level_id == '3'){
echo Moderator;
} else if($this->viewer()->level_id == '4'){
echo Free;
} else if($this->viewer()->level_id == '5'){
echo Public;
} else if($this->viewer()->level_id == '9'){
echo Premium;
} else if($this->viewer()->level_id == '13'){
echo Corporate;
} else if($this->viewer()->level_id == '15'){
echo Lifetime;
} else if($this->viewer()->level_id == '16'){
echo Standard Admin;
} else if($this->viewer()->level_id == '17'){
echo New Member;
} else {
echo Non Logged In;
}
endif ?>
";
我缺少什么?我真的不是要求别人写代码,只是让我知道我哪里出错了。
最佳答案
请改用此代码:
var chat_role = "<?php echo (isset($this->viewer()->level_id) && $this->viewer()->level_id > 0 ? Engine_Api::_()->getItem('authorization_level', $this->viewer()->level_id)->getTitle(): 'Non Logged In'); ?>";
关于javascript - 针对 SocialEngine 4.x/Zend Framework 基于 level_id 的回显文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50222319/