Per Nergård (MVP)
OMVPSaaS CMS Developer CertificationCommerce Connect 13 Developer Certification +2
Mar 24, 2014
visibility 3467
star star star star star
(1 votes)

FPWC and blocks

A while ago I needed to implement a module that simplified should find pages, where a certain person was set as responsible, and do stuff to them. A responsible person corresponds to a page reference value stored in a localblock page reference property on each page.

Ok never tried FPWC with blocks so I Googled and found Alf Nilsson’s excellent post on the subject. Seemed simple enough so I went on and implemented the module but when I started to test it I couldn’t get it to work. 

I quickly narrowed it down to the FPWC call which for some reason didn’t return any hits. At first I thought I hade done some simple typo error when creating the criteria but no.

After a bit to much time debugging I found out that the problem was that the page reference property I was searching for was placed in a block.

I reported it to the support which first confirmed it as a bug but later canceled the bug as this behavior was by design. The reason is that FPWC hasn’t been refactored to support new content types. In Alfs blog post he searches for a string property and this actually works but this is not intended behavior.

So If you in the beginning of a project have known functions that you plan to solve by FPWC and page reference properties it might be best to avoid placing those page reference properties in a block.

Mar 24, 2014

Comments

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026