Version 1
[yaffs-website] / web / modules / contrib / token / tests / modules / token_module_test / src / Controller / TokenTreeBrowseController.php
diff --git a/web/modules/contrib/token/tests/modules/token_module_test/src/Controller/TokenTreeBrowseController.php b/web/modules/contrib/token/tests/modules/token_module_test/src/Controller/TokenTreeBrowseController.php
new file mode 100644 (file)
index 0000000..9b2ba08
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\token_module_test\Controller;
+
+use Drupal\Core\Controller\ControllerBase;
+use Symfony\Component\HttpFoundation\Request;
+
+class TokenTreeBrowseController extends ControllerBase {
+
+  /**
+   * Page callback to output a link.
+   */
+  function outputLink(Request $request) {
+    $build['tree']['#theme'] = 'token_tree_link';
+    $build['tokenarea'] = [
+      '#markup' => \Drupal::token()->replace('[current-page:title]'),
+      '#type' => 'markup',
+    ];
+    return $build;
+  }
+
+  /**
+   * Title callback for the page outputting a link.
+   *
+   * We are using a title callback instead of directly defining the title in the
+   * routing YML file. This is so that we could return an array instead of a
+   * simple string. This allows us to test if [current-page:title] works with
+   * render arrays and other objects as titles.
+   */
+  public function getTitle() {
+    return [
+      '#type' => 'markup',
+      '#markup' => 'Available Tokens',
+    ];
+  }
+
+}