Mercurial > hg > drupalISMI
changeset 37:eccbb6239b89
custom search results for bibliography.
author | casties |
---|---|
date | Thu, 06 Oct 2016 10:27:58 +0200 |
parents | 9a9a6da1d415 |
children | 9ab136f412a1 |
files | mpiwgISMI/search-result.tpl.php mpiwgISMI/template.php |
diffstat | 2 files changed, 107 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpiwgISMI/search-result.tpl.php Thu Oct 06 10:27:58 2016 +0200 @@ -0,0 +1,83 @@ +<?php + +/** + * @file + * Default theme implementation for displaying a single search result. + * + * This template renders a single search result and is collected into + * search-results.tpl.php. This and the parent template are + * dependent to one another sharing the markup for definition lists. + * + * Available variables: + * - $url: URL of the result. + * - $title: Title of the result. + * - $snippet: A small preview of the result. Does not apply to user searches. + * - $info: String of all the meta information ready for print. Does not apply + * to user searches. + * - $info_split: Contains same data as $info, split into a keyed array. + * - $module: The machine-readable name of the module (tab) being searched, such + * as "node" or "user". + * - $title_prefix (array): An array containing additional output populated by + * modules, intended to be displayed in front of the main title tag that + * appears in the template. + * - $title_suffix (array): An array containing additional output populated by + * modules, intended to be displayed after the main title tag that appears in + * the template. + * + * Default keys within $info_split: + * - $info_split['module']: The module that implemented the search query. + * - $info_split['user']: Author of the node linked to users profile. Depends + * on permission. + * - $info_split['date']: Last update of the node. Short formatted. + * - $info_split['comment']: Number of comments output as "% comments", % + * being the count. Depends on comment.module. + * + * Other variables: + * - $classes_array: Array of HTML class attribute values. It is flattened + * into a string within the variable $classes. + * - $title_attributes_array: Array of HTML attributes for the title. It is + * flattened into a string within the variable $title_attributes. + * - $content_attributes_array: Array of HTML attributes for the content. It is + * flattened into a string within the variable $content_attributes. + * + * Since $info_split is keyed, a direct print of the item is possible. + * This array does not apply to user searches so it is recommended to check + * for its existence before printing. The default keys of 'type', 'user' and + * 'date' always exist for node searches. Modules may provide other data. + * @code + * <?php if (isset($info_split['comment'])): ?> + * <span class="info-comment"> + * <?php print $info_split['comment']; ?> + * </span> + * <?php endif; ?> + * @endcode + * + * To check for all available data within $info_split, use the code below. + * @code + * <?php print '<pre>'. check_plain(print_r($info_split, 1)) .'</pre>'; ?> + * @endcode + * + * @see template_preprocess() + * @see template_preprocess_search_result() + * @see template_process() + * + * @ingroup themeable + */ +?> +<li class="<?php print $classes; ?>"<?php print $attributes; ?>> + <?php print render($bib_render) ?> + <!-- <?php print render($title_prefix); ?> + <h3 class="title"<?php print $title_attributes; ?>> + <a href="<?php print $url; ?>"><?php print $title; ?></a> + </h3> + <?php print render($title_suffix); ?> + <div class="search-snippet-info"> + <?php if ($snippet): ?> + <p class="search-snippet"<?php print $content_attributes; ?>><?php print $snippet; ?></p> + <?php endif; ?> + <?php if ($info): ?> + <p class="search-info"><?php print $info; ?></p> + <?php endif; ?> + </div> + --> +</li>
--- a/mpiwgISMI/template.php Tue Feb 02 17:13:52 2016 +0100 +++ b/mpiwgISMI/template.php Thu Oct 06 10:27:58 2016 +0200 @@ -3,10 +3,29 @@ * Override or insert variables into the page template. */ function mpiwgISMI_preprocess_page(&$vars) { - // Move secondary tabs into a separate variable. - - - + // Move secondary tabs into a separate variable. $vars['MPIWGlogo'] = base_path() . path_to_theme() . '/logoMPIWG.png'; $vars['MCGilllogo'] = base_path() . path_to_theme() . '/bannerMcGill-100.gif'; -} \ No newline at end of file +} + +/** + * Override or insert variables into the search result template. + * + * @param unknown $variables + */ +function mpiwgISMI_preprocess_search_result(&$variables) { + // biblio style + $base = 'biblio'; + $style = 'chicago-fullnote-bibliography.csl'; + + // get the search result node + $result = $variables['result']; + $r_node = $result['node']; + // load the real node + $node = node_load($r_node->entity_id); + + // render the node and pass it to search-result.tpl + $render_args = array('#theme' => 'biblio_style', '#node' => $node, '#base' => $base, '#style_name' => $style); + $variables['bib_render']= drupal_render($render_args); + //$variables['bib_render'] = node_view($node, 'teaser'); +}