Как добавить категории в область?
Я играю с Ubuntu SDK. В данный момент я пытаюсь создать Scope Unity 8. В настоящее время я застрял со следующим:
- Как добавить категории в область (список выбора над результатами см. В разделе "Область действия Amazon")
К сожалению, я не нашел полезной информации в документации для разработчиков.
1 ответ
Выпадающий над результатами список выбора отдела. Категории - это разные группы элементов в результатах области, поэтому у вас могут возникнуть проблемы с поиском правильного API.
Чтобы добавить отделы в вашу сферу, вы должны позвонить register_departments
на объект ответа в вашем классе запроса run
метод. Это занимает unity::scopes::Department::SCPtr
объект, представляющий набор отделов, видимых для этого конкретного набора результатов:
если пользователь в настоящее время просматривает отдел верхнего уровня, вы должны передать
Department
представляющий верхний уровень, с его непосредственными дочерними заполненными.Если пользователь просматривает подразделение, вы должны передать
Department
представляющий родителя, с заполненными его непосредственными детьми. Текущий отдел должен появиться в пределах детей.
Идея состоит в том, что предоставляются только те части дерева отдела, которые необходимы для немедленной навигации. Ваш код может выглядеть примерно так:
Department::SPtr parent = Department::create("parent", query(), "Parent Dept")
parent->set_subdepartments({
Department::create("sibling", query(), "Sibling department"),
Department::create("current", query(), "Current departmnet")});
reply->register_departments(parent);
Теперь все, что вам нужно сделать, это сделать так, чтобы ваша область предоставила результаты, относящиеся к выбранному пользователем отделу. Это доступно в вашем классе запросов как query().department_id()
, Это будет соответствовать идентификатору одного из отделов, которые вы ранее зарегистрировали, или ""
который должен рассматриваться как отдел высшего уровня.