annotate core/modules/book/book.views.inc @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /**
Chris@0 4 * @file
Chris@0 5 * Provide views data for book.module.
Chris@0 6 *
Chris@0 7 * @ingroup views_module_handlers
Chris@0 8 */
Chris@0 9
Chris@0 10 /**
Chris@0 11 * Implements hook_views_data().
Chris@0 12 */
Chris@0 13 function book_views_data() {
Chris@0 14 $data = [];
Chris@0 15 $data['book'] = [];
Chris@0 16 $data['book']['table'] = [];
Chris@0 17 $data['book']['table']['group'] = t('Book');
Chris@0 18
Chris@0 19 $data['book']['table']['join'] = [
Chris@0 20 'node_field_data' => [
Chris@0 21 'left_field' => 'nid',
Chris@0 22 'field' => 'nid',
Chris@0 23 ],
Chris@0 24 ];
Chris@0 25
Chris@0 26 $data['book']['nid'] = [
Chris@0 27 'title' => t('Page'),
Chris@0 28 'help' => t('The book page node.'),
Chris@0 29 'relationship' => [
Chris@0 30 'base' => 'node_field_data',
Chris@0 31 'id' => 'standard',
Chris@0 32 'label' => t('Book Page'),
Chris@0 33 ],
Chris@0 34 ];
Chris@0 35
Chris@0 36 $data['book']['bid'] = [
Chris@0 37 'title' => t('Top level book'),
Chris@0 38 'help' => t('The book the node is in.'),
Chris@0 39 'relationship' => [
Chris@0 40 'base' => 'node_field_data',
Chris@0 41 'id' => 'standard',
Chris@0 42 'label' => t('Book'),
Chris@0 43 ],
Chris@0 44 ];
Chris@0 45
Chris@0 46 $data['book']['pid'] = [
Chris@0 47 'title' => t('Parent'),
Chris@0 48 'help' => t('The parent book node.'),
Chris@0 49 'relationship' => [
Chris@0 50 'base' => 'node_field_data',
Chris@0 51 'id' => 'standard',
Chris@0 52 'label' => t('Book Parent'),
Chris@0 53 ],
Chris@0 54 ];
Chris@0 55
Chris@0 56 $data['book']['has_children'] = [
Chris@0 57 'title' => t('Page has Children'),
Chris@0 58 'help' => t('Flag indicating whether this book page has children'),
Chris@0 59 'field' => [
Chris@0 60 'id' => 'boolean',
Chris@0 61 ],
Chris@0 62 'sort' => [
Chris@0 63 'id' => 'standard',
Chris@0 64 ],
Chris@0 65 'filter' => [
Chris@0 66 'id' => 'boolean',
Chris@0 67 'label' => t('Has Children'),
Chris@0 68 ],
Chris@0 69 'argument' => [
Chris@0 70 'id' => 'numeric',
Chris@0 71 ],
Chris@0 72 ];
Chris@0 73
Chris@0 74 $data['book']['weight'] = [
Chris@0 75 'title' => t('Weight'),
Chris@0 76 'help' => t('The weight of the book page.'),
Chris@0 77 'field' => [
Chris@0 78 'id' => 'numeric',
Chris@0 79 ],
Chris@0 80 'sort' => [
Chris@0 81 'id' => 'standard',
Chris@0 82 ],
Chris@0 83 ];
Chris@0 84
Chris@0 85 $data['book']['depth'] = [
Chris@0 86 'title' => t('Depth'),
Chris@0 87 'help' => t('The depth of the book page in the hierarchy; top level books have a depth of 1.'),
Chris@0 88 'field' => [
Chris@0 89 'id' => 'numeric',
Chris@0 90 ],
Chris@0 91 'sort' => [
Chris@0 92 'id' => 'standard',
Chris@0 93 ],
Chris@0 94 'filter' => [
Chris@0 95 'id' => 'numeric',
Chris@0 96 ],
Chris@0 97 'argument' => [
Chris@0 98 'id' => 'standard',
Chris@0 99 ],
Chris@0 100 ];
Chris@0 101 $parents = [
Chris@0 102 1 => t('1st parent'),
Chris@0 103 2 => t('2nd parent'),
Chris@0 104 3 => t('3rd parent'),
Chris@0 105 4 => t('4th parent'),
Chris@0 106 5 => t('5th parent'),
Chris@0 107 6 => t('6th parent'),
Chris@0 108 7 => t('7th parent'),
Chris@0 109 8 => t('8th parent'),
Chris@0 110 9 => t('9th parent'),
Chris@0 111 ];
Chris@0 112 foreach ($parents as $i => $parent_label) {
Chris@0 113 $data['book']["p$i"] = [
Chris@0 114 'title' => $parent_label,
Chris@0 115 'help' => t('The @parent of book node.', ['@parent' => $parent_label]),
Chris@0 116 'relationship' => [
Chris@0 117 'base' => 'node_field_data',
Chris@0 118 'id' => 'standard',
Chris@0 119 'label' => t('Book @parent', ['@parent' => $parent_label]),
Chris@0 120 ],
Chris@0 121 ];
Chris@0 122 }
Chris@0 123
Chris@0 124 return $data;
Chris@0 125 }