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"
  • 1
    Try removing the dot after productSale: productSale(':notempty:')
    – Victor
    Commented Jun 24, 2014 at 22:20
  • 1
    Do you know where in the docs I can find ":notempty:"? Commented Jun 24, 2014 at 22:26
  • Glad I could help, I'll added it as an answer.
    – Victor
    Commented Jun 24, 2014 at 22:28

1 Answer 1


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.