PHPackages                             seiger/sarticles - 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. [Admin Panels](/categories/admin)
4. /
5. seiger/sarticles

ActiveEvolution-cms-module[Admin Panels](/categories/admin)

seiger/sarticles
================

Blog News and Articles Management Module for Evolution CMS admin panel.

v1.2.0(1mo ago)41922GPL-3.0PHPPHP ^8.3

Since Sep 8Pushed 3w ago1 watchersCompare

[ Source](https://github.com/Seiger/sArticles)[ Packagist](https://packagist.org/packages/seiger/sarticles)[ RSS](/packages/seiger-sarticles/feed)WikiDiscussions 2.x Synced today

READMEChangelog (9)Dependencies (2)Versions (13)Used By (0)

sArticles for Evolution CMS
===========================

[](#sarticles-for-evolution-cms)

[![Latest Stable Version](https://camo.githubusercontent.com/a226da4c9d7f34fb49d9b9ae7158eb4d12b1a58a6204ca80a9734972cfee9242/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7365696765722f7361727469636c65733f6c6162656c3d76657273696f6e)](https://packagist.org/packages/seiger/sarticles)[![CMS Evolution](https://camo.githubusercontent.com/7c60e51aeffcac06f808665cb99acb6e3422e0821c3f41397c4cfeceb176ccfd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f434d532d45766f6c7574696f6e2d627269676874677265656e2e737667)](https://github.com/evolution-cms/evolution)[![PHP version](https://camo.githubusercontent.com/12758b3b7d3c589a53b62f2de01db6cc1cf205628b4f5d6f25973bdcc12bfe76/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7365696765722f7361727469636c6573)](https://camo.githubusercontent.com/12758b3b7d3c589a53b62f2de01db6cc1cf205628b4f5d6f25973bdcc12bfe76/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7365696765722f7361727469636c6573)[![License](https://camo.githubusercontent.com/f0c6efa0c6e38ce4305a43738e772c506595302177b793e2a3cde945388d8c17/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7365696765722f7361727469636c6573)](https://packagist.org/packages/seiger/sarticles)[![Issues](https://camo.githubusercontent.com/e9cb88c7c700c301b3b392997d94dda1f03d8f7b01b3f566d97bae1259f57b2c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f5365696765722f7361727469636c6573)](https://github.com/Seiger/sarticles/issues)[![Total Downloads](https://camo.githubusercontent.com/060f017c0884be16a8f78859747fdc5e41c5827b72df094f79b7ee13e3387447/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7365696765722f7361727469636c6573)](https://packagist.org/packages/seiger/sarticles)

**sArticles** is a publications, news, and blog management module for the Evolution CMS manager.

The current manager interface is rebuilt on top of **EvoUI** and **Livewire**. It works as a responsive SPA-like manager module: tabs, filters, sorting, pagination, modal forms, inline actions, and content editing update through Livewire instead of full iframe reloads.

[![sArticles publications manager](docs/assets/articles-manager.png)](docs/assets/articles-manager.png)

Features
--------

[](#features)

- Publications with multiple configurable resource types.
- EvoUI tables with table/list views, filters, search, sorting, pagination, selection, bulk-style actions, and session state.
- Future publication dates keep published records hidden on the frontend until their time.
- Large modal article editor with main fields, relations, SEO fields, multilingual tabs, and a content builder.
- Content builder blocks: RichText, SingleImg, Image and Text, YouTube, Quote, Note, ArticlePreview, Poll, Slider, Accordion, and File.
- Authors, tags, tag texts, topics, features, comments, polls, and TV parameter management.
- Native optional integrations with `sSeo`, `sLang`, `eTinyMCE`, and `dTui.editor`.
- Publication comments, rating, poll votes, view tracking, aliases, and frontend helper API.
- Configurable module settings use package defaults and save project overrides only after changes.

Screenshots
-----------

[](#screenshots)

### Article editor

[](#article-editor)

[![sArticles article editor](docs/assets/article-editor.png)](docs/assets/article-editor.png)

### Module settings

[](#module-settings)

[![sArticles module settings](docs/assets/settings.png)](docs/assets/settings.png)

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

[](#requirements)

- PHP `^8.4`
- Evolution CMS `^3.5.7`
- `evolution-cms/evo-ui` `^1.0.2`
- Livewire, as provided by the Evolution CMS/EvoUI runtime

Optional packages:

- `seiger/sseo` for SEO fields and sitemap metadata.
- `seiger/slang` for multilingual content.
- `eTinyMCE` or `dTui.editor` for rich text fields.

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

[](#installation)

Run inside the Evolution CMS `core` directory.

```
php artisan package:installrequire seiger/sarticles "*"
php artisan vendor:publish --tag=evo-ui --force
php artisan vendor:publish --provider="Seiger\\sArticles\\sArticlesServiceProvider" --tag=sarticles
php artisan migrate
```

`evolution-cms/evo-ui` owns the shared manager CSS/JS runtime. With EvoUI `1.0.2+`, `vendor:publish --tag=evo-ui --force` publishes those files through Evolution CMS symlink-aware publish declarations, so sArticles does not expose or copy assets directly from `core/vendor`.

The `sarticles` publish tag prepares package assets and the local settings directory placeholder. It does not copy the full settings file by default. sArticles reads defaults from the package and creates the project override only after settings are changed in the manager.

In Extras-based development environments the package can also be installed with the Evolution Extras command used by the project:

```
php artisan extras extras "sArticles"
```

After changing settings in the manager, project overrides are saved to:

```
core/custom/config/seiger/settings/sArticles.php

```

Upgrading From 1.x To 2.x
-------------------------

[](#upgrading-from-1x-to-2x)

sArticles 2.x keeps the public `sArticles::` facade API, but the alias is now registered by `Seiger\sArticles\sArticlesServiceProvider` at runtime.

If an older 1.x installation has the generated alias file below, remove it after upgrading:

```
core/custom/config/app/aliases/sArticles.php

```

The package no longer needs an `extra.laravel.aliases` entry in `composer.json`, and the alias file should not be copied or published manually. Provider discovery is still handled by `extra.laravel.providers`; use `extra.laravel.priority` only when a concrete provider load-order requirement appears.

Builder Render Customization
----------------------------

[](#builder-render-customization)

Builder block HTML is rendered through lowercase Laravel package views such as:

```
sarticles::render.richtext
sarticles::render.quote

```

To customize markup, copy only the needed package view into the site override path:

```
views/vendor/sarticles/render/richtext.blade.php
views/vendor/sarticles/render/quote.blade.php

```

Existing articles keep materialized HTML in the `content` column. After changing render views, refresh stored HTML explicitly:

```
php artisan sarticles:rerender --dry-run
php artisan sarticles:rerender --articles=123-10000 --chunk=200
```

Documentation
-------------

[](#documentation)

Localized documentation lives in `docs/`:

- [English](docs/en/README.md)
- [Ukrainian](docs/uk/README.md)
- [Russian](docs/ru/README.md)
- [German](docs/de/README.md)
- [French](docs/fr/README.md)
- [Polish](docs/pl/README.md)

Each language contains a user guide and a developer guide.

Quick Frontend Usage
--------------------

[](#quick-frontend-usage)

```
@php($articles = sArticles::all(10))

@foreach($articles as $article)
    {{ $article->pagetitle }}
@endforeach
```

Frontend helpers use the active-publication rule: `published = 1` and `published_at` is empty or not later than the current site time.

Useful facade methods:

- `sArticles::all($paginate = 30)`
- `sArticles::comments($paginate = 30, $articleIds = [])`
- `sArticles::getArticle($id)`
- `sArticles::getArticleByAlias($alias)`
- `sArticles::resolveArticleByUri($segments)`
- `sArticles::trackView($article)`
- `sArticles::showPoll($id)`
- `sArticles::ratingVotes($id)`
- `sArticles::setComment($id)`
- `sArticles::publishArticle()`
- `sArticles::config($key, $default = null)`

Native Integrations
-------------------

[](#native-integrations)

### EvoUI + Livewire

[](#evoui--livewire)

sArticles registers an EvoUI module panel and table/form presets. The manager UI is driven by Livewire components and package config files:

- `config/articles/table.php`
- `config/articles/modal.php`
- `config/*/table.php`
- `config/settings/form.php`

### sSeo

[](#sseo)

sArticles exposes manager and frontend hooks for SEO packages. When `sSeo` is installed, it uses those hooks to render and save SEO data for resource type `article`.

- Without `sLang`, SEO fields are shown as a standalone SEO area in the article modal.
- With `sLang`, SEO fields are attached to each language flow.
- In multisite projects, SEO data is saved under the article owner's site key instead of a shared `default` key.

### sLang

[](#slang)

When `sLang` is installed, article modal tabs are generated from the language configuration. Shared article data remains global, while translated fields and content are saved per language.

### Rich Text Editors

[](#rich-text-editors)

The module setting `general.editor` controls which editor sArticles uses:

- `system` uses EVO `which_editor`.
- A registered editor name, such as `eTinyMCE` or `dTuiEditor`, forces that editor inside sArticles.

Per-field editor selectors are intentionally hidden in sArticles forms to keep the article UI compact and predictable.

Development Notes
-----------------

[](#development-notes)

- The new manager UI is config-driven and uses EvoUI/Livewire.
- Legacy manager blades, scripts, and styles are removed from the new flow.
- Use `EVO_*` constants for Evolution paths; old compatibility aliases should not be used in new code.
- Keep module-specific hooks in sArticles, not in EvoUI.
- Keep package-specific integrations in the integrating package. sArticles provides hooks; packages like sSeo provide their own fields, defaults, render logic, and save logic.
- Use table presets for manager lists and modal presets for edit/create flows.

License
-------

[](#license)

GPL-3.0-or-later.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance92

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 77% 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 ~100 days

Recently: every ~35 days

Total

11

Last Release

23d ago

Major Versions

1.x-dev → 2.x-dev2026-06-10

PHP version history (5 changes)1.0.0PHP &gt;=7.4

1.0.1PHP ^8

1.1.0PHP ^8.1

v1.1.3PHP ^8.3

2.x-devPHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/45df310de1ec27dc7eaf1c505371f79f2f36c2078da13c83acb421509affab84?d=identicon)[seiger](/maintainers/seiger)

---

Top Contributors

[![Seiger](https://avatars.githubusercontent.com/u/12029039?v=4)](https://github.com/Seiger "Seiger (134 commits)")[![MiddleSokilAI](https://avatars.githubusercontent.com/u/281633645?v=4)](https://github.com/MiddleSokilAI "MiddleSokilAI (34 commits)")[![Dmi3yy](https://avatars.githubusercontent.com/u/669491?v=4)](https://github.com/Dmi3yy "Dmi3yy (6 commits)")

---

Tags

evocmsevolution-cms

### Embed Badge

![Health badge](/badges/seiger-sarticles/health.svg)

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

PHPackages © 2026

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