Questions tagged [elementcriteriamodel]

Questions having to do with Craft's ElementCriteriaModel, which is used to return a set of elements narrowed by a variety of parameters.

Filter by
Sorted by
Tagged with
22
votes
3answers
3k views

How can I get only those entries with non-empty assets field

Since Craft 2.0 it is possible to pass :empty: and :notempty: to ElementCriteriaModel parameters when you’re looking for empty/non-empty values. If you are for example looking for all entries with a ...
15
votes
1answer
1k views

How do you sort elements queried from multiple channels?

This is how I query elements from multiple channels: {% set allEntries = craft.entries.section(['publication','text', 'exhibition']).limit(null) %} I now want to sort all these entries by a custom ...
12
votes
2answers
1k views

What are the differences between an elementCriteriaModel and fetched elements?

I am a little confused about the differences between an elementCriteriaModel and fetched elements. Why do I sometimes have to fetch elements with first(), last(), find(): {% set entries = craft....
12
votes
2answers
1k views

How to find entries with no category

I have a field categories in a channel news, and I want to find all the entries in news that don't have a category set. I know I could loop over the entries and find them that way, but I'm hoping to ...
11
votes
3answers
3k views

How to search for a specific field using getCriteria()?

I'm looking at making a plugin and need to search news entries. I can use: $criteria = craft()->elements->getCriteria(ElementType::Entry); $criteria->section = 'news'; $find = $criteria->...
8
votes
1answer
7k views

Order entries by date field

I have a channel section with a handle named 'events'. In my field layout for this section I have a field named eventsDate, which is a Date/Time field. I also have a plain text field called '...
7
votes
1answer
1k views

How can I do more complicated queries with an ElementCriteriaModel?

I need to join my 3rd party table with a standard ElementCriteriaModel (ECM). I'd like to start with an ordinary ECM, so my plugin will be compatible with any element type which may exist, now or in ...
7
votes
1answer
745 views

Eager loading of reverse related elements?

Is it possible to load reverse related elements? I mean if the elements I’m querying are the target elements? Example: I’m setting up a criteria model to get some categories and I also want to load ...
6
votes
3answers
597 views

Fetch entries with special characters in title

When trying to fetch an entry with special characters in the title, it doesn't seem to match. $criteria = craft()->elements->getCriteria(ElementType::Entry); $criteria->title = "Title,with,...
6
votes
1answer
446 views

Display thumbnail using defineTableAttributes for a custom Element Type

Hi, I'm new to Craft and VERY new to plugin development. I'd like to display a thumbnail image in my table list view and thought it would be possible to accomplish using a new Custom Element Type. ...
6
votes
1answer
1k views

How can I follow relations in ElementCriteriaModels from plugin code?

In Twig code you can use craft->entries->relatedTo to do all sorts of neat things. From plugin code I am not sure how this works? $c = craft()->elements->getCriteria(ElementType::Entry)...
6
votes
1answer
782 views

Get related entry data within a plugin (ElementCriteriaModel) without extra queries

I have the following code: $criteria = craft()->elements->getCriteria(ElementType::Entry); $criteria->section = 'submissions'; // Loop foreach ($criteria as $entry) { echo $entry->id....
6
votes
1answer
543 views

How can I return specific matrix rows based on criteria?

So let's say I have the following code. I have the data to retrieve the entry I want, But I only want to return some of the matrix rows based on some criteria. Example Code: {% set entryId = 1 %} {% ...
5
votes
1answer
497 views

Get the type of action and the elements(s) that an action is being performed on when listening to elements.onPerformAction?

I have a plugin that needs to do something when an entry is deleted. I've recently discovered that the entries.deleteEntry event is not fired when deleting bulk entries (the list view with checkboxes) ...
5
votes
1answer
975 views

How do I get elements using getCriteria from a specific date?

I'm trying to get elements in a section created on a specific date. How do I do that? This is what I've been trying with: $criteria = craft()->elements->getCriteria(ElementType::...
5
votes
2answers
440 views

Fetch all unused assets?

How could I go about fetching all assets that are not currently beeing used anywhere?
5
votes
1answer
560 views

How can you return elements between two values?

I my be in a bit of a "wood for the trees" situation but how is it possible to return elements based on a custom field being between two supplied values. For example returning users based on a number ...
5
votes
2answers
999 views

How to retrieve entries from two entry-types ordered by different date-fields?

I have two entry-types, 'Events' and 'Reports'. 'Events' have a matrix-field ('eventMultiDate') that allows authors to assign multiple dates to an event (recurring). 'Reports' have the default '...
5
votes
1answer
169 views

Many entry fields, only one db request?

Craft 101: I have entries with many different fields, so I'm doing something like this: {% set var = craft.entries.section('foo').slug('bar').first() %} {% if var %} {{ var.field1 }} {{ var....
5
votes
1answer
950 views

How can I create an ElementCriteriaModel with 'and' and 'or'

In my template, I want to: Get all the entries in the section 'uploads'; Get all the assets that are related to one of the upload entries, and have a relation to all the tags I provide. So, that ...
5
votes
1answer
486 views

In the Element API plugin, how can I get only tags that are related to a particular section?

I tried to get all tags that are related to an section. Everything I tried failed. Is there a way to get all assigned tags for a particular element type by using element criteria model. In this case ...
5
votes
1answer
842 views

How to fetch matrix block items with the ElementAPI

I have a question regarding the ElementAPI: I am sucessfully using the ElementAPI to fetch assets related to an entry. Now I have a matrix field where a user can add multiple galleries (multiple ...
5
votes
1answer
902 views

Returning specific fields with elementCriteriaModel

I'm writing a plugin that adds or updates users profiles in Craft from a JSON file. Every user profile could have a lot of custom fields in the future which store a lot of data. To check if a user ...
5
votes
1answer
210 views

How could I make related entries load faster?

I need to show a list of users (around 400). No problem, the list loads in 1.5s, for which I could use {% cache %} to speed it up. Now, the problem arises whenever I want to display the title of an ...
4
votes
2answers
1k views

How do I find the closest parent entry with an Assets field filled in?

I have a structure that goes up to 4 levels deep. Each page has a field for a 'hero' image. If a child page does not have this field filled out I would like to traverse up the structure and find the ...
4
votes
1answer
1k views

Complex logic on a ElementCriteriaModel parameter?

How would you combine multiple logical expressions on a ElementCriteriaModel parameter? You could query twice and then merge the two returned arrays of entry models, but that probably wouldn't allow ...
4
votes
2answers
469 views

Ability to SUM() or GROUP BY from the template or ElementCriteriaModel

After twitter conversation with Brandon Kelly, is it possible to implement something similar to the following? craft.entries.section("mySection").sum("myCustomField")
4
votes
1answer
638 views

Modify ElementCriteria and use it for paginate

First some context. I'm using Smart Map for Craft to display some location based events in a listing. My structure is as follows: Events channel Locations channel Each event can occur multiple times,...
4
votes
3answers
675 views

Template Hook + Caching

A portion of my template is being cached, using the standard cache tag: {% cache %} Within that cached section of the template, I'm using a template hook: {% hook 'myTemplateHook' %} Within that ...
4
votes
1answer
650 views

How can I output a list of categories that are not empty?

In other words, categories must have at least one enabled entry assigned to them.
4
votes
1answer
704 views

Using search to display entries based on a value in a number field

I'm trying to return results based on a year stored in a custom field. For example, returning entries with a model year greater than 2006 and less than 2009. Is there a search syntax to support this? ...
4
votes
2answers
455 views

What's the difference between ElementCriteriaModel and DbCommand?

Forgive me if this is a stupid or naive question... I generally think of an ElementCriteriaModel as being a "search object". Specifically, it's a search object which revolves around a specific type ...
4
votes
1answer
270 views

Get entries that's not already listed

I have a bunch of entries in a section called 'artikkel'. The 14 first of these entries are listed out in another section called 'forside'. Now I need to list out the entries that's not already been ...
4
votes
1answer
166 views

Is it possible for an Element Type to return multiple content tables with the getContentTableForElementsQuery() method?

I'm building a plugin where each Element created has a unique content table associated with it. Each individual Element behaves as needed, however, when I try to create an index page that returns all ...
4
votes
1answer
734 views

Query to element criteria

Is it possible to turn a query into an element criteria model? Currently I'm doing this: $criteria = craft()->elements->getCriteria('Conference_Session'); $criteria->conferenceId = $...
4
votes
1answer
924 views

Related to entries in categories in a plugin

Ok I can do this in twig but after searching high and low I can't find a good example of how to do it in a plugin. I have a user profile field called interests which holds an array of what they are ...
4
votes
1answer
407 views

How to create a query to group alternate language pages?

I'm trying to create a sitemap for a site with multiple locales. An example of the format is described here, but as a quick summary: I need to output locales of related translated pages aside one ...
4
votes
1answer
89 views

Store categories in array by level in controller

I'm making a plugin and I need to get an array from a certain category group where the levels of the array are the same as the level of the categories in the group. So I used the following code to ...
4
votes
1answer
342 views

multi-select OR values to filter entries

preface: i'm new to craft so may get terminology incorrect basic idea: i would like to show entries of a particular channel which have multi-select field values which intersect with another set of ...
3
votes
1answer
567 views

Infinite getPrev and getNext?

I know how to display every next entry, but is it possible when there is no next entry it displays the first one and if there isn’t a previous display the last entry?
3
votes
1answer
685 views

ElementCriteriaModel exclude list of ids

I'm trying to exclude a list of ids from a query using an ElementCriteriaModel This is what I have so far, but it's resulting in nothing coming back when I'm expecting at least 1 result. Is something ...
3
votes
1answer
800 views

Ordering of ElementCriteriaModel with varying statuses

I have a built a little plugin that calls the Twitter API to add new Tweets from a user timeline as entries, so that I can return them in an ElementCriteriaModel request to be integrated with content ...
3
votes
1answer
53 views

Performance when loading lots of Elements but only need limited data

The performance of the ElementCriteriaModel for lookups is killing me. I have 300 or so "People" entries in a craft site and trying to load them just for a basic listing page takes forever. There's ...
3
votes
1answer
78 views

A more economical method of building an archive menu?

I seem to be having trouble with the performance of my site (on localhost) after including this object. Im using it to build a menu for an archive of the posts section which has about 2,500 entries ...
3
votes
1answer
411 views

Querying for an exact match on a Matrix block field with multiple types

I'm trying to query against a specific field value in a Matrix field with multiple block types, and I've tried multiple approaches with no success. It either returns 0 results, or all blocks ...
3
votes
2answers
263 views

Smart Map - Sorting for closest location in PHP

I want to sort entries with a Smart Map address field for closest location. I know how it should be done in a template: {% set entries = craft.entries.myAddress(params).order('distance').find() %} ...
3
votes
1answer
745 views

Add custom element criteria attribute without a field type?

Is a custom field type and making use of modifyElementsQuery the only way to add my own craft.entries element criteria model attribute to modify the elements query? What if I do not want to add a new ...
3
votes
1answer
906 views

Build Query relatedTo multiple categories

Trying to build a complex query and I'm sure there is bound to be a better way of doing it that the multiple if statements I currently have. URL for the page is /products/(category1)/(category2)/(...
3
votes
1answer
111 views

How do I query two relationship fields where one relationship MUST be empty?

I have two relationship fields. I am trying to query all entries where the first field is related to a particular element and the second field is related to nothing. Here is how I thought it would ...
3
votes
1answer
674 views

How can I query for entries that have one of two Lightswitch fields enabled?

I have two Lightswitch fields – lightswitchA and lightswitchB – and I need to pull all entries in a certain section, that have one or both of these fields enabled. Is it possible to execute such a ...