Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 /**
|
Chris@0
|
4 * @file
|
Chris@0
|
5 * Contains the {{ plugin_name }} argument default plugin.
|
Chris@0
|
6 *
|
Chris@0
|
7 * @DCG This file needs to be referenced from {{ machine_name }}.info using files[] directive.
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Plugin description.
|
Chris@0
|
12 */
|
Chris@0
|
13 class views_plugin_argument_{{ plugin_machine_name }} extends views_plugin_argument_default {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * {@inheritdoc}
|
Chris@0
|
17 */
|
Chris@0
|
18 public function option_definition() {
|
Chris@0
|
19 $options = parent::option_definition();
|
Chris@0
|
20 $options['example_option'] = array('default' => 15);
|
Chris@0
|
21 return $options;
|
Chris@0
|
22 }
|
Chris@0
|
23
|
Chris@0
|
24 /**
|
Chris@0
|
25 * {@inheritdoc}
|
Chris@0
|
26 */
|
Chris@0
|
27 public function options_form(&$form, &$form_state) {
|
Chris@0
|
28 $form['example_option'] = array(
|
Chris@0
|
29 '#type' => 'textfield',
|
Chris@0
|
30 '#title' => t('Some example option.'),
|
Chris@0
|
31 '#default_value' => $this->options['example_option'],
|
Chris@0
|
32 );
|
Chris@0
|
33 }
|
Chris@0
|
34
|
Chris@0
|
35 /**
|
Chris@0
|
36 * {@inheritdoc}
|
Chris@0
|
37 */
|
Chris@0
|
38 public function options_validate(&$form, &$form_state) {
|
Chris@0
|
39 if ($form_state['values']['options']['argument_default']['{{ plugin_machine_name }}']['example_option'] == 10) {
|
Chris@0
|
40 form_error($form['example_option'], t('The value is not correct.'));
|
Chris@0
|
41 }
|
Chris@0
|
42 }
|
Chris@0
|
43
|
Chris@0
|
44 /**
|
Chris@0
|
45 * {@inheritdoc}
|
Chris@0
|
46 */
|
Chris@0
|
47 public function options_submit(&$form, &$form_state, &$options) {
|
Chris@0
|
48 $options['example_option'] = $form_state['values']['options']['argument_default']['{{ plugin_machine_name }}']['example_option'];
|
Chris@0
|
49 }
|
Chris@0
|
50
|
Chris@0
|
51 /**
|
Chris@0
|
52 * {@inheritdoc}
|
Chris@0
|
53 */
|
Chris@0
|
54 public function get_argument() {
|
Chris@0
|
55
|
Chris@0
|
56 // @DCG
|
Chris@0
|
57 // Here is the place where you should create a default argument for the
|
Chris@0
|
58 // contextual filter. The source of this argument depends on your needs.
|
Chris@0
|
59 // For example, you can extract the value from the URL or fetch it from
|
Chris@0
|
60 // some fields of the current viewed entity.
|
Chris@0
|
61 // For now lets use example option as an argument.
|
Chris@0
|
62 $argument = $this->options['example_option'];
|
Chris@0
|
63
|
Chris@0
|
64 return $argument;
|
Chris@0
|
65 }
|
Chris@0
|
66
|
Chris@0
|
67 }
|