callback_add_url.inc 773 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * @file
  4. * Contains SearchApiAlterAddUrl.
  5. */
  6. /**
  7. * Search API data alteration callback that adds an URL field for all items.
  8. */
  9. class SearchApiAlterAddUrl extends SearchApiAbstractAlterCallback {
  10. public function alterItems(array &$items) {
  11. foreach ($items as &$item) {
  12. $url = $this->index->datasource()->getItemUrl($item);
  13. if (!$url) {
  14. $item->search_api_url = NULL;
  15. continue;
  16. }
  17. $item->search_api_url = url($url['path'], array('absolute' => TRUE) + $url['options']);
  18. }
  19. }
  20. public function propertyInfo() {
  21. return array(
  22. 'search_api_url' => array(
  23. 'label' => t('URI'),
  24. 'description' => t('An URI where the item can be accessed.'),
  25. 'type' => 'uri',
  26. ),
  27. );
  28. }
  29. }