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');
+}