get("dynamic_type"); $position = dynamic::get_position($dynamic_type_definition, $item); if ($position > 1) { list ($previous_item, $ignore, $next_item) = dynamic::items($dynamic_type_definition->key_field, 3, $position - 2); } else { $previous_item = null; list ($next_item) = dynamic::items($dynamic_type_definition->key_field, 1, $position); } $root = item::root(); return array("position" =>$position, "previous_item" => $previous_item, "next_item" =>$next_item, "sibling_count" => dynamic::get_display_count($dynamic_type_definition), "breadcrumbs" => array( Breadcrumb::instance($root->title, $root->url())->set_first(), Breadcrumb::instance($dynamic_type_definition->title, $this->_url("show={$item->id}")), Breadcrumb::instance($item->title, $item->url())->set_last())); } private function _url($query=null) { $albumPath = $this->get("path"); $url = url::site("dynamic/$albumPath"); if ($query) { $url .= "?$query"; } return $url; } }