コード例 #1
0
ファイル: component.php プロジェクト: uklibraries/findingaid
 public function render()
 {
     $m = new Mustache_Engine(array('partials_loader' => new Mustache_Loader_FilesystemLoader(implode(DIRECTORY_SEPARATOR, array(APP, 'views', 'findingaid')))));
     $pieces = explode('_', $this->params['id']);
     $id = $pieces[0];
     $component_id = $pieces[1];
     $model = new ComponentModel($id, $component_id);
     $container_list_template = load_template('findingaid/container_list');
     $component_template = load_template('findingaid/component');
     $container_lists = array();
     foreach ($model->container_lists() as $container_list) {
         $container_list_content = $m->render($container_list_template, $container_list);
         $container_lists[] = array('container_list' => $container_list_content);
     }
     $subcomponents = $model->subcomponents();
     $subcomponent_content = array();
     foreach ($model->subcomponents() as $subcomponent) {
         $subcomponent_content[] = array('subcomponent' => $m->render($component_template, array('label' => fa_brevity($subcomponent->title()), 'collapsible' => true, 'scopecontent' => $subcomponent->scopecontent())));
     }
     $component_content = $m->render($component_template, array('label' => fa_brevity($model->title()), 'collapsible' => true, 'container_lists' => $container_lists, 'scopecontent' => $model->scopecontent(), 'subcomponents' => $subcomponent_content));
     return array($component_content, array('level' => (string) $model->level(), 'metadata' => array('label' => fa_brevity($model->title()), 'id' => 'demo_id')));
 }
コード例 #2
0
ファイル: findingaid.php プロジェクト: uklibraries/findingaid
 public function render_component($renderer, $component_xml)
 {
     $component_content = '';
     $attributes = $component_xml->attributes();
     if (isset($attributes['id'])) {
         $heading_id = "fa-heading-{$attributes['id']}";
         $body_id = "fa-body-{$attributes['id']}";
         $component = new ComponentModel($this->params['id'], $attributes['id']);
         $subcomponent_content = array();
         foreach ($component->subcomponents() as $subcomponent) {
             $subcomponent_details = $this->render_component($renderer, $subcomponent->xml());
             $subcomponent_content[] = array('subcomponent' => $subcomponent_details[0]);
         }
         $container_lists = array();
         foreach ($component->container_lists() as $container_list) {
             $container_list_content = $renderer->render($this->templates['container_list'], $container_list);
             $container_lists[] = array('container_list' => $container_list_content);
         }
         $component_content = $renderer->render($this->templates['component'], array('label' => fa_brevity($component->title()), 'collapsible' => true, 'container_lists' => $container_lists, 'scopecontent' => $component->scopecontent(), 'links' => $component->links, 'subcomponents' => $subcomponent_content, 'heading_id' => $heading_id, 'body_id' => $body_id));
     } else {
         error_log("FA: attributes_id not set");
     }
     return array($component_content, array('level' => (string) $component->level(), 'metadata' => array('label' => fa_brevity($component->title()), 'id' => $heading_id)));
 }