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 &amp;$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">&lt;?php<br>&nbsp; </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">]) &amp;&amp; </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>&nbsp;&nbsp;&nbsp; </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">)-&gt;</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>&nbsp;&nbsp;&nbsp; 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>&nbsp; }<br>&nbsp; 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">]) &amp;&amp; </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>&nbsp;&nbsp;&nbsp; </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">)-&gt;</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>&nbsp;&nbsp;&nbsp; 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>&nbsp; }<br></span><span style="color: #0000BB">?&gt;</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