Я пытаюсь получить некоторые представления с помощью модуля services_views . К сожалению, я продолжаю получать ответ: «404: Не найдено: отображение при просмотре my_view_name не может быть найдено».
Я использую виды 3 и определил для проверки вид с идентификатором отображения страницы. (идентификатор дисплея по умолчанию больше не является "по умолчанию")
Я знаю, что должен передать аргумент display_id, но просто не могу заставить его работать.
Вот звонки, которые я пытаюсь использовать:
http://www.mywebsite.com/rest/views/my_view_name.json?display_id="page"
http://www.mywebsite.com/rest/views/my_view_name.json?display_id=page
http://www.mywebsite.com/rest/views/my_view_name.json?parameters[display_id]="page"
http://www.mywebsite.com/rest/views/my_view_name.json?args[display_id]="page"
В определении ресурса для сервиса ясно, что display_id должен быть передан в качестве аргумента.
'args' => array(
'view_name' => array(
'name' => 'view_name',
'type' => 'string',
'description' => 'The name of the view to get.',
'source' => array('path' => '0'),
'optional' => FALSE,
),
'display_id' => array(
'name' => 'display_id',
'type' => 'string',
'description' => 'The display ID of the view to get.',
'source' => 'param',
'optional' => TRUE,
'default value' => 'default',
),...
Есть ли кто-нибудь, кому удалось сделать эту работу?
Спасибо.
Ответы:
На странице выпуска Drupal.org для этого модуля кто-то предлагает следующее для версии 7.x.
Я пытался заставить это работать на 6.x, но пока не удалось.
источник
Если у вас установлен Firefox или Firebug, вы можете посмотреть на источник HTML, чтобы получить display_id. Смотрите этот снимок экрана (и, пожалуйста, игнорируйте аргумент моей страницы!):
источник
Я столкнулся с той же проблемой с services_views для передачи аргументов представлению, вызываемому запросом services, и решил ее, применив в модуле патч, без которого он не будет работать.
Вот патч diff из моего проекта
Я не помню ссылку на патч, но это может помочь увидеть проблемы с представлением сервисов
Если бы вы создали сервисный дисплей для представления, вы бы увидели его как сам ресурс.
надеюсь, это поможет
источник
Скорее всего, вы хотите
display_id=page_1
.display_id
Параметр должен быть внутренний идентификатор дисплея. AFAIK дисплей по умолчанию всегда имеет идентификатор «по умолчанию».Идентификаторы всех дополнительных отображаемых страниц не отображаются в пользовательском интерфейсе Drupal 6, но их можно узнать, выполнив экспорт в вашем представлении и просмотрев полученный код.
Каждое отображение создается с помощью вызова,
$view->new_display()
где третий параметр является идентификатором (см. Views_db_object :: new_display ).источник