This commit is contained in:
CI 2024-05-13 13:54:55 +00:00
parent 925e698040
commit 13e7c5a4e5
5 changed files with 12 additions and 11 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -1795,6 +1795,7 @@
<h1 id="builder-block">Builder Block</h1>
<p>Its gives you total control to build with blocks.</p>
<p><img alt="" src="/_static/img/editors/builder.png" /></p>
<p><img alt="" src="/_static/img/editors/builder2.png" /></p>
<h2 id="add-the-builder-in-forms">Add the builder in forms</h2>
<h3 id="classic-form">Classic form</h3>
<div class="highlight"><span class="filename">src/Form/ExampleType.php</span><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="k">namespace</span> <span class="nx">App\Form\ExampleType</span><span class="p">;</span>
@ -1877,14 +1878,15 @@ Then, implement the method <code>configure</code> as below.</p>
<a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a> <span class="o">-&gt;</span><span class="na">setName</span><span class="p">(</span><span class="s1">&#39;custom&#39;</span><span class="p">)</span>
<a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a> <span class="o">-&gt;</span><span class="na">setCategory</span><span class="p">(</span><span class="s1">&#39;Category&#39;</span><span class="p">)</span>
<a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a> <span class="o">-&gt;</span><span class="na">setLabel</span><span class="p">(</span><span class="s1">&#39;My custom block&#39;</span><span class="p">)</span>
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a> <span class="o">-&gt;</span><span class="na">setIsContainer</span><span class="p">(</span><span class="k">false</span><span class="p">)</span> <span class="c1">// set `true` if the block can contain blocks</span>
<a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a> <span class="o">-&gt;</span><span class="na">setIcon</span><span class="p">(</span><span class="s1">&#39;&lt;i class=&quot;fas fa-pencil-alt&quot;&gt;&lt;/i&gt;&#39;</span><span class="p">)</span>
<a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a> <span class="o">-&gt;</span><span class="na">setTemplate</span><span class="p">(</span><span class="s1">&#39;builder_block/custom.html.twig&#39;</span><span class="p">)</span>
<a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a> <span class="o">-&gt;</span><span class="na">setClass</span><span class="p">(</span><span class="s1">&#39;col-md-12&#39;</span><span class="p">)</span>
<a id="__codelineno-2-19" name="__codelineno-2-19" href="#__codelineno-2-19"></a> <span class="o">-&gt;</span><span class="na">addSetting</span><span class="p">(</span><span class="nx">name</span><span class="o">:</span> <span class="s1">&#39;value&#39;</span><span class="p">,</span> <span class="nx">label</span><span class="o">:</span> <span class="s1">&#39;Value&#39;</span><span class="p">,</span> <span class="nx">type</span><span class="o">:</span> <span class="s1">&#39;textarea&#39;</span><span class="p">,</span> <span class="nx">attributes</span><span class="o">:</span> <span class="p">[],</span> <span class="k">default</span><span class="o">:</span> <span class="s1">&#39;Default value&#39;</span><span class="p">)</span>
<a id="__codelineno-2-20" name="__codelineno-2-20" href="#__codelineno-2-20"></a> <span class="p">;</span>
<a id="__codelineno-2-21" name="__codelineno-2-21" href="#__codelineno-2-21"></a> <span class="p">}</span>
<a id="__codelineno-2-22" name="__codelineno-2-22" href="#__codelineno-2-22"></a><span class="p">}</span>
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a> <span class="o">-&gt;</span><span class="na">setOrder</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a> <span class="o">-&gt;</span><span class="na">setIsContainer</span><span class="p">(</span><span class="k">false</span><span class="p">)</span> <span class="c1">// set `true` if the block can contain blocks</span>
<a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a> <span class="o">-&gt;</span><span class="na">setIcon</span><span class="p">(</span><span class="s1">&#39;&lt;i class=&quot;fas fa-pencil-alt&quot;&gt;&lt;/i&gt;&#39;</span><span class="p">)</span>
<a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a> <span class="o">-&gt;</span><span class="na">setTemplate</span><span class="p">(</span><span class="s1">&#39;builder_block/custom.html.twig&#39;</span><span class="p">)</span>
<a id="__codelineno-2-19" name="__codelineno-2-19" href="#__codelineno-2-19"></a> <span class="o">-&gt;</span><span class="na">setClass</span><span class="p">(</span><span class="s1">&#39;col-md-12&#39;</span><span class="p">)</span>
<a id="__codelineno-2-20" name="__codelineno-2-20" href="#__codelineno-2-20"></a> <span class="o">-&gt;</span><span class="na">addSetting</span><span class="p">(</span><span class="nx">name</span><span class="o">:</span> <span class="s1">&#39;value&#39;</span><span class="p">,</span> <span class="nx">label</span><span class="o">:</span> <span class="s1">&#39;Value&#39;</span><span class="p">,</span> <span class="nx">type</span><span class="o">:</span> <span class="s1">&#39;textarea&#39;</span><span class="p">,</span> <span class="nx">attributes</span><span class="o">:</span> <span class="p">[],</span> <span class="k">default</span><span class="o">:</span> <span class="s1">&#39;Default value&#39;</span><span class="p">)</span>
<a id="__codelineno-2-21" name="__codelineno-2-21" href="#__codelineno-2-21"></a> <span class="p">;</span>
<a id="__codelineno-2-22" name="__codelineno-2-22" href="#__codelineno-2-22"></a> <span class="p">}</span>
<a id="__codelineno-2-23" name="__codelineno-2-23" href="#__codelineno-2-23"></a><span class="p">}</span>
</code></pre></div>
<p>Create a template:</p>
<div class="highlight"><span class="filename">templates/builder_block/custom.html.twig</span><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>&lt;div id=&quot;{{ id }}&quot;&gt;
@ -1897,8 +1899,7 @@ Then, implement the method <code>configure</code> as below.</p>
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a>&lt;/div&gt;
</code></pre></div>
<p>That's all folks!</p>
<p><img alt="" src="/_static/img/editors/builder2.png" />
<img alt="" src="/_static/img/editors/builder3.png" /></p>
<p><img alt="" src="/_static/img/editors/builder3.png" /></p>
<h2 id="rendering">Rendering</h2>
<p>To render blocks, simply use <code>{{ value|block_to_html }}</code>.</p>
<p>If you need to build variables depending of the content, you can override the method <code>buildVars</code>:</p>