PHPackages                             ahebrank/eva - 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. [Templating &amp; Views](/categories/templating)
4. /
5. ahebrank/eva

Abandoned → [drupal/eva](/?search=drupal%2Feva)Drupal-module[Templating &amp; Views](/categories/templating)

ahebrank/eva
============

Attach a view to an entity

2960631.x-dev(8y ago)21.6k2PHP

Since Aug 6Pushed 6y ago2 watchersCompare

[ Source](https://github.com/ahebrank/eva)[ Packagist](https://packagist.org/packages/ahebrank/eva)[ RSS](/packages/ahebrank-eva/feed)WikiDiscussions 8.x-2.x Synced today

READMEChangelogDependenciesVersions (18)Used By (0)

```
ABOUT

"Eva" is short for "Entity Views Attachment;" it provides a Views display
plugin that allows the output of a View to be attached to the content of any
Drupal entity. The body of a node or comment, the profile of a user account,
or the listing page for a Taxonomy term are all examples of entity content.

The placement of the view in the entity's content can be reordered on the
"Field Display" administration page for that entity, like other fields added
using the Field UI module.

In addition, the unique ID of the entity the view is attached to -- as well as
any tokens generated from that entity -- can be passed in as arguments to the
view. For example, you might make a View that displays posts with an 'Author
ID' argument, then use Eva to attach the view to the User entity type. When a
user profile is displayed, the User's ID will be passed in as the argument to
the view magically.

That's right: magically.

Eva is powered by witchcraft.

HISTORY

Eva was originally developed by Jeff Eaton but never released. Larry Garfield
later cleaned it up and added the CCK integration, then released it under the
name 'Views Attach.' Endless confusion followed, as everyone thought it would
allow them to attach things to Views. Then Jeff Eaton refactored it for Drupal
7. Then they renamed it again, because they didn't want to write an upgrade
path.

Why *isn't* there an upgrade path? This version is built on top of Drupal 7's
Entity API as a single unified Views Display, while the D6 version juggled
NodeAPI and hook_user. While there's definitely feature parity, enough has
changed that cleanly upgrading a view from Views Attach 6.x-2.0 is essentially
impossible. They feel bad about it, and would accept patches that implemented
a well-tested upgrade path, but don't have the bandwidth to implement it
ourselves.

REQUIREMENTS

- Drupal 8

AUTHOR AND CREDIT

Original development: Jeff Eaton "eaton" (http://drupal.org/user/16496)

Actual D6 release, and version 2.0: Larry Garfield "Crell"
(http://drupal.org/user/26398)

D7 port and tomfoolery: Jeff Eaton "eaton" (http://drupal.org/user/16496)

D8 port started by Mike Kadin "mkadin" (https://www.drupal.org/u/mkadin) and
rounded out by Andy Hebrank "ahebrank" (https://www.drupal.org/u/ahebrank).
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50.8% 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

Unknown

Total

1

Last Release

3000d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5023646?v=4)[ahebrank](/maintainers/ahebrank)[@ahebrank](https://github.com/ahebrank)

---

Top Contributors

[![ahebrank](https://avatars.githubusercontent.com/u/5023646?v=4)](https://github.com/ahebrank "ahebrank (31 commits)")[![eaton](https://avatars.githubusercontent.com/u/46423?v=4)](https://github.com/eaton "eaton (18 commits)")[![mkadin](https://avatars.githubusercontent.com/u/1679344?v=4)](https://github.com/mkadin "mkadin (10 commits)")[![jonathanjfshaw](https://avatars.githubusercontent.com/u/3512385?v=4)](https://github.com/jonathanjfshaw "jonathanjfshaw (1 commits)")[![nickburridge](https://avatars.githubusercontent.com/u/37639791?v=4)](https://github.com/nickburridge "nickburridge (1 commits)")

---

Tags

drupaldrupal-8drupal-module

### Embed Badge

![Health badge](/badges/ahebrank-eva/health.svg)

```
[![Health](https://phpackages.com/badges/ahebrank-eva/health.svg)](https://phpackages.com/packages/ahebrank-eva)
```

###  Alternatives

[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3861.2M](/packages/limenius-react-bundle)[area17/laravel-auto-head-tags

Laravel Auto Head Tags helps you build the list of head elements for your app

4616.0k](/packages/area17-laravel-auto-head-tags)[jelix/wikirenderer

WikiRenderer is a library to generate HTML or anything else from wiki content.

1712.2k1](/packages/jelix-wikirenderer)[webkinder/sproutset

A Composer package for handling responsive images in Roots Bedrock + Sage + Blade projects.

281.8k](/packages/webkinder-sproutset)

PHPackages © 2026

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