Mercurial > hg > rr-repo
annotate sites/all/modules/references/views/references_plugin_style.inc @ 6:a75ead649730
added biblio, admin_menu and reference modules
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Fri, 20 Sep 2013 11:18:21 +0100 |
parents | |
children |
rev | line source |
---|---|
danielebarchiesi@6 | 1 <?php |
danielebarchiesi@6 | 2 |
danielebarchiesi@6 | 3 /** |
danielebarchiesi@6 | 4 * @file |
danielebarchiesi@6 | 5 * Handler for references_plugin_style. |
danielebarchiesi@6 | 6 */ |
danielebarchiesi@6 | 7 class references_plugin_style extends views_plugin_style { |
danielebarchiesi@6 | 8 function render() { |
danielebarchiesi@6 | 9 $options = $this->display->handler->get_option('references_options'); |
danielebarchiesi@6 | 10 |
danielebarchiesi@6 | 11 // Play nice with View UI 'preview' : if the view is not executed through |
danielebarchiesi@6 | 12 // _*_reference_potential_references_views(), just display the HTML. |
danielebarchiesi@6 | 13 if (empty($options)) { |
danielebarchiesi@6 | 14 return parent::render(); |
danielebarchiesi@6 | 15 } |
danielebarchiesi@6 | 16 |
danielebarchiesi@6 | 17 $title_field = $options['title_field']; |
danielebarchiesi@6 | 18 |
danielebarchiesi@6 | 19 // Group the rows according to the grouping field, if specified. |
danielebarchiesi@6 | 20 $sets = $this->render_grouping($this->view->result, $this->options['grouping']); |
danielebarchiesi@6 | 21 |
danielebarchiesi@6 | 22 // Grab the alias of the 'id' field added by references_plugin_display. |
danielebarchiesi@6 | 23 $id_field_alias = $this->display->handler->id_field_alias; |
danielebarchiesi@6 | 24 |
danielebarchiesi@6 | 25 $results = array(); |
danielebarchiesi@6 | 26 $this->view->row_index = 0; |
danielebarchiesi@6 | 27 foreach ($sets as $title => $records) { |
danielebarchiesi@6 | 28 foreach ($records as $label => $values) { |
danielebarchiesi@6 | 29 // Render the row. |
danielebarchiesi@6 | 30 $rendered = $this->row_plugin->render($values); |
danielebarchiesi@6 | 31 // Remove linebreaks and extra spaces introduced by templates. |
danielebarchiesi@6 | 32 $rendered = preg_replace('/\s+/', ' ', trim($rendered)); |
danielebarchiesi@6 | 33 |
danielebarchiesi@6 | 34 // Collect the rendered row, and the raw title value. |
danielebarchiesi@6 | 35 $results[$values->{$id_field_alias}] = array( |
danielebarchiesi@6 | 36 'rendered' => $rendered, |
danielebarchiesi@6 | 37 'group' => $title, |
danielebarchiesi@6 | 38 'title' => $this->view->field[$title_field]->get_value($values), |
danielebarchiesi@6 | 39 ); |
danielebarchiesi@6 | 40 |
danielebarchiesi@6 | 41 $this->view->row_index++; |
danielebarchiesi@6 | 42 } |
danielebarchiesi@6 | 43 } |
danielebarchiesi@6 | 44 unset($this->view->row_index); |
danielebarchiesi@6 | 45 |
danielebarchiesi@6 | 46 return $results; |
danielebarchiesi@6 | 47 } |
danielebarchiesi@6 | 48 } |