ошибка views3 с контекстным фильтром


Я пытаюсь показать сообщения пользователей в их профиле с просмотрами 3, следуя этому сообщению http://drupal.org/node/228959#comment-4591334

После того, как я добавлю следующий код в контекстный фильтр

if (arg(0) == 'user' && is_numeric(arg(1))) {
  return array(arg(1));
}

И это работает, но также выдает эту ошибку

Notice: Array to string conversion in views_handler_argument_numeric->title() 
(line 77 of /test_drupal/sites/all/modules/views/handlers/views_handler_argument_numeric.inc).

Warning: html_entity_decode() expects parameter 1 to be string, 
array given in decode_entities() (line 429 of test_drupal/includes/unicode.inc).
 2
Author: kiamlaluno, 2012-03-08

2 answers

Похоже, что он ожидает строку, но ваш код возвращает массив.

Попробуйте изменить свой код на следующий:

if (arg(0) == 'user' && is_numeric(arg(1))) {
  return arg(1);
}

, Который должен возвращать строковое значение, а не возвращать [0] => uid.

 2
Author: Chapabu, 2012-03-09 12:04:59

У меня была та же ошибка в той же строке (unicode.inc, строка 429), когда я неправильно вставил представление из шаблона. Мой код был:

<?php print views_embed_view('view_name', 'display_name', array(4, 2) ); ?>

Аргументы не должны передаваться как массив, но как обычные аргументы после первых двух, это решило ошибки:

<?php print views_embed_view('view_name', 'display_name', array(4, 2) ); ?>
 0
Author: vitrus, 2014-02-24 14:06:11