class CommonTestController

Same name in other branches
  1. 9 core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php \Drupal\common_test\Controller\CommonTestController
  2. 10 core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php \Drupal\common_test\Controller\CommonTestController
  3. 11.x core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php \Drupal\common_test\Controller\CommonTestController

Controller routines for common_test routes.

Hierarchy

Expanded class hierarchy of CommonTestController

File

core/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php, line 12

Namespace

Drupal\common_test\Controller
View source
class CommonTestController {
    
    /**
     * Returns links to the current page, with and without query strings.
     *
     * Using #type 'link' causes these links to be rendered with the link
     * generator.
     */
    public function typeLinkActiveClass() {
        return [
            'no_query' => [
                '#type' => 'link',
                '#title' => t('Link with no query string'),
                '#url' => Url::fromRoute('<current>'),
                '#options' => [
                    'set_active_class' => TRUE,
                ],
            ],
            'with_query' => [
                '#type' => 'link',
                '#title' => t('Link with a query string'),
                '#url' => Url::fromRoute('<current>'),
                '#options' => [
                    'query' => [
                        'foo' => 'bar',
                        'one' => 'two',
                    ],
                    'set_active_class' => TRUE,
                ],
            ],
            'with_query_reversed' => [
                '#type' => 'link',
                '#title' => t('Link with the same query string in reverse order'),
                '#url' => Url::fromRoute('<current>'),
                '#options' => [
                    'query' => [
                        'one' => 'two',
                        'foo' => 'bar',
                    ],
                    'set_active_class' => TRUE,
                ],
            ],
        ];
    }
    
    /**
     * Adds a JavaScript file and a CSS file with a query string appended.
     *
     * @return string
     *   An empty string.
     */
    public function jsAndCssQuerystring() {
        $attached = [
            '#attached' => [
                'library' => [
                    'node/drupal.node',
                ],
                'css' => [
                    drupal_get_path('module', 'node') . '/css/node.admin.css' => [],
                    // A relative URI may have a query string.
'/' . drupal_get_path('module', 'node') . '/node-fake.css?arg1=value1&arg2=value2' => [],
                ],
            ],
        ];
        return \Drupal::service('renderer')->renderRoot($attached);
    }
    
    /**
     * Prints a destination query parameter.
     *
     * @return \Symfony\Component\HttpFoundation\Response
     *   A new Response object containing a string with the destination query
     *   parameter.
     */
    public function destination() {
        $destination = \Drupal::destination()->getAsArray();
        $output = "The destination: " . Html::escape($destination['destination']);
        return new Response($output);
    }

}

Members

Title Sort descending Modifiers Object type Summary
CommonTestController::destination public function Prints a destination query parameter.
CommonTestController::jsAndCssQuerystring public function Adds a JavaScript file and a CSS file with a query string appended.
CommonTestController::typeLinkActiveClass public function Returns links to the current page, with and without query strings.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.