diff --git a/islandora-object-default-view.tpl.php b/islandora-object-default-view.tpl.php deleted file mode 100644 index fc7a1841..00000000 --- a/islandora-object-default-view.tpl.php +++ /dev/null @@ -1,42 +0,0 @@ -. - */ - - -?> -label - * $object->id - * to get the contents of a datastream - * $object['dsid']->content - * etc. - * - */ - - - //dsm($object); - - print('this is the default view for '. $object->label .' ' .$object->id); - -?> - diff --git a/islandora-object.tpl.php b/islandora-object.tpl.php new file mode 100644 index 00000000..1f9d4f8b --- /dev/null +++ b/islandora-object.tpl.php @@ -0,0 +1,73 @@ +. + */ +?> +label + * $object->id + * to get the contents of a datastream + * $object['dsid']->content + * + * $dublin_core is a Dublin_Core object + * which is an array of elements, such as dc.title + * and each element has an array of values. dc.title can have none, one or many titles + * this is the case for all dc elements. + * + * we can get a list of datastreams by doing + * foreach ($object as $ds){ + * do something here + * } + * + */ + +//dsm($object); +$dublin_core = $variables['islandora_dublin_core']; +print($islandora_object->label . ' ' . $islandora_object->id); +print ('

datastreams

'); +foreach ($islandora_object as $ds) { + print $ds->label . '
'; + //do something +} +print('

Dublin Core

'); + +foreach ($dublin_core as $element) { + if (!empty($element)) { + // print($element); + foreach ($element as $key => $value) { + foreach($value as $v){ + if(!empty($v)){ + print ''.($key).': ';print($v).'
'; + } + } + } + } +} +if(isset($variables['islandora_thumbnail_url'])){ + print(''); +} +?> + diff --git a/islandora.module b/islandora.module index 2a6fbae9..042aa96c 100644 --- a/islandora.module +++ b/islandora.module @@ -297,7 +297,7 @@ function islandora_islandora_view_object($object){ $object_models = $object->models; $combined_list = array_intersect($supported_models, $object->models); if (empty($combined_list)) { - return theme('islandora_object_default_view', array('object' => $object)); + return theme('islandora_default', array('islandora_object' => $object)); } } @@ -307,9 +307,9 @@ function islandora_islandora_view_object($object){ */ function islandora_theme() { return array( - 'islandora_object_default_view' => array( - 'template' => 'islandora-object-default-view', - 'variables' => array('object' => NULL), + 'islandora_default' => array( + 'template' => 'islandora-object', + 'variables' => array('islandora_object' => NULL), ), ); } @@ -380,3 +380,21 @@ function islandora_add_datastream($object_id) { } module_invoke_all('islandora_add_datastream', $object); //allow submodules to handle add datastream based on object type } + +function islandora_preprocess_islandora_default(&$variables){ + $islandora_object = $variables['islandora_object']; + module_load_include('inc','islandora','utils/islandora_dublin_core'); + try{ + $dc = $islandora_object['DC']->content; + //$dc_xml = simplexml_load_string($dc); + $dc_object = Dublin_Core::import_from_xml_string($dc); + }catch(Exception $e){ + drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id,'%t'=>$e->getMessage())),'error'); + } + $variables['islandora_dublin_core'] = $dc_object; + $variables['islandora_object_label'] = $islandora_object->label; + global $base_url; + if(isset($islandora_object['TN'])){ + $variables['islandora_thumbnail_url'] = $base_url.'/islandora/object/'.$islandora_object->id.'/datastream/TN/view'; + } +} \ No newline at end of file