9

I'm trying to return entries where a specific field named "productSale" is not empty. Unfortunately, my code attempts keep throwing the "Expected name or number" error.

Code attempts include:

{% set products = craft.entries.section('product').productSale.(':notempty:').find() %}
{% set products = craft.entries.section('product').productSale.('not null').find() %}
{% set products = craft.entries.section('product').productSale.('is not null').find() %}
{% set products = craft.entries.section('product').productSale.('not empty').find() %}

Three questions then:

  1. What is the "Expected name or number" error saying exactly?
  2. Where in the available docs (Craft or Twig) would I look for explanation on this? I didn't find much in my first pass.
  3. How do I return entries where a specific field is "not empty"
Anna_MediaGirl
  • 2,503
  • 2
  • 17
  • 45

1 Answers1

18

1. "Expected name or number" error

The parser is expecting a method/property after the dot of productSale, but you are passing arguments. Removing the dot to make it valid:

{% set products = craft.entries.section('product').productSale(':notempty:') %}

.

2. Documentation

There is no documentation on this yet, but it is listed in the release notes:

Added support for passing “:empty:” and “:notempty:” to ElementCriteriaModel parameters when you’re looking for empty/non-empty values.

Steve Holland
  • 2,485
  • 1
  • 16
  • 31
Victor
  • 8,376
  • 1
  • 34
  • 61