PHPackages                             anytech/silverstripe-google-reviews - 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. anytech/silverstripe-google-reviews

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

anytech/silverstripe-google-reviews
===================================

elemental block for silverstripe 5 to import and display google reviews using the places api v1

v2.0.8(5mo ago)0801MITPHP

Since Oct 10Pushed 5mo agoCompare

[ Source](https://github.com/anytech/silverstripe-google-reviews)[ Packagist](https://packagist.org/packages/anytech/silverstripe-google-reviews)[ RSS](/packages/anytech-silverstripe-google-reviews/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (20)Used By (0)

anytech/silverstripe-google-reviews
===================================

[](#anytechsilverstripe-google-reviews)

Elemental block for **SilverStripe 5** to import and display Google Reviews using the **Google Places API v1**.

---

Features
--------

[](#features)

- Imports Google Reviews automatically via a CronTask
- Displays reviews in a configurable Elemental block
- Controls for minimum star rating, newest/highest order, and result limit
- SiteConfig fields for API key, Place ID, language, and rating filter

---

Requirements
------------

[](#requirements)

- `silverstripe/framework` ^5
- `dnadesign/silverstripe-elemental` ^5
- `silverstripe/crontask` ^3

---

Installation
------------

[](#installation)

```
composer require anytech/silverstripe-google-reviews

```

Rebuild and flush: vendor/bin/sake dev/build flush=all

---

Configuration
-------------

[](#configuration)

Already included `_config/anytech-googlereviews.yml`:

```
---
Name: anytech-googlereviews
After:
  - '#coreconfig'
  - '#elementalconfig'
---
SilverStripe\SiteConfig\SiteConfig:
  extensions:
    - anytech\googlereviews\Extensions\SiteConfigGoogleReviewsExtension

SilverStripe\Dev\CronTask\CronTaskController:
  tasks:
    - anytech\googlereviews\Tasks\GoogleReviewsSyncTask

SilverStripe\Core\Injector\Injector:
  Psr\SimpleCache\CacheInterface.appGoogleReviews:
    factory: SilverStripe\Core\Cache\CacheFactory
    constructor:
      namespace: "appGoogleReviews"

```

---

Setup
-----

[](#setup)

1. In CMS, go to **Settings → Google Reviews**.
2. Enter:
    - Places API Key
    - Place ID
    - Language (e.g. `en`, `en-CA`)
    - Optional: Minimum rating to import
3. Enable **Places API (New)** in Google Cloud:

---

Cron Sync
---------

[](#cron-sync)

Task class: `anytech\googlereviews\Tasks\GoogleReviewsSyncTask`

Run manually: vendor/bin/sake dev/tasks/GoogleReviewsSyncTask

---

Elemental Block
---------------

[](#elemental-block)

Class: `anytech\googlereviews\Elements\GoogleReview`

### CMS Options

[](#cms-options)

- Max reviews to show
- Minimum stars
- Order: Newest / Highest Rated
- Show avatar
- Show relative time

### Template

[](#template)

Create `themes//templates/GoogleReviews.ss`:

 &lt;% if $ShowTitle %&gt;### $Title

[](#title)

&lt;% end_if %&gt;  &lt;% loop $Reviews %&gt; &lt;% if $Top.ShowAvatar &amp;&amp; $AuthorPhotoURL %&gt; [![$AuthorName.ATT]($AuthorPhotoURL)]($AuthorPhotoURL) &lt;% end_if %&gt; ```

            $AuthorName

            $AuthorName

          $RelativeTime

          = 1 %>★
          = 2 %>★
          = 3 %>★
          = 4 %>★
          = 5 %>★

    $Text.XML

```

Optional CSS:

- `client/css/google-reviews.css` (exposed via `extra.expose`)

---

Error Handling
--------------

[](#error-handling)

If Google returns an error JSON block, the sync task echoes the code, status, and message for debugging. Example:

```
{
  "error": {
    "code": 403,
    "status": "PERMISSION_DENIED",
    "message": "Places API (New) has not been used in this project or it is disabled…"
  }
}

```

Fix by enabling the API and retrying after propagation.

---

Directory Structure
-------------------

[](#directory-structure)

```
src/
  Elements/
    GoogleReview.php
  Extensions/
    SiteConfigGoogleReviewsExtension.php
  Models/
    GoogleReview.php
  Tasks/
    GoogleReviewsSyncTask.php
client/
  css/
    google-reviews.css
_config/
  anytech-googlereviews.yml
composer.json
README.md

```

---

License
-------

[](#license)

MIT License — © Kayne Middleton

### MIT summary

[](#mit-summary)

- Permissive. Use, modify, distribute, and sublicense commercially.
- Must keep copyright and license notice.
- Provided “as is,” no warranty or liability.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance70

Regular maintenance activity

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

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 ~2 days

Total

19

Last Release

178d ago

Major Versions

v1.0.9 → v2.0.02025-10-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/5088b2c0269fdffb8151099324097ff383178dc2df03a6016c719822be478656?d=identicon)[Anytech](/maintainers/Anytech)

---

Top Contributors

[![anytech](https://avatars.githubusercontent.com/u/6244070?v=4)](https://github.com/anytech "anytech (27 commits)")

### Embed Badge

![Health badge](/badges/anytech-silverstripe-google-reviews/health.svg)

```
[![Health](https://phpackages.com/badges/anytech-silverstripe-google-reviews/health.svg)](https://phpackages.com/packages/anytech-silverstripe-google-reviews)
```

###  Alternatives

[wedevelopnl/silverstripe-elemental-grid

Elemental grid module

1014.1k2](/packages/wedevelopnl-silverstripe-elemental-grid)

PHPackages © 2026

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