Эхо-текст на основе level_id для SocialEngine 4.x / Zend Framework - PullRequest
0 голосов
/ 07 мая 2018

Должен признаться, я новичок в работе с php внутри блока javascript. В качестве временного исправления, пока я не смогу написать что-то более динамичное, мне нужно передать текст в зависимости от уровня пользователя, если они не вошли в систему, я использую остальное, чтобы идентифицировать как таковой. У меня есть переменная member_level внутри блока javascript, у меня есть следующий код ниже в двойных кавычках, но ему не нравится форматирование. Я просто не вижу, что не так. Прошу прощения, если этот вопрос сформулирован неправильно, только на моей последней свече и не вижу, что я делаю неправильно

    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 ?>
";

Чего мне не хватает? Я действительно не прошу кого-то написать код, просто дайте мне понять, где я ошибся.

1 Ответ

0 голосов
/ 08 мая 2018

Используйте этот код вместо:

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'); ?>";
...