protected static BigPipeStrategy::generateBigPipePlaceholderId($original_placeholder, array $placeholder_render_array)
Generates a BigPipe placeholder ID.
Parameters
string $original_placeholder: The original placeholder.
array $placeholder_render_array: The render array for a placeholder.
Return value
string The generated BigPipe placeholder ID.
File
- core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php, line 257
Class
- BigPipeStrategy
- Defines the BigPipe placeholder strategy, to send HTML in chunks.
Namespace
Drupal\big_pipe\Render\Placeholder
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | protected static function generateBigPipePlaceholderId( $original_placeholder , array $placeholder_render_array ) { // Generate a BigPipe placeholder ID (to be used by BigPipe's JavaScript). // @see \Drupal\Core\Render\PlaceholderGenerator::createPlaceholder() if (isset( $placeholder_render_array [ '#lazy_builder' ])) { $callback = $placeholder_render_array [ '#lazy_builder' ][0]; $arguments = $placeholder_render_array [ '#lazy_builder' ][1]; $token = hash( 'crc32b' , serialize( $placeholder_render_array )); return UrlHelper::buildQuery([ 'callback' => $callback , 'args' => $arguments , 'token' => $token ]); } // When the placeholder's render array is not using a #lazy_builder, // anything could be in there: only #lazy_builder has a strict contract that // allows us to create a more sane selector. Therefore, simply the original // placeholder into a usable placeholder ID, at the cost of it being obtuse. else { return Html::getId( $original_placeholder ); } } |
Please login to continue.