PHPackages                             janvince/smallrecords-plugin - 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. janvince/smallrecords-plugin

ActiveOctober-plugin

janvince/smallrecords-plugin
============================

None

3179↓100%12[13 issues](https://github.com/jan-vince/smallrecords/issues)[2 PRs](https://github.com/jan-vince/smallrecords/pulls)PHP

Since Aug 30Pushed 3y ago3 watchersCompare

[ Source](https://github.com/jan-vince/smallrecords)[ Packagist](https://packagist.org/packages/janvince/smallrecords-plugin)[ RSS](/packages/janvince-smallrecords-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Small Records
=============

[](#small-records)

> Universal plugin for storing and presenting (almost) any kind of data

Install from OctoberCMS backend `Settings > Updates&Plugins > Install plugins` with name `Small Records`.

You can set permissions for plugin parts and created lists.

There are some settings in `Settings > Small Plugins > Small records`.

**About Small Records**
-----------------------

[](#about-small-records)

Main idea behind this plugin is to have a place where I can easily organize records in several lists (like portfolio, partners, sliders and their images, simple photo galleries, etc.).

The simplest scenario is:

**Manage records:**

- Go to backend and open Records from top menu.
- Create some categories, tags, attributes.
- Create lists of records.
- Create records in those lists and assign categories, tags, attributes - if needed.

**Create pages**

- Create default *Layout* for all pages
- Create page `Record` with URL `/record/:record`
    - Add component *Small Records &gt; Record*
- Create page `Category` with URL `/category/:category`
    - Add component *Small Records &gt; Category*
- Create page `Tag` with URL `/tag/:tag`
    - Add component *Small Records &gt; Tag*
- Create page `Records` with URL `/records/:category?`
    - Add components *Small Records &gt; Categories* and *Small Records &gt; Records*

**Visit frontend**

Go to page /records. There should be categories tags and records listed.

All records, categories and tags are connected with links.

> Look at the end of this documentation for more detailed how to.

**Small Records parts**
-----------------------

[](#small-records-parts)

Lists
-----

[](#lists)

Lists are groups of records. They can be eg. Products, Photo albums, Logos, ...

Created list will be appended to the top of the left side menu.

### Add custom records form fields

[](#add-custom-records-form-fields)

When creating a new list you can allow predefined form fields or you can **create your own form** definition (based on repeater).

When creating or editing a *List*, open tab `Custom form fields` and allow its use.

Set basic settings and **add new fields** to your custom form.

Each list can has a different form.

*Look inside a default `Record detail` component partial to see how to work with custom repeater data.*

### Categories

[](#categories)

Here you can manage categories.

They can be organized into a tree - click on button Reorder and drag&amp;drop category over another one.

Tags
----

[](#tags)

Simple list of tags that can be assigned to records.

Attributes
----------

[](#attributes)

If you need to store a specific information for your records, that is not in default records form, here you can define a name of an attribute and it's type (string, text, number, switch).

Create or edit a record and go to tab Attributes (but this tab must be allowed in List settings to be visible!).

### Access attributes in Twig

[](#access-attributes-in-twig)

If you assigned one or more attributes to any record, you can iterate through them with Twig code like:

```
{% for attribute in record.attributes %}

    {{ attribute.name }} : {{ attribute.value }}

{% endfor %}

```

Or there are functions to get a specific attribute (or attribute's value) by slug like:

```

    {{ record.getAttributeBySlug('my-attribute-slug') }}

    {{ record.getAttributeValueBySlug('my-attribute-slug') }}

```

Import and Export
-----------------

[](#import-and-export)

There are buttons ready in Records and Categories lists.

**Components**
--------------

[](#components)

There are components and default partials ready to use in your Layout, Page or Partial.

Component's default partials are meant as templates - you should customize them to your needs as these can change in a future!

Best way to customize them is to copy them to yout theme folder like:

`/themes/my-theme/partials/records/default.htm`

*Folder `records` should be named after component's alias name. See more details in [OctoberCMS docs](https://octobercms.com/docs/cms/components#overriding-partials).*

### **Component: Categories**

[](#component-categories)

Put default partial `{% component 'categories' %}` in your layout/page/partial to inspect how to work with categories lists.

Customize component's parameters.

### **Component: Tags**

[](#component-tags)

Put default partial `{% component 'tags' %}` in your layout/page/partial to inspect how to work with tags lists.

Customize component's parameters.

### **Component: Records**

[](#component-records)

> You can add a Records component to a page, layout or partial.

Put default partial `{% component 'records' %}` in your layout/page/partial to inspect how to work with records lists.

Customize component's parameters.

#### **Component: Record**

[](#component-record)

Put default partial `{% component 'recordDetail' %}` in your layout/page/partial to inspect how to work with records lists.

Customize component's parameters.

**Basic use case**
------------------

[](#basic-use-case)

Install Small Records plugin.

In OctoberCMS backend click in main menu on **Records** and then in left pane on **Lists**.

Create a new list.

Add some records to this list, add some categories, tags and attributes (and assign them to some of your records if you want).

### **Layout file**

[](#layout-file)

Go to a CMS part of backend and create a layout file `Default` with content:

```

        Records

        {% styles %}

        {% page %}

```

### **Single record page**

[](#single-record-page)

Create a CMS page with name `Record` and URL `/record/:record`.

Select its layout `Default`.

From left pane add a **Small Records &gt; Record** component to the page content window on right side.

Save a file.

### **Single category page**

[](#single-category-page)

Create a CMS page with name `Category` and URL `/category/:category`.

Select its layout `Default`.

From left pane add a **Small Records &gt; Category** component to the page content window on right side.

Save a file.

### **Single tag page**

[](#single-tag-page)

Create a CMS page with name `Tag` and URL `/tag/:tag`.

Select its layout `Default`.

From left pane add a **Small Records &gt; Tag** component to the page content window on right side.

Save a file.

### **Records and categories page**

[](#records-and-categories-page)

Create a CMS page `Records` with URL `/records/:category?`.

Select its layout `Default`.

From left pane add components to the page content:

Save a file;

### **The result**

[](#the-result)

Open URL `/records' to see the records list.

You should be able to filter by category and tag and to click on records to see a detail.

HOWTO
=====

[](#howto)

Getting records with scopes
---------------------------

[](#getting-records-with-scopes)

`Record::isActive()->byArea('news')->tag('important')->limit(6)->get();`

---

> Special thanks goes to:
> [OctoberCMS](http://www.octobercms.com) team members and supporters for this great system. [Samuel Zeller](https://unsplash.com/@samuelzeller) for his photo I have used in the plugin banner. [Font Awesome](http://www.fontawesome.io) for Universal access symbol.

Created by [Jan Vince](http://www.vince.cz), freelance web designer from Czech Republic.

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

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

### Community

Maintainers

![](https://www.gravatar.com/avatar/7d0762b85a7c8514e93d4114ae9bbd9dbacfe9efc2b6bd76ef151ebdcec39bf9?d=identicon)[jan-vince](/maintainers/jan-vince)

---

Top Contributors

[![jan-vince](https://avatars.githubusercontent.com/u/1104383?v=4)](https://github.com/jan-vince "jan-vince (144 commits)")[![dreamboostme](https://avatars.githubusercontent.com/u/1047595?v=4)](https://github.com/dreamboostme "dreamboostme (7 commits)")[![zlobec](https://avatars.githubusercontent.com/u/6809572?v=4)](https://github.com/zlobec "zlobec (7 commits)")[![SalocinDotTEN](https://avatars.githubusercontent.com/u/301921?v=4)](https://github.com/SalocinDotTEN "SalocinDotTEN (1 commits)")[![luciandex](https://avatars.githubusercontent.com/u/23733897?v=4)](https://github.com/luciandex "luciandex (1 commits)")[![kosmonowt](https://avatars.githubusercontent.com/u/1159594?v=4)](https://github.com/kosmonowt "kosmonowt (1 commits)")[![LukeTowers](https://avatars.githubusercontent.com/u/7253840?v=4)](https://github.com/LukeTowers "LukeTowers (1 commits)")

### Embed Badge

![Health badge](/badges/janvince-smallrecords-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/janvince-smallrecords-plugin/health.svg)](https://phpackages.com/packages/janvince-smallrecords-plugin)
```

PHPackages © 2026

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