<?xml version="1.0"?>
<rss version="2.0"><channel><title>RockPageBuilder Latest Topics</title><link>https://processwire.com/talk/forum/68-rockpagebuilder/</link><description>RockPageBuilder Latest Topics</description><language>en</language><item><title>[SOLVED] No title field with Add New Page in PW anymore after hideTitle true</title><link>https://processwire.com/talk/topic/29462-solved-no-title-field-with-add-new-page-in-pw-anymore-after-hidetitle-true/</link><description><![CDATA[<p>
	After reviewing RPB for a long time(and having a few issues) I now decided to use it in projects.<br />
	But now... problems show up and I don't know how to approach this.
</p>

<p>
	<strong>Setup:</strong><br />
	A Onepager, SPA<br />
	A few RPB fields like rockpagebuilder_events or rockpagebuilder_news ... with blocks assigned.<br />
	RPB 5.0.3 PW 3.0.229
</p>

<p>
	In this setup I don't need the title field in my blocks, so I sett them all to 'hideTitle' =&gt; true<br />
	It worked.<br />
	Some time after that I noticed that when adding a new PW page with no RPB blocks, just a simple PW for imprint or privacy ploicy, only the name field shows up, no title field:
</p>

<p>
	<img alt="image.png.1173cf784c3ee1c20dee5c4a82e3200f.png" class="ipsImage ipsImage_thumbnailed" data-fileid="25839" data-ratio="50.62" style="height:auto;" width="648" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_01/image.png.1173cf784c3ee1c20dee5c4a82e3200f.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	Even when creating a new template no default title is added.<br />
	After generating a name and saving the new page no error about the required title is thrown. The page will be created with an empty title! After that the title fie3ld is shown.
</p>

<p>
	I commented out //hideTitle =&gt; true in a all blocks, but the problem remains.
</p>

<p>
	I manually deleted all cached and compiled files and now I am puzzled with this.<br />
	No additional hooks or anything.<br />
	Where do I look? What to do? How do I go about this?
</p>

<p>
	Could be connected to another problem I will post next.
</p>
]]></description><guid isPermaLink="false">29462</guid><pubDate>Wed, 17 Jan 2024 09:35:57 +0000</pubDate></item><item><title>[SOLVED] Feature request: a shouldRender() method for blocks</title><link>https://processwire.com/talk/topic/31396-solved-feature-request-a-shouldrender-method-for-blocks/</link><description><![CDATA[<p>
	One of the things that I have to work around in a current site is <em>lots</em> of dynamic content. Content in blocks may change depending on values from other pages, dates/times, or updates from external sources such as APIs. Many of these are automated via hooks.
</p>

<p>
	My example is events and activities. Events can become active, tickets go on sale, be cancelled, end, etc. This is a block for "Featured Activities"
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_08/image.png.e9d9eca1cda223614ff630b265453935.png" rel="external nofollow"><img alt="image.thumb.png.dc5efee4439cfc8ae616a23ffb41258e.png" class="ipsImage ipsImage_thumbnailed" data-fileid="28285" data-ratio="58.43" style="width:700px;height:auto;" width="1000" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_08/image.thumb.png.dc5efee4439cfc8ae616a23ffb41258e.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<ul>
	<li>
		Activities are selected by a person editing a page. They can choose as many activities as desired but only 3 are shown on the page
	</li>
	<li>
		If the date of an activity passes, or tickets are sold out, it is removed from the featured activities (automatically via hook)
	</li>
	<li>
		When one is removed another is rotated in (automatically via hook)
	</li>
	<li>
		If there are no more featured activities (all of the dates have past, or tickets are sold out) the block should no longer be output to the page.
	</li>
</ul>

<p>
	These are featured on many pages across the site with a lot of automation and updating them manually would be a very terrible thing <span class="ipsEmoji">🤣</span> I have a handful of blocks that do stuff like this.
</p>

<p>
	The idea is a shouldRender() method for Block classes. By default it returns true but may be overridden to control whether a block will show up on the page.
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php

  </span><span class="com">/**
   * Whether this block should be rendered. Called before a block is output to the page.
   * @return bool
   */</span><span class="pln">
  </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> shouldRender</span><span class="pun">()</span><span class="pln">
  </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
  </span><span class="pun">}</span></pre>

<p>
	I have something like this cobbled together already in my code but I have to add an if statement to all of the block views that need this. I also use it for things like image galleries that shouldn't render if the image field is empty. It would be really nice native feature <span class="ipsEmoji">😎</span>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">31396</guid><pubDate>Sun, 03 Aug 2025 04:51:52 +0000</pubDate></item><item><title>Custom Thumbnails not visible in module settings after upgrade</title><link>https://processwire.com/talk/topic/31373-custom-thumbnails-not-visible-in-module-settings-after-upgrade/</link><description><![CDATA[<p>
	Hi <a contenteditable="false" data-ipshover="" data-ipshover-target="https://processwire.com/talk/profile/2137-bernhard/?do=hovercard" data-mentionid="2137" href="https://processwire.com/talk/profile/2137-bernhard/" rel="">@bernhard</a>,
</p>

<p>
	I just upgraded RPB from v5.x to latest 6.6.0.
</p>

<p>
	The custom thumbnails links are broken, even after a Modules Refresh. They have a wrong path .../modules/RockPageBuilder/...
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_07/image.png.8be6c894363265db419e1a25b86af567.png" data-fileid="28255" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="28255" data-ratio="47.10" width="1000" alt="image.thumb.png.56296b10021b22cd95649c0acff17fce.png" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_07/image.thumb.png.56296b10021b22cd95649c0acff17fce.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	That path doen't exist and should be .../modules/RockFields/buttons..., I guess.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="28256" data-ratio="74.44" width="313" alt="image.png.a527db9a03f1b9364fc461b3120c4e8e.png" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_07/image.png.a527db9a03f1b9364fc461b3120c4e8e.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	Problem seems to be in RockFields/buttons/preview.php L5
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_07/image.png.60f081fa780744bef95949353db4f0c9.png" data-fileid="28257" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="28257" data-ratio="12.10" width="1000" alt="image.thumb.png.195bfeb50533d268592af12ce1c81d8b.png" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_07/image.thumb.png.195bfeb50533d268592af12ce1c81d8b.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	After changing this to 
</p>

<div style="background-color:#1f1f1f;color:#cccccc;font-size:16px;">
	<div>
		<span style="color:#9cdcfe;">$url</span><span style="color:#d4d4d4;"> = </span><span style="color:#dcdcaa;">wire</span><span style="color:#d4d4d4;">()-&gt;</span><span style="color:#9cdcfe;">config</span><span style="color:#d4d4d4;">-&gt;</span><span style="color:#9cdcfe;">urls</span><span style="color:#d4d4d4;">-&gt;</span><span style="color:#9cdcfe;">siteModules</span><span style="color:#d4d4d4;"> </span><span style="color:#d4d4d4;">.</span><span style="color:#d4d4d4;"> </span><span style="color:#ce9178;">'RockFields/buttons/'</span><span style="color:#d4d4d4;">;</span>
	</div>
</div>

<p>
	it is working
</p>
]]></description><guid isPermaLink="false">31373</guid><pubDate>Mon, 21 Jul 2025 09:32:11 +0000</pubDate></item><item><title>Settings showIf not showing if</title><link>https://processwire.com/talk/topic/30889-settings-showif-not-showing-if/</link><description><![CDATA[<p>
	I tried to create a showIf with two select fields but couldn't get it to work properly. I copy/pasted the example from the docs directly in case I was missing something but I still can't get it to work.
</p>

<p>
	My attempt:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php

$settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">([</span><span class="pln">
    </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'image_location_horizontal'</span><span class="pun">,</span><span class="pln">
    </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Image Location'</span><span class="pun">,</span><span class="pln">
    </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $field</span><span class="pun">-&gt;</span><span class="pln">input</span><span class="pun">(</span><span class="str">'image_location_horizontal'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
        </span><span class="str">'*right'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Right'</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'left'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Left'</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'center'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Center'</span><span class="pun">,</span><span class="pln">
    </span><span class="pun">]),</span><span class="pln">
</span><span class="pun">]);</span><span class="pln">

$settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">([</span><span class="pln">
    </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'body_location_vertical'</span><span class="pun">,</span><span class="pln">
    </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Body Location'</span><span class="pun">,</span><span class="pln">
    </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $field</span><span class="pun">-&gt;</span><span class="pln">input</span><span class="pun">(</span><span class="str">'body_location_vertical'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
        </span><span class="str">'*above_feature'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Above Feature'</span><span class="pun">,</span><span class="pln">
        </span><span class="str">'below_feature'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Below Feature'</span><span class="pun">,</span><span class="pln">
    </span><span class="pun">]),</span><span class="pln">
    </span><span class="str">'showIf'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'image_location_horizontal=center'</span><span class="pun">,</span><span class="pln">
</span><span class="pun">]);</span></pre>

<p>
	Tried searching to see if this has come up for anyone else but didn't see anything.
</p>
]]></description><guid isPermaLink="false">30889</guid><pubDate>Wed, 15 Jan 2025 21:53:06 +0000</pubDate></item><item><title>[Solved] Getting Error: Call to a member function render() on string after adding Content-Element</title><link>https://processwire.com/talk/topic/31282-solved-getting-error-call-to-a-member-function-render-on-string-after-adding-content-element/</link><description><![CDATA[<p>
	I just reinstall Processwire with latest RockPageBuilder (6.5.2). After adding a Content-Element (Afred oder Backend) I get an error:
</p>

<p>
	 
</p>

<p>
	Error:
</p>

<p>
	<br />
	Call to a member function render() on string search►<br />
	RockDevTools LiveReload is active    
</p>

<p>
	File: .../modules/RockPageBuilder/RockPageBuilder.module.php:1596
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">1586:      }
1587:    
1588:      /**
1589:       * Render content of blocks field
1590:       */
1591:      public function render($renderPlus = true)
1592:      {
1593:        $page = $this-&gt;wire-&gt;page;
1594:        $field = $page-&gt;getFormatted(self::field_blocks);
1595:        if (!$field) return;
1596:        $html = $field-&gt;render($renderPlus);
1597:        $rf = $this-&gt;wire-&gt;rockfrontend;
1598:        if ($rf) return $rf-&gt;html($html);
1599:        return $html;
1600:      }</span></pre>

<p>
	In Latte-Template:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">{if $modules-&gt;isInstalled('RockPageBuilder')}
</span><span class="tag">&lt;main</span><span class="pln"> </span><span class="atn">sortable</span><span class="tag">&gt;</span><span class="pln">
  {$rockpagebuilder-&gt;render(true)}
</span><span class="tag">&lt;/main&gt;</span><span class="pln">
{else}</span></pre>

<p>
	If I delete the Content-Element it works like expected.
</p>
]]></description><guid isPermaLink="false">31282</guid><pubDate>Tue, 03 Jun 2025 11:00:58 +0000</pubDate></item><item><title>[solved] Fluency not working in title and none TinyMCE-Textfields in a Builder Block</title><link>https://processwire.com/talk/topic/31235-solved-fluency-not-working-in-title-and-none-tinymce-textfields-in-a-builder-block/</link><description><![CDATA[<p>
	Hi,
</p>

<p>
	translations, populated from Fluency (2.1.1), for the title- and text-fields are not getting saved anymore, when they are in a builder block (RPB 6.5.1). An exception is, when it is a TinyMCE field.
</p>

<p>
	When I cut the translated string out and then paste back in (or typing it manual), then it gets also saved - what makes me question if that has maybe something to do with the changes in RPB 6.5 and 6.5.1. Also, when I choose the option to edit the field in a new window - as a "normal" ProcessWire page, then there also everything is working as expected.
</p>

<p>
	On an old version for RPB (5.4.3) and Fluency (1.0.7), everything works normal.
</p>

<p>
	Is there also, for future debugging, a way to "intercept" where the information of the field gets lost? The js-console of the browser seems not very helpful here. Everything looks normal, and the only feedback is the code 200 from the fluence request.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="28013" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_05/example_fluency_rpb.png.8555bb75513f230a5564e3bbb59dbb1c.png" rel=""><img alt="example_fluency_rpb.png" class="ipsImage ipsImage_thumbnailed" data-fileid="28013" data-ratio="87.11" style="height:auto;" width="861" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_05/example_fluency_rpb.thumb.png.2fcf485ca509a5fbd978bb60b98ada5e.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	 
</p>

<p>
	Edit the field in a new window - as a "normal" ProcessWire page:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="28014" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_05/example_fluency_rpb2.png.df6fd47b9b6c41c9c4ca576da1f1e3c6.png" rel=""><img alt="example_fluency_rpb2.png" class="ipsImage ipsImage_thumbnailed" data-fileid="28014" data-ratio="59.8" style="height:auto;" width="1000" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_05/example_fluency_rpb2.thumb.png.90a1ec9cdfdff62a64a98c7df6b8c3b1.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	------------- EDIT
</p>

<p>
	With the actual Fluency 2.1.2 and RockPageBuilder 6.7, the problem seems to be fixed.
</p>
]]></description><guid isPermaLink="false">31235</guid><pubDate>Tue, 06 May 2025 15:56:49 +0000</pubDate></item><item><title>[SOLVED] Define blocks once, share across RPB fields</title><link>https://processwire.com/talk/topic/31217-solved-define-blocks-once-share-across-rpb-fields/</link><description><![CDATA[<p>
	<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://processwire.com/talk/profile/2137-bernhard/?do=hovercard" data-mentionid="2137" href="https://processwire.com/talk/profile/2137-bernhard/" rel="">@bernhard</a> I am almost certain that this is a repeat question but my efforts to find the original answer if it exists have come up short.</span>
</p>

<p>
	<span>I have two RPB fields and I'd like to have all of the blocks that were created and located in the original RPB field available to the second field without replicating the block folders themselves.</span>
</p>

<p>
	Field 1 (original field): rockpagebuilder_blocks<br />
	Field 2 (additional field): rockpagebuilder_blocks_2
</p>

<p>
	Thus far all of the blocks have been created in the original blocks field, I'd like the same blocks to be available to the second field. I created an empty folder for rockpagebuilder_blocks_2 as blocks_2.
</p>

<p>
	<img alt="image.png.d33a1e3921d98897616ff7c46de77492.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27984" data-ratio="202.22" style="height:auto;" width="270" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2025_04/image.png.d33a1e3921d98897616ff7c46de77492.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	I can't remember if this is possible or if there is a file I need to add to the folder, or rename blocks_2 to something else? I've tried renaming the folder to rockpagebuilder_blocks_2 but no dice. Does it require copying all of the blocks from one directory to another?
</p>

<p>
	Thanks!
</p>
]]></description><guid isPermaLink="false">31217</guid><pubDate>Wed, 23 Apr 2025 18:40:47 +0000</pubDate></item><item><title>Migration for a Block Type - is there an API to create Block Types</title><link>https://processwire.com/talk/topic/31191-migration-for-a-block-type-is-there-an-api-to-create-block-types/</link><description><![CDATA[<p>
	Hi <a contenteditable="false" data-ipshover="" data-ipshover-target="https://processwire.com/talk/profile/2137-bernhard/?do=hovercard" data-mentionid="2137" href="https://processwire.com/talk/profile/2137-bernhard/" rel="">@bernhard</a>,
</p>

<p>
	I created a new block type `Questions` through the GUI. All files and template `rockpagebuilderblock-questions` were created in that process.
</p>

<p>
	When I deployed that to our staging server, the template for that block was not created.
</p>

<p>
	So I had to add that template `rockpagebuilderblock-questions` to my RockMigrations to make the block work on staging. Is this normal behavior?
</p>

<p>
	Is there an API method that I could use instead of the template migration? Couldn't find it in the docs.
</p>

<p>
	Fields for that block are managed through the migrate method in site/RockPageBuilder/blocks/Questions.php. So the template migration is somewhat redundant. 
</p>
]]></description><guid isPermaLink="false">31191</guid><pubDate>Wed, 09 Apr 2025 12:35:50 +0000</pubDate></item><item><title>A snippet to add additional support for detecting "hidden" changes in RPB blocks</title><link>https://processwire.com/talk/topic/31153-a-snippet-to-add-additional-support-for-detecting-hidden-changes-in-rpb-blocks/</link><description><![CDATA[<p>
	<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://processwire.com/talk/profile/2137-bernhard/?do=hovercard" data-mentionid="2137" href="https://processwire.com/talk/profile/2137-bernhard/" rel="">@bernhard</a> I was working on some blocks in RPB and noticed that there were some edge cases where changes weren't being detected by RPB. I ran into this with the trash icon on RepeaterMatrix items. Clicking it checks a hidden checkbox programmatically and doesn't emit a change event, so it's pretty much invisible to everything else that isn't RepeaterMatrix code.</span>
</p>

<p>
	<span>I added this mutation observer to InputfieldRockPageBuilder.js to watch for elements that have had the 'InputfieldStateChanged' class added.</span>
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted"><span class="com">// trigger changed event when InputfieldStateChanged is added to elements</span><span class="pln">
$</span><span class="pun">(</span><span class="pln">document</span><span class="pun">).</span><span class="pln">on</span><span class="pun">(</span><span class="str">'ready'</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">const</span><span class="pln"> rpbItemsObserver </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MutationObserver</span><span class="pun">(</span><span class="pln">mutations </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    mutations</span><span class="pun">.</span><span class="pln">forEach</span><span class="pun">(</span><span class="pln">mutation </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">mutation</span><span class="pun">.</span><span class="pln">target</span><span class="pun">.</span><span class="pln">classList</span><span class="pun">.</span><span class="pln">contains</span><span class="pun">(</span><span class="str">'InputfieldStateChanged'</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="typ">RockPageBuilder</span><span class="pun">.</span><span class="pln">changed</span><span class="pun">(</span><span class="pln">mutation</span><span class="pun">);</span><span class="pln">
      </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
  </span><span class="pun">});</span><span class="pln">

  $</span><span class="pun">(</span><span class="str">'.rpb-items'</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_</span><span class="pun">,</span><span class="pln"> rpbItem</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    rpbItemsObserver</span><span class="pun">.</span><span class="pln">observe</span><span class="pun">(</span><span class="pln">rpbItem</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
      childList</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
      subtree</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
      attributes</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
      attributeFilter</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="str">'class'</span><span class="pun">]</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
  </span><span class="pun">});</span><span class="pln">
</span><span class="pun">});</span></pre>

<p>
	In my testing this took care of some edge cases where changes aren't visible to RPB. Could be helpful for handling other sneaky inputs as well <span class="ipsEmoji">👍</span>
</p>
]]></description><guid isPermaLink="false">31153</guid><pubDate>Sat, 29 Mar 2025 02:57:37 +0000</pubDate></item><item><title>RockpageBuilder changes only apply in frontend</title><link>https://processwire.com/talk/topic/31159-rockpagebuilder-changes-only-apply-in-frontend/</link><description><![CDATA[<p>
	Hi Processwire Community,
</p>

<p>
	I got stuck. Changes that I apply to any RockPageBuilder Block only get stored in frontend editing.<br />
	Changes made in the Processwire Backend get ignored. Even as admin.
</p>

<p>
	RockPageBuilder 5.2.0<br />
	ProcessWire 3.0.229
</p>

<p>
	Any suggestions for me? I have no further idea.
</p>

<p>
	Thanx a lot
</p>
]]></description><guid isPermaLink="false">31159</guid><pubDate>Wed, 02 Apr 2025 11:36:49 +0000</pubDate></item><item><title>Sharing some Rock Page Builder buttons</title><link>https://processwire.com/talk/topic/30484-sharing-some-rock-page-builder-buttons/</link><description><![CDATA[<p>
	Hey all!
</p>

<p>
	I've been creating new block/widget buttons for the current project I'm working on and wanted to share them in case they may be useful to others. They're SVGs intended to complement the style of buttons that come with RockPageBuilder.
</p>

<p>
	This post has been updated with a link to a Github repository containing all of the buttons currently available. New buttons have been added. Existing buttons have have been tweaked for quality and consistency.
</p>

<p>
	Download from or fork the <a href="https://github.com/SkyLundy/BuilderButtons" rel="external nofollow">Builder Buttons Github repository</a>
</p>

<p>
	Rather than keep this post up to date with every button that is added, visit the Github repo to see the most current example and download/clone buttons for use in your projects.
</p>

<p>
	Buttons include:
</p>

<ul>
	<li>
		Accordion
	</li>
	<li>
		Announcement
	</li>
	<li>
		Articles
	</li>
	<li>
		Audio
	</li>
	<li>
		Bios
	</li>
	<li>
		Call To Action
	</li>
	<li>
		Card Over Image
	</li>
	<li>
		Code/Embed
	</li>
	<li>
		Events
	</li>
	<li>
		Image
	</li>
	<li>
		Image Carousel
	</li>
	<li>
		Image Mosaic
	</li>
	<li>
		Image Roll
	</li>
	<li>
		List
	</li>
	<li>
		Lists
	</li>
	<li>
		Products
	</li>
	<li>
		Reviews
	</li>
	<li>
		Video
	</li>
	<li>
		Weather
	</li>
</ul>

<p>
	Preview (not in order of list)
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="27454" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/preview.png.830552fcdb01289e4311a9cf1f2da496.png" rel=""><img alt="preview.thumb.png.d07d5e782ed2fc9b76f0f566088c9d21.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27454" data-ratio="95.54" style="height:auto;" width="785" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/preview.thumb.png.d07d5e782ed2fc9b76f0f566088c9d21.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	 
</p>

<p>
	If you find them useful, let me know what you think!
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">30484</guid><pubDate>Tue, 08 Oct 2024 19:35:33 +0000</pubDate></item><item><title>Error: Exception: Method RockFrontend::styles does not exist...</title><link>https://processwire.com/talk/topic/31078-error-exception-method-rockfrontendstyles-does-not-exist/</link><description><![CDATA[<p>
	Hi,
</p>

<p>
	I'm desperately trying to install RPB. PW 3.0.244 (), RPB 6.2.0 with php 8.2. I followed all instructions (<a href="https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/setup/" rel="external nofollow">https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/setup/</a>).
</p>

<p>
	This is the frontend:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="typ">What</span><span class="pln"> the</span><span class="pun">…</span><span class="pln"> </span><span class="typ">Error</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Exception</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Method</span><span class="pln"> </span><span class="typ">RockFrontend</span><span class="pun">::</span><span class="pln">styles does </span><span class="kwd">not</span><span class="pln"> exist </span><span class="kwd">or</span><span class="pln"> </span><span class="kwd">is</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> callable </span><span class="kwd">in</span><span class="pln"> </span><span class="kwd">this</span><span class="pln"> context </span><span class="pun">(</span><span class="kwd">in</span><span class="pln"> wire</span><span class="pun">/</span><span class="pln">core</span><span class="pun">/</span><span class="typ">Wire</span><span class="pun">.</span><span class="pln">php line </span><span class="lit">563</span><span class="pun">)</span><span class="pln">

</span><span class="com">#0 wire/core/Wire.php (419): Wire-&gt;___callUnknown('styles', Array)</span><span class="pln">
</span><span class="com">#1 wire/core/WireHooks.php (968): Wire-&gt;_callMethod('___callUnknown', Array)</span><span class="pln">
</span><span class="com">#2 wire/core/Wire.php (484): WireHooks-&gt;runHooks(Object(RockFrontend), 'callUnknown', Array)</span><span class="pln">
</span><span class="com">#3 wire/core/Wire.php (487): Wire-&gt;__call('callUnknown', Array)</span><span class="pln">
</span><span class="com">#4 site/templates/_init.php (9): Wire-&gt;__call('styles', Array)</span><span class="pln">
</span><span class="com">#5 wire/core/TemplateFile.php (314): require('/Users/neophron...')</span><span class="pln">
</span><span class="com">#6 wire/core/Wire.php (413): TemplateFile-&gt;___render()</span><span class="pln">
</span><span class="com">#7 wire/core/WireHooks.php (968): Wire-&gt;_callMethod('___render', Array)</span><span class="pln">
</span><span class="com">#8 wire/core/Wire.php (484): WireHooks-&gt;runHooks(Object(TemplateFile), 'render', Array)</span><span class="pln">
</span><span class="com">#9 wire/modules/PageRender.module (581): Wire-&gt;__call('render', Array)</span><span class="pln">
</span><span class="com">#10 wire/core/Wire.php (416): PageRender-&gt;___renderPage(Object(HookEvent))</span><span class="pln">
</span><span class="com">#11 wire/core/WireHooks.php (968): Wire-&gt;_callMethod('___renderPage', Array)</span><span class="pln">
</span><span class="com">#12 wire/core/Wire.php (484): WireHooks-&gt;runHooks(Object(PageRender), 'renderPage', Array)</span><span class="pln">
</span><span class="com">#13 wire/core/WireHooks.php (1094): Wire-&gt;__call('renderPage', Array)</span><span class="pln">
</span><span class="com">#14 wire/core/Wire.php (484): WireHooks-&gt;runHooks(Object(HomePage), 'render', Array)</span><span class="pln">
</span><span class="com">#15 wire/modules/Process/ProcessPageView.module (193): Wire-&gt;__call('render', Array)</span><span class="pln">
</span><span class="com">#16 wire/modules/Process/ProcessPageView.module (114): ProcessPageView-&gt;renderPage(Object(HomePage), Object(PagesRequest))</span><span class="pln">
</span><span class="com">#17 wire/core/Wire.php (416): ProcessPageView-&gt;___execute(true)</span><span class="pln">
</span><span class="com">#18 wire/core/WireHooks.php (968): Wire-&gt;_callMethod('___execute', Array)</span><span class="pln">
</span><span class="com">#19 wire/core/Wire.php (484): WireHooks-&gt;runHooks(Object(ProcessPageView), 'execute', Array)</span><span class="pln">
</span><span class="com">#20 index.php (55): Wire-&gt;__call('execute', Array)</span><span class="pln">
</span><span class="com">#21 {main}</span><span class="pln">

</span><span class="typ">This</span><span class="pln"> error message was shown because</span><span class="pun">:</span><span class="pln"> you are logged </span><span class="kwd">in</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> a </span><span class="typ">Superuser</span><span class="pun">.</span><span class="pln"> </span><span class="typ">Error</span><span class="pln"> has been logged</span><span class="pun">.</span></pre>

<p>
	I'm installing the Rockfrontend and Rockmigrations modules by »Add Module from directory«. Since the RPB zip file is too big for the »Add Module from upload«, I'm uploading it to the modules directory. Everything works fine in the backend.
</p>

<p>
	I'm afraid, that I missed something, cause meanwhile there are differences in the installation video and the latest version. Like the field »rockpagebuilder_blocks« is already attached to the home.php.
</p>
]]></description><guid isPermaLink="false">31078</guid><pubDate>Thu, 27 Feb 2025 16:36:39 +0000</pubDate></item><item><title>[SOLVED] Event listener in InputfieldRockPageBuilder.js getting false positives for RPB content changes</title><link>https://processwire.com/talk/topic/31119-solved-event-listener-in-inputfieldrockpagebuilderjs-getting-false-positives-for-rpb-content-changes/</link><description><![CDATA[<p>
	Heyo,
</p>

<p>
	Just ran into a conflict between RPB and other fields on the page. I'm using a custom inputfield that uses <a href="https://quilljs.com/" rel="external nofollow">Quill</a> as the editor. There's an event listener that is catching changes in an instance of a Quill input while the field is located outside of RPB blocks.
</p>

<p>
	InputfieldRockPageBuilder.js  L327
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted"><span class="com">// monitor inline ckeditor fields</span><span class="pln">
$</span><span class="pun">(</span><span class="pln">document</span><span class="pun">).</span><span class="pln">on</span><span class="pun">(</span><span class="str">"blur keyup paste input"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"[contenteditable]"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="typ">RockPageBuilder</span><span class="pun">.</span><span class="pln">changed</span><span class="pun">(</span><span class="pln">e</span><span class="pun">);</span><span class="pln">
</span><span class="pun">});</span></pre>

<p>
	Quill uses a contenteditable attribute for the editor so an instance of that field anywhere on the page is triggering a RPB field update event.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted"><span class="com">// monitor inline ckeditor fields</span><span class="pln">
$</span><span class="pun">(</span><span class="pln">document</span><span class="pun">).</span><span class="pln">on</span><span class="pun">(</span><span class="str">"blur keyup paste input"</span><span class="pun">,</span><span class="pln"> </span><span class="str">".rpb-item [contenteditable]"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="typ">RockPageBuilder</span><span class="pun">.</span><span class="pln">changed</span><span class="pun">(</span><span class="pln">e</span><span class="pun">);</span><span class="pln">
</span><span class="pun">});</span></pre>

<p>
	I scoped the event listener selector by adding .rpb-item and that kept it from firing when editing a Quill field, but I don't have any CKEditor fields to test whether that affects other fields.
</p>

<p>
	"That fixed it for me, don't know if it breaks something for someone else." <span class="ipsEmoji">😆</span>
</p>
]]></description><guid isPermaLink="false">31119</guid><pubDate>Sat, 15 Mar 2025 22:09:36 +0000</pubDate></item><item><title>RockPageBuilder (formerly RockMatrix) &#x1F680;&#x1F525;</title><link>https://processwire.com/talk/topic/29209-rockpagebuilder-formerly-rockmatrix-%F0%9F%9A%80%F0%9F%94%A5/</link><description><![CDATA[<p>
	I'm thrilled to announce the official release of RockPageBuilder, the game-changing tool that's set to transform your web development journey (at least ChatGPT says so <span class="ipsEmoji">?</span><span class="ipsEmoji">?</span>)! With its brand new drag-and-drop interface RockPageBuilder is your secret weapon for creating outstanding ProcessWire-based websites.
</p>

<p>
	Get a taste of the future of web development by visiting the demo page at <a href="https://pagebuilder.baumrock.com/" rel="external nofollow">https://pagebuilder.baumrock.com/</a> and exploring the RockPageBuilder documentation at <a href="https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/" rel="external nofollow">https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/</a>
</p>

<p>
	Don't miss out on this exciting opportunity to elevate your web development game. Get ready to rock with RockPageBuilder! <span class="ipsEmoji">?</span><span class="ipsEmoji">?️</span>
</p>

<p>
	<a href="https://www.baumrock.com/processwire/module/rockpagebuilder/" rel="external nofollow">https://www.baumrock.com/rockpagebuilder/</a>
</p>

<p>
	Here is a quick demo video:
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" title="RockPageBuilder Drag and Drop Page Builder for ProcessWire" width="200" data-embed-src="https://www.youtube-nocookie.com/embed/nc1MB8NFFOc?feature=oembed"></iframe>
	</div>
</div>

<p>
	And here is how to install it from scratch in under 5 minutes:
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" title="RockPageBuilder Installation - Drag and Drop Page Builder for ProcessWire" width="200" data-embed-src="https://www.youtube-nocookie.com/embed/ulImisUs7zQ?feature=oembed"></iframe>
	</div>
</div>

<p>
	Some showcase projects are already in the pipeline <span class="ipsEmoji">?</span> So be sure to subscribe to <a href="https://processwire.rocks/" rel="external nofollow">https://processwire.rocks/</a> or to <a href="https://www.baumrock.com/rock-monthly/" rel="external nofollow">https://www.baumrock.com/rock-monthly/</a>
</p>

<p>
	Have a great weekend!
</p>
]]></description><guid isPermaLink="false">29209</guid><pubDate>Fri, 03 Nov 2023 21:53:25 +0000</pubDate></item><item><title>Tips for creating reusable settings</title><link>https://processwire.com/talk/topic/30881-tips-for-creating-reusable-settings/</link><description><![CDATA[<p>
	<strong>Hey there!</strong> I posted this before I took advantage of a feature in RockPageBuilder to manage globally sharable settings for blocks in RPB. <a contenteditable="false" data-ipshover="" data-ipshover-target="https://processwire.com/talk/profile/2137-bernhard/?do=hovercard" data-mentionid="2137" href="https://processwire.com/talk/profile/2137-bernhard/" rel="">@bernhard</a> has since added some very nice features that make my tips below a little out of date. I recommend <a href="https://processwire.com/talk/topic/30881-tips-for-creating-reusable-settings/?do=findComment&amp;comment=246799" rel="">viewing his comment below</a> and taking advantage of RPB's new native solution. Thanks to Bernhard for his ongoing work of making RPB event better for developers and users <span class="ipsEmoji">👏</span>
</p>

<p>
	----------
</p>

<p>
	Sharing a strategy that I have found useful when working with blocks and block settings.
</p>

<p>
	I use the block settings feature heavily and in many instances most blocks have some of the same settings fields. To help make managing these easier, I created a workflow to help me manage these and it's saved me a good amount of time while being able to reuse settings between projects very easily. In my case, some of these are:
</p>

<ul>
	<li>
		Spacing between blocks/sections on the page
	</li>
	<li>
		Background/accent colors
	</li>
	<li>
		Content location within blocks
	</li>
	<li>
		Block presentation
	</li>
</ul>

<p>
	My approach is to create a dedicated class with static methods that return a settings array. Example:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php
</span><span class="com">// /site/init.php</span><span class="pln">

</span><span class="com">/**
 *  This creates a namespace for a /site/templates/RockPageBuilderSupport directory
 */</span><span class="pln">
wire</span><span class="pun">(</span><span class="str">'classLoader'</span><span class="pun">)-&gt;</span><span class="pln">addNamespace</span><span class="pun">(</span><span class="str">'RockPageBuilderSupport'</span><span class="pun">,</span><span class="pln"> __DIR__ </span><span class="pun">.</span><span class="pln"> </span><span class="str">'/templates/RockPageBuilderSupport'</span><span class="pun">);</span></pre>

<p>
	This file contains the fast helper methods that create settings fields
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php

</span><span class="com">// /site/templates/RockPgeBuilderSupport/BlockSettings.php</span><span class="pln">

</span><span class="kwd">namespace</span><span class="pln"> </span><span class="typ">RockPageBuilderSupport</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">use</span><span class="pln"> </span><span class="typ">ProcessWire</span><span class="pln">\RockFieldsField</span><span class="pun">;</span><span class="pln">

</span><span class="com">/**
 * Reusable block settings
 */</span><span class="pln">
</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">BlockSettings</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> sectionPresentation</span><span class="pun">(</span><span class="pln">
        </span><span class="typ">RockFieldsField</span><span class="pln"> $field</span><span class="pun">,</span><span class="pln">
        array $config </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
        array $additionalValues </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
    </span><span class="pun">):</span><span class="pln"> array </span><span class="pun">{</span><span class="pln">
        $name </span><span class="pun">=</span><span class="pln"> </span><span class="str">'section_presentation'</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $name</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Section Presentation'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $field</span><span class="pun">-&gt;</span><span class="pln">input</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="str">'*normal'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Normal'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'standalone'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Standalone'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'standalone_drop_shadow'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Standalone + Drop Shadow'</span><span class="pun">,</span><span class="pln">
                </span><span class="pun">...</span><span class="pln">$additionalValues</span><span class="pun">,</span><span class="pln">
            </span><span class="pun">]),</span><span class="pln">
            </span><span class="pun">...</span><span class="pln">$config</span><span class="pun">,</span><span class="pln">
        </span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> bodyWidth</span><span class="pun">(</span><span class="pln">
        </span><span class="typ">RockFieldsField</span><span class="pln"> $field</span><span class="pun">,</span><span class="pln">
        array $config </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
        array $additionalValues </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
    </span><span class="pun">):</span><span class="pln"> array </span><span class="pun">{</span><span class="pln">
        $name </span><span class="pun">=</span><span class="pln"> </span><span class="str">'body_width'</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $name</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Body Width'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $field</span><span class="pun">-&gt;</span><span class="pln">input</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="str">'*constrained'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Constrained'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'full'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Full'</span><span class="pun">,</span><span class="pln">
                </span><span class="pun">...</span><span class="pln">$additionalValues</span><span class="pun">,</span><span class="pln">
            </span><span class="pun">]),</span><span class="pln">
            </span><span class="pun">...</span><span class="pln">$config</span><span class="pun">,</span><span class="pln">
        </span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> backgroundColor</span><span class="pun">(</span><span class="pln">
        </span><span class="typ">RockFieldsField</span><span class="pln"> $field</span><span class="pun">,</span><span class="pln">
        array $config </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
        array $additionalValues </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
    </span><span class="pun">):</span><span class="pln"> array </span><span class="pun">{</span><span class="pln">
        $name </span><span class="pun">=</span><span class="pln"> </span><span class="str">'background_color'</span><span class="pun">;</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $name</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Background Color'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'value'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $field</span><span class="pun">-&gt;</span><span class="pln">input</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> </span><span class="str">'select'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="str">'*white'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'White'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'seafoam'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Seafoam'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'champagne'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Champagne'</span><span class="pun">,</span><span class="pln">
                </span><span class="str">'none'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'None'</span><span class="pun">,</span><span class="pln">
                </span><span class="pun">...</span><span class="pln">$additionalValues</span><span class="pun">,</span><span class="pln">
            </span><span class="pun">]),</span><span class="pln">
            </span><span class="pun">...</span><span class="pln">$config</span><span class="pun">,</span><span class="pln">
        </span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// ...as many commonly used settings methods as you need</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	Settings are easily reusable in any block.
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pun">&lt;?</span><span class="pln">php

declare</span><span class="pun">(</span><span class="pln">strict_types</span><span class="pun">=</span><span class="lit">1</span><span class="pun">);</span><span class="pln">

</span><span class="kwd">namespace</span><span class="pln"> </span><span class="typ">RockPageBuilderBlock</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">use</span><span class="pln"> </span><span class="typ">ProcessWire</span><span class="pln">\RockFieldsField</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">use</span><span class="pln"> </span><span class="typ">RockPageBuilder</span><span class="pln">\{</span><span class="typ">Block</span><span class="pun">,</span><span class="pln"> </span><span class="typ">BlockSettingsArray</span><span class="pun">};</span><span class="pln">
</span><span class="kwd">use</span><span class="pln"> </span><span class="typ">RockPageBuilderSupport</span><span class="pln">\BlockSettings</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">BlogFeed</span><span class="pln"> </span><span class="kwd">extends</span><span class="pln"> </span><span class="typ">Block</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

    </span><span class="kwd">const</span><span class="pln"> prefix </span><span class="pun">=</span><span class="pln"> </span><span class="str">"rpb_blogfeed_"</span><span class="pun">;</span><span class="pln">

    </span><span class="com">/**
     * Block config info
     */</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> info</span><span class="pun">():</span><span class="pln"> array
    </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="str">'title'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'News Article Feed'</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'description'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'An array of blog posts'</span><span class="pun">,</span><span class="pln">
            </span><span class="com">// ...other info</span><span class="pln">
        </span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">/**
     * Runtime block settings
     */</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> settingsTable</span><span class="pun">(</span><span class="typ">RockFieldsField</span><span class="pln"> $field</span><span class="pun">):</span><span class="pln"> </span><span class="typ">BlockSettingsArray</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">
        $settings </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getDefaultSettings</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">);</span><span class="pln">

        $settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">
            </span><span class="typ">BlockSettings</span><span class="pun">::</span><span class="pln">bodyWidth</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">

        $settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">
            </span><span class="typ">BlockSettings</span><span class="pun">::</span><span class="pln">bodyLocationVertical</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">

        $settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">
            </span><span class="typ">BlockSettings</span><span class="pun">::</span><span class="pln">actionLocationVertical</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">,</span><span class="pln"> config</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">"Below 'view all' link"</span><span class="pln">
            </span><span class="pun">])</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">

        $settings</span><span class="pun">-&gt;</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">
            </span><span class="typ">BlockSettings</span><span class="pun">::</span><span class="pln">sectionPresentation</span><span class="pun">(</span><span class="pln">$field</span><span class="pun">,</span><span class="pln"> additionalValues</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
                </span><span class="str">'full'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Full news feed design'</span><span class="pun">,</span><span class="pln">
            </span><span class="pun">])</span><span class="pln">
        </span><span class="pun">);</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> $settings</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// ... ommitted for brevity</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	This has helped me easily manage common settings for 20 different blocks by editing the settings in one place. By adding the $config and $additionalValues parameters to the BlockSettings methods, overrides can be added when individual blocks need customization. Thanks to the runtime nature of block settings, making these changes on the fly is extremely easy.
</p>

<p>
	This has saved me a lot of time and helps keep things organized. I was able to carry over the bulk of my work with settings from one project to another and it really helped out a lot.
</p>

<p>
	Would love to hear if others out there have developed some tips and tricks that help you build your sites!
</p>
]]></description><guid isPermaLink="false">30881</guid><pubDate>Wed, 15 Jan 2025 05:47:45 +0000</pubDate></item><item><title>Combine RPB resources such as JS and CSS</title><link>https://processwire.com/talk/topic/30947-combine-rpb-resources-such-as-js-and-css/</link><description><![CDATA[<p>
	hi there,
</p>

<p>
	so i wonder if there's a way to combine all these resources (as the minifiy option in rockfrondend) and to avoid the many roundups for each css or js-file and make them cachable as well:
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/bundle/main.min.css?m=1737183638'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/modules/RockFields/assets/RockPageBuilder.min.css?m=1728917624'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Accordion/Accordion.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Accordion/Accordion.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/ArtikelMitBild/ArtikelMitBild.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/ArtikelMitBild/ArtikelMitBild.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Hero/Hero.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Hero/Hero.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Text/Text.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/RockPageBuilder/blocks/Text/Text.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/styles/admin.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/styles/admin.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/styles/main.min.css?m=1732860349'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/styles/main.min.css?m=1732860349'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/less/_global.min.css?m=1732859882'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/less/_global.min.css?m=1732859882'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;link</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">'/site/templates/webfonts/webfonts.min.css?m=1731931045'</span><span class="pln"> </span><span class="atn">rel</span><span class="pun">=</span><span class="atv">'stylesheet'</span><span class="tag">&gt;</span><span class="pln">
  </span><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">'/site/templates/uikit/dist/js/uikit.min.js?m=1727317894'</span><span class="tag">&gt;&lt;/script&gt;</span><span class="pln">
  </span><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">'/site/templates/uikit/dist/js/uikit-icons.min.js?m=1727317894'</span><span class="tag">&gt;&lt;/script&gt;</span><span class="pln">
  </span><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">'/site/templates/scripts/main.min.js?m=1731931045'</span><span class="pln"> </span><span class="atn">defer</span><span class="tag">&gt;&lt;/script&gt;</span></pre>

<p>
	best
</p>

<p>
	karsten
</p>
]]></description><guid isPermaLink="false">30947</guid><pubDate>Sat, 18 Jan 2025 07:17:58 +0000</pubDate></item><item><title>[SOLVED] rockpagebuilderblock-logos changes system "title" field</title><link>https://processwire.com/talk/topic/30825-solved-rockpagebuilderblock-logos-changes-system-title-field/</link><description><![CDATA[<p>
	I started setting up a website and then in the process installed RockPageBuilder (and installed all the example blocks). Before that I have set the system "title" field to "TextLanguage". 
</p>

<p>
	Now I wondered why my Headlines lost their multilanguage settings and saw that log:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">Fields: Deleted field "title" data in 0 row(s) from 0 page(s) using template "rockpagebuilderblock-logos". [page-by-page] +2</span></pre>

<p>
	I'm not sure how that template does that and where?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">30825</guid><pubDate>Thu, 26 Dec 2024 11:10:05 +0000</pubDate></item><item><title>Multi Language with PageBuilder</title><link>https://processwire.com/talk/topic/30824-multi-language-with-pagebuilder/</link><description><![CDATA[<p>
	Just getting into PageBuilder (and still figuring out PW in general).
</p>

<p>
	Where I was stuck currently is how the get the blocks working with multilingual fields.
</p>

<p>
	For example I simply wanted to have the /RockPageBuilder/blocks/Text example block to show the TinyMCE Inline field as Multilanguage Textarea.
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="com">// from RockPageBuilder/blocks/Text/Text.php..</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> migrate</span><span class="pun">()</span><span class="pln">
  </span><span class="pun">{</span><span class="pln">
    $rm </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">rockmigrations</span><span class="pun">();</span><span class="pln">
    $rm</span><span class="pun">-&gt;</span><span class="pln">migrate</span><span class="pun">([</span><span class="pln">
      </span><span class="str">'fields'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
        </span><span class="kwd">self</span><span class="pun">::</span><span class="pln">field_text </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
          </span><span class="str">'type'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'textarea'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'inputfieldClass'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'InputfieldTinyMCE'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'contentType'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="typ">FieldtypeTextarea</span><span class="pun">::</span><span class="pln">contentTypeHTML</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Text'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'rows'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="lit">5</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'icon'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'align-left'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'inlineMode'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
          </span><span class="com">// 'rpb-nolabel' =&gt; true, // hide label in backend</span><span class="pln">
          </span><span class="str">'settingsFile'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'/site/modules/RockMigrations/TinyMCE/text.json'</span><span class="pun">,</span><span class="pln">
          </span><span class="str">'textformatters'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="str">'TextformatterRockFrontend'</span><span class="pun">,</span><span class="pln">
          </span><span class="pun">],</span><span class="pln">
        </span><span class="pun">],</span><span class="pln">
      </span><span class="pun">],</span><span class="pln">
      </span><span class="str">'templates'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">getTplName</span><span class="pun">()</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
          </span><span class="str">'fields'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
            </span><span class="typ">RockPageBuilder</span><span class="pun">::</span><span class="pln">field_eyebrow</span><span class="pun">,</span><span class="pln">
            </span><span class="str">'title'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
              </span><span class="str">'label'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Headline'</span><span class="pun">,</span><span class="pln">
              </span><span class="str">'icon'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'header'</span><span class="pun">,</span><span class="pln">
            </span><span class="pun">],</span><span class="pln">
            </span><span class="kwd">self</span><span class="pun">::</span><span class="pln">field_text</span><span class="pun">,</span><span class="pln">
          </span><span class="pun">],</span><span class="pln">
        </span><span class="pun">],</span><span class="pln">
      </span><span class="pun">],</span><span class="pln">
    </span><span class="pun">]);</span><span class="pln">
  </span><span class="pun">}</span></pre>

<p>
	in the Accordion example block is the easy solution:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">'type' =&gt; $this-&gt;wire-&gt;languages ? 'textareaLanguage' : 'textarea',</span></pre>

<p>
	Maybe this should be in every example block and in the vs code snippets, cause that would've saved me some time.
</p>
]]></description><guid isPermaLink="false">30824</guid><pubDate>Thu, 26 Dec 2024 10:32:07 +0000</pubDate></item><item><title>[SOLVED] Selecting a RockIcon is only saved if the value of another field in the same block has been changed</title><link>https://processwire.com/talk/topic/30730-solved-selecting-a-rockicon-is-only-saved-if-the-value-of-another-field-in-the-same-block-has-been-changed/</link><description><![CDATA[<p>
	I have a RockIcon field in a block that will only save if another field within the same block is changed. I noticed that updating a field such as text logs 'RockPageBuilder changed' to the console but selecting an icon from a RockIcon field doesn't. Would that indicate that the change to the icon field is not being recognized on save?
</p>
]]></description><guid isPermaLink="false">30730</guid><pubDate>Wed, 04 Dec 2024 02:46:55 +0000</pubDate></item><item><title>[SOLVED] JavaScript error - 'invalid json in alfred' but I'm not outputting any json to the block</title><link>https://processwire.com/talk/topic/30634-solved-javascript-error-invalid-json-in-alfred-but-im-not-outputting-any-json-to-the-block/</link><description><![CDATA[<p>
	First time I've run into this. I have a block called "Quote" and I've used it on one template but started getting this error when using it on a different template.
</p>

<p>
	<img alt="image.png.33c219ea3d8b6ee388d1682fcaea6d10.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27427" data-ratio="36.87" style="width:575px;height:auto;" width="653" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.33c219ea3d8b6ee388d1682fcaea6d10.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	I removed all of my block markup but still getting the error.
</p>

<p>
	<img alt="image.png.743fc237599ca75acba326adbffd446a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27426" data-ratio="18.14" style="height:auto;" width="590" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.743fc237599ca75acba326adbffd446a.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	It looks like the {alfred($block)} call is inserting JSON into the element
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="27425" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.18b18fd88758f759866abcbc8aee83e2.png" rel=""><img alt="image.thumb.png.6da06aa4735600e09eca64a7c98ec189.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27425" data-ratio="4.30" style="height:auto;" width="1000" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.thumb.png.6da06aa4735600e09eca64a7c98ec189.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	I feel like there's something I'm missing but can't figure out what would be causing it and not sure where to start looking.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">30634</guid><pubDate>Fri, 15 Nov 2024 22:57:19 +0000</pubDate></item><item><title><![CDATA[Drag&Drop multi-colour sections]]></title><link>https://processwire.com/talk/topic/30328-dragdrop-multi-colour-sections/</link><description><![CDATA[<p>
	Almost any website that I build needs some kind of differently coloured sections... Unfortunately this is not so easy to accomplish. I've come up with several concepts over the time, but this one is very cool and promising imho <span class="ipsEmoji">?</span>
</p>

<p>
	<img alt="dct1yMZ.gif" class="ipsImage" data-ratio="75.08" height="750" style="height:auto;" width="764" data-src="https://i.imgur.com/dct1yMZ.gif" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	Anybody interested in more details or is that something nobody needs? How did/do you solve that?
</p>
]]></description><guid isPermaLink="false">30328</guid><pubDate>Thu, 22 Aug 2024 09:35:43 +0000</pubDate></item><item><title>RockMigrations/magicpage Fatel error</title><link>https://processwire.com/talk/topic/30647-rockmigrationsmagicpage-fatel-error/</link><description><![CDATA[<p>
	So i updated my MAMP local host (do you recommend useing this) <br />
	Now it says this. 
</p>

<p>
	Php 8.1.29<br />
	MySQL: 5.4.44<br />
	SQL Port: 3306
</p>

<p>
	Ever tried this? Seems to have lost my progression <span><span class="ipsEmoji">😞</span></span>
</p>

<p>
	<span style="background-color:#dc143c;color:#ffffff;font-size:16px;">Dangit… Fatal Error: Trait "RockMigrations\MagicPage" not found (line 11 of<span> </span></span><u style="background-color:#dc143c;color:#ffffff;font-size:16px;">site/classes/HomePage.php</u><span style="background-color:#dc143c;color:#ffffff;font-size:16px;">)</span>
</p>
]]></description><guid isPermaLink="false">30647</guid><pubDate>Thu, 21 Nov 2024 13:33:55 +0000</pubDate></item><item><title>Values for a field populate across all fields of the same type</title><link>https://processwire.com/talk/topic/30628-values-for-a-field-populate-across-all-fields-of-the-same-type/</link><description><![CDATA[<p>
	This may be an issue when using the ProFields Custom Field.
</p>

<p>
	I have a block that contains a Custom Field. That custom field contains a Page Reference field (single), Page Reference field (multiple), and a number input. When I create several blocks containing this field the values become unmanageable. They all appear in all blocks and can't be ordered in any of them.
</p>

<p>
	I have several of these blocks and each should have only 3 or 4, but they are all rendered with all of them.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/1191959480_Screenshotfrom2024-11-1420-36-01.png.da1d9af002932d07294c525847b28a95.png" data-fileid="27419" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="27419" data-ratio="89.82" width="835" alt="236399534_Screenshotfrom2024-11-1420-36-01.thumb.png.7b03a09d1ce4c6bd535c2a64e37789de.png" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/236399534_Screenshotfrom2024-11-1420-36-01.thumb.png.7b03a09d1ce4c6bd535c2a64e37789de.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	I did do some digging and found that the custom fields are not prefixed as a repeater field in the request data when saving the page, so each of these Page Reference field with multiple pages selected are all returned as a single variable array.<br />
	 
</p>

<p>
	I've attached a txt file with the POST request parameters and it shows the following variable repeated without a repeater suffix:
</p>

<p>
	event_activities_select_activities[]
</p>

<p>
	Which may need to be handled as something like:
</p>

<p>
	event_activities_select_activities_repeater5783[]
</p>

<p>
	<em>This is just a guess...</em> I could be off on that, but the only constant that I could see in the issues when rendering is that every block has the same event_activities_select_activities variable without a way for it to be processed individually by block.
</p>

<p>
	That's what I could pull together while experimenting.
</p>

<p>
	Something that's fixable? I have to determine if I need to rewrite the blocks to use different fields <span class="ipsEmoji">😵</span>‍<span class="ipsEmoji">💫</span>
</p>

<p>
	 
</p>

<p>
	 
</p>
<p>
<a class="ipsAttachLink" href="https://processwire.com/talk/applications/core/interface/file/attachment.php?id=27420&amp;key=f6b7e7575cdd2737fa8da9d56e37b04e" data-fileExt='txt' data-fileid='27420' data-filekey='f6b7e7575cdd2737fa8da9d56e37b04e'>rpb_blocks_custom_fields_request.txt</a></p>]]></description><guid isPermaLink="false">30628</guid><pubDate>Fri, 15 Nov 2024 06:06:04 +0000</pubDate></item><item><title>[SOLVED] TinyMCE not visible in rpb blocks</title><link>https://processwire.com/talk/topic/30626-solved-tinymce-not-visible-in-rpb-blocks/</link><description><![CDATA[<p>
	Hi
</p>

<p>
	I'm struggeling to view the TinyMCE menu en toolbar in the different rpb blocks (in backend and frontend)
</p>

<ul>
	<li>
		PW 3.0.242 en rpb 5.9.1
	</li>
	<li>
		TineMCE 6.1.8
	</li>
	<li>
		Front-end-page-editor (Core)
	</li>
</ul>

<p style="text-align:center;">
	<img alt="image.png.eff8bd58f835d6ad4ed655c78e182ce4.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27417" data-ratio="74.97" style="height:auto;" width="823" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.eff8bd58f835d6ad4ed655c78e182ce4.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	In<strong> rpb_text_text: </strong>
</p>

<p>
	  <img alt="image.png.348a2b41d6fcbc729018ba54e22a21bc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27413" data-ratio="53.79" style="height:auto;" width="277" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.348a2b41d6fcbc729018ba54e22a21bc.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />    
</p>

<p>
	in <strong>rpb_accordion_item_content</strong> 
</p>

<p>
	d  <img alt="image.png.7dc9872b5a301d1c69904fe00bca3691.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27414" data-ratio="137.75" style="height:auto;" width="249" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.7dc9872b5a301d1c69904fe00bca3691.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" />
</p>

<p>
	and so on
</p>

<p>
	Hopefully someone can point out what I'm missing here?  I suspect (as usual) it will be something minor.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.0f51e3173d3a853c243296df0c242601.png" data-fileid="27415" data-fileext="png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27415" data-ratio="81.82" style="height:auto;" width="198" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/image.png.0f51e3173d3a853c243296df0c242601.png" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" /></a>
</p>
]]></description><guid isPermaLink="false">30626</guid><pubDate>Thu, 14 Nov 2024 15:53:59 +0000</pubDate></item><item><title>Modal window is acting wierd all of a sudden with rockpagebuilder</title><link>https://processwire.com/talk/topic/30621-modal-window-is-acting-wierd-all-of-a-sudden-with-rockpagebuilder/</link><description><![CDATA[<p>
	Anyone tried this happening??? (See img)
</p>

<p>
	And know what to do?
</p>

<p><a href="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/2007439459_Screenshot2024-11-12at15_06_01.png.33d6c8bb4188114da24f3bbd707a87bf.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="27406" src="https://processwire.com/talk/applications/core/interface/js/spacer.png" data-src="//processwire-forums.s3.us-west-2.amazonaws.com/monthly_2024_11/430193501_Screenshot2024-11-12at15_06_01.thumb.png.17309ae11ff9a2467e665b0d0cc8add7.png" data-ratio="55.5" width="1000" class="ipsImage ipsImage_thumbnailed" alt="Screenshot 2024-11-12 at 15.06.01.png"></a></p>]]></description><guid isPermaLink="false">30621</guid><pubDate>Tue, 12 Nov 2024 14:08:15 +0000</pubDate></item></channel></rss>
