PHPackages                             as-cornell/as\_entity\_list - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. as-cornell/as\_entity\_list

ActiveDrupal-custom-module[Utility &amp; Helpers](/categories/utility)

as-cornell/as\_entity\_list
===========================

Lists of people, articles or taxonomy term with selectors for number of items, tag filter, view mode.

v2.0.2(1mo ago)01.0k↓50%GPL-3.0-or-laterPHP

Since Oct 14Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/as-cornell/as_entity_list)[ Packagist](https://packagist.org/packages/as-cornell/as_entity_list)[ Docs](https://communications.as.cornell.edu)[ RSS](/packages/as-cornell-as-entity-list/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)DependenciesVersions (20)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/b05e919fa4ffc08670bdd42e6efc07de39bbd2fc1a839b5bc5555803b39d495f/68747470733a2f2f706f7365722e707567782e6f72672f61732d636f726e656c6c2f61735f656e746974795f6c6973742f76)](https://packagist.org/packages/as-cornell/as_entity_list)

AS ENTITY LIST (as\_entity\_list)
=================================

[](#as-entity-list-as_entity_list)

INTRODUCTION
------------

[](#introduction)

Lists of people, articles or taxonomy term with selectors for number of items, tag filter, view mode. Returns entities as a list via a twig filter for inclusion in twig templates using twig tweak.

MAINTAINERS
-----------

[](#maintainers)

Current maintainers for Drupal 10:

- Mark Wilson (markewilson)

ARCHITECTURE
------------

[](#architecture)

This module uses a service-oriented architecture with three query service classes and a Twig extension for template integration.

### Service Classes

[](#service-classes)

All entity query logic is organized into service classes under `src/Service/`:

**ArticleQueryService** (`as_entity_list.article_query`)

- `getArticles($count, $tags)` - Get articles filtered by tags
- `getArticlesFiltered($count, $tags)` - Advanced filtering with operator, sort options
- `getArticlesFooter($count, $nid)` - Get articles excluding current NID (for footer display)
- `getArticlesPerson($count, $nid)` - Get articles related to person (field\_related\_people)
- `getArticlesPersonAs($count, $nid)` - Get articles related to person (field\_related\_people\_nodes)
- `getArticlesDepartment($count, $tags)` - Get articles filtered by department/program

**PersonQueryService** (`as_entity_list.person_query`)

- `getPeople($count, $tags)` - Get people sorted alphabetically by last name
- `getPeopleDepartment($count, $tags)` - Get people filtered by department with advanced options
- `getPeopleResearch($count, $tags)` - Get people filtered by research area

**TermQueryService** (`as_entity_list.term_query`)

- `getTerms($type, $count)` - Get terms from a vocabulary
- `getTermsFiltered($type, $count, $tags)` - Advanced term filtering for DPC/MMG lists

### Twig Extension

[](#twig-extension)

**buildEntityList** (`as_entity_list.buildEntityList`)

Extends Twig with the `build_entity_list()` function for use in templates:

```
{{ build_entity_list(type, count, tags, nid) }}
```

**Supported Types:**

- `article` - Articles filtered by tags
- `article_as` - Articles with advanced filtering
- `article_footer` - Articles for footer (excludes current)
- `article_person` - Articles by person (field\_related\_people)
- `article_person_as` - Articles by person (field\_related\_people\_nodes)
- `article_department` - Articles by department/program
- `person` - People alphabetically
- `person_department` - People by department
- `person_research` - People by research area
- `dpc_as` - Department/Program/Center terms filtered
- `mmg_as` - Major/Minor/Gradfield terms filtered
- `academic_interests` - Academic interest terms
- `research_areas` - Research area terms

### Usage Example

[](#usage-example)

```
{# Get 5 latest articles #}
{% set articles = build_entity_list('article', 5, null, null) %}

{# Get 10 people from a specific department #}
{% set department_tags = [{'termvariables': [...], 'operator': 'and', 'sort': 'alphabetical'}] %}
{% set people = build_entity_list('person_department', 10, department_tags, null) %}

{# Get related articles for footer (exclude current article) #}
{% set related = build_entity_list('article_footer', 3, null, node.id) %}
```

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance94

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Recently: every ~86 days

Total

19

Last Release

58d ago

Major Versions

v1.0.15 → v2.0.02026-02-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/f17dcdbbef5d086a5058ec138bc2f825149a5711e83709868f43494eef805b51?d=identicon)[markewilson](/maintainers/markewilson)

---

Top Contributors

[![markewilson](https://avatars.githubusercontent.com/u/7050965?v=4)](https://github.com/markewilson "markewilson (39 commits)")

### Embed Badge

![Health badge](/badges/as-cornell-as-entity-list/health.svg)

```
[![Health](https://phpackages.com/badges/as-cornell-as-entity-list/health.svg)](https://phpackages.com/packages/as-cornell-as-entity-list)
```

###  Alternatives

[tatter/menus

Dynamic menus for CodeIgniter 4

1713.8k1](/packages/tatter-menus)[llm/mcp-server

PHP SDK for building MCP servers

431.1k](/packages/llm-mcp-server)[asorasoft/chhankitek

Convert from AD (Anno Domini) to Lunar (Chhankitek) format.

104.2k](/packages/asorasoft-chhankitek)[mohammedmanssour/super-simple-dto

Creating data transfer objects with the power of php objects

122.8k1](/packages/mohammedmanssour-super-simple-dto)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
