render() of renderer service can only accept array now, passing null lead to final error
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3531949. -->
Reported by: [司南](https://www.drupal.org/user/2840367)
Related to !56
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>render() of renderer service can only accept array now in Drupal 11.2.0, passing null lead to final error</p>
<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
<p>1. Create a message<br>
2. Send the message use the message_notify module<br>
3. Or render the message in other ways to trigger the template_preprocess_message(array &$variables) hook</p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p>Don't pass null to the render() method.</p>
<div class="codeblock">
<pre><span style="color: #000000"><span style="color: #0000BB"><?php<br> </span><span style="color: #007700">if (isset(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'created'</span><span style="color: #007700">]) && </span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'created'</span><span style="color: #007700">])) {<br> </span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'date'</span><span style="color: #007700">] = \</span><span style="color: #0000BB">Drupal</span><span style="color: #007700">::</span><span style="color: #0000BB">service</span><span style="color: #007700">(</span><span style="color: #DD0000">'renderer'</span><span style="color: #007700">)-></span><span style="color: #0000BB">render</span><span style="color: #007700">(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'created'</span><span style="color: #007700">]);<br> unset(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'created'</span><span style="color: #007700">]);<br> }<br> if (isset(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'uid'</span><span style="color: #007700">]) && </span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'uid'</span><span style="color: #007700">])) {<br> </span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'author_name'</span><span style="color: #007700">] = \</span><span style="color: #0000BB">Drupal</span><span style="color: #007700">::</span><span style="color: #0000BB">service</span><span style="color: #007700">(</span><span style="color: #DD0000">'renderer'</span><span style="color: #007700">)-></span><span style="color: #0000BB">render</span><span style="color: #007700">(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'uid'</span><span style="color: #007700">]);<br> unset(</span><span style="color: #0000BB">$variables</span><span style="color: #007700">[</span><span style="color: #DD0000">'elements'</span><span style="color: #007700">][</span><span style="color: #DD0000">'uid'</span><span style="color: #007700">]);<br> }<br></span><span style="color: #0000BB">?></span></span></pre></div>
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
<p>none.</p>
<h3 id="summary-ui-changes">User interface changes</h3>
<p>none.</p>
<h3 id="summary-api-changes">API changes</h3>
<p>none.</p>
<h3 id="summary-data-model-changes">Data model changes</h3>
<p>none.</p>
issue