Skip to content

Instantly share code, notes, and snippets.

@markhuot
Created September 29, 2022 16:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markhuot/7331d32d1ef16473d3d56e68a99f09a1 to your computer and use it in GitHub Desktop.
Save markhuot/7331d32d1ef16473d3d56e68a99f09a1 to your computer and use it in GitHub Desktop.
Craft Behaviors for Entry Query
{% set entries = craft.entries.popular().author(currentUser).limit(10) %}
<?php
namespace modules\behaviors;
use yii\base\Behavior;
class EntryQuery extends Behavior
{
function popular()
{
$query = $this->owner;
$query->isPopular(true);
$query->postDate('>= ' . (new \DateTime('-1 week'))->format('Y-m-d'));
return $query;
}
}
<?php
namespace modules\behaviors;
use craft\elements\db\EntryQuery;
class Module extends \yii\base\Module
{
function init()
{
Event::on(EntryQuery::class, EntryQuery::EVENT_DEFINE_BEHAVIORS, function ($event) {
$event->behaviors['_site_entry_query'] = \modules\behaviors\EntryQueryBehavior::class;
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment