protected function getFields() { $router = $this->getContainer()->get('router'); $fields = array(); $subject = $this->getEntity(); // Subject name $fields[] = SwiftypeField::get('name', $subject->getName(), SwiftypeField::FIELD_STRING); // Slug $fields[] = SwiftypeField::get('slug', $subject->getSlug(), SwiftypeField::FIELD_STRING); // Course count $fields[] = SwiftypeField::get('courseCount', $subject->getCourseCount(), SwiftypeField::FIELD_INTEGER); // url $fields[] = SwiftypeField::get('url', $router->generate('ClassCentralSiteBundle_stream', array('slug' => $subject->getSlug())), SwiftypeField::FIELD_ENUM); return $fields; }
protected function getFields() { $router = $this->getContainer()->get('router'); $repository = $this->getContainer()->get('doctrine')->getManager()->getRepository('ClassCentralSiteBundle:Institution'); $fields = array(); $institution = $this->getEntity(); // Institution name $fields[] = SwiftypeField::get('name', $institution->getName(), SwiftypeField::FIELD_STRING); // Institution course count $fields[] = SwiftypeField::get('courseCount', $repository->getCourseCountByInstitution($institution), SwiftypeField::FIELD_INTEGER); // Insititution slug $fields[] = SwiftypeField::get('slug', $institution->getSlug(), SwiftypeField::FIELD_STRING); // Institution url $route = 'ClassCentralSiteBundle_institution'; if ($institution->getIsUniversity()) { $route = 'ClassCentralSiteBundle_university'; } $url = $router->generate($route, array('slug' => $institution->getSlug())); $fields[] = SwiftypeField::get('url', $url, SwiftypeField::FIELD_ENUM); return $fields; }
protected function getFields() { $fields = array(); $course = $this->getEntity(); $router = $this->getContainer()->get('router'); // Course name $fields[] = SwiftypeField::get('name', $course->getName(), SwiftypeField::FIELD_STRING); // Course url; $fields[] = SwiftypeField::get('url', $router->generate('ClassCentralSiteBundle_mooc', array('id' => $course->getId(), 'slug' => $course->getSlug())), SwiftypeField::FIELD_ENUM); // provider $provider = 'Independent'; if ($course->getInitiative()) { $provider = $course->getInitiative()->getName(); } $fields[] = SwiftypeField::get('provider', $provider, SwiftypeField::FIELD_ENUM); // Institutions $institutions = array(); if ($course->getInstitutions()) { foreach ($course->getInstitutions() as $ins) { $institutions[] = $ins->getName(); } } $fields[] = SwiftypeField::get('institutions', $institutions, SwiftypeField::FIELD_ENUM); // Instructors $instructors = array(); if ($course->getInstructors()) { foreach ($course->getInstructors() as $ins) { $instructors[] = $ins->getName(); } } $fields[] = SwiftypeField::get('instructors', $instructors, SwiftypeField::FIELD_TEXT); // Status $fields[] = SwiftypeField::get('status', $course->getStatus(), SwiftypeField::FIELD_INTEGER); // Display date $nextOffering = $course->getNextOffering(); if ($nextOffering) { $fields[] = SwiftypeField::get('displayDate', $nextOffering->getDisplayDate(), SwiftypeField::FIELD_ENUM); } return $fields; }