При добавлении записи в типе контента выдает 500 ошибку

InstantCMS 2.X
#1 2 апреля 2017 в 10:29
Не пойму почему, при добавлении записи в тип контента, выдает 500 ошибку.
Страница не работает

Сайт пока не может обработать этот запрос.
HTTP ERROR 500

Версия 2.7.1
С чем может быть связано? Отладка не показывает ошибку. Запись при этом сохраняется корректно.
#2 2 апреля 2017 в 11:46
при этом видео в компоненте инстантвидео добавляется корректно
#3 31 июля 2017 в 21:41
Тоже столкнулся с такой проблемой. (ICMS 2.8 обновлённый с 2.7.2) Создал тип контента "Каталог вэб сайтов", уже после обновления до ICMS 2.8. Добавляю запись, жму сохранить и вываливается белый экран с такими ошибками:
  1. Warning: Illegal string offset 'id' in D:\OpenServer\domains\city\system\fields\user.php on line 17
  2.  
  3. Warning: Illegal string offset 'nickname' in D:\OpenServer\domains\city\system\fields\user.php on line 17
  4.  
  5. Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\city\system\fields\user.php:17) in D:\OpenServer\domains\city\system\core\controller.php on line 738
  6.  
  7. Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\city\system\fields\user.php:17) in D:\OpenServer\domains\city\system\core\controller.php on line 740
Однако сама запись корректно добавляется и из админки также корректно редактируется.

Посмотрел на что он ругается и не понял...

  1. class fieldUser extends cmsFormField {
  2.  
  3. public $title = LANG_PARSER_USER;
  4. public $is_public = false;
  5. public $sql = 'varchar(255) NULL DEFAULT NULL';
  6. public $filter_type = 'int';
  7. public $filter_hint = LANG_PARSER_USER_FILTER_HINT;
  8. public $allow_index = false;
  9.  
  10. public function getInput($value) {
  11. return html_input('text', $this->name, $value);
  12. }
  13.  
  14. public function parse($value){
  15. return '<a href="'.href_to('users', $value['id']).'">'.htmlspecialchars($value['nickname']).'</a>'; // Ругается на эту строку
  16. }
  17.  
  18. public function applyFilter($model, $value) {
  19. $users_model = cmsCore::getModel('users');
  20. $users = $users_model->filterLike('nickname', "%{$value}%")->getUsers();
  21. if (!$users){
  22. return $model->filterIsNull($this->name . '_id');
  23. } else {
  24. $users_ids = array_collection_to_list($users, 'id', 'id');
  25. return $model->filterIn($this->name . '_id', $users_ids);
  26. }
  27.  
  28. }
  29.  
  30. }
В чём может быть проблема? Или — откуда вызывается public function parse?
#4 31 июля 2017 в 22:21
@Sipaj,
Создайте на опенсервере новый сайт на Instant2.8.0, создайте там такой же тип контента и посмотрите, будут ли ошибки.
Такое ощущение, что Вы каким-то неведомым образом удалили из формы добавления контента поле "юзер".
#5 1 августа 2017 в 00:10
Да, таки поле юзера в форме добавления не появляется. В принципе, он мне не нужен, но судя по обязательным полям, появится обязан. Но его нет. Моя проблема лечится так, как в картинке — "Значение из профиля пользователя" устанавливается в Нет
Прикрепленный файл
instant01_prp5o.jpg 169 Кб
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.