#55

Product support

Visit this product's website for support.

Categories

  • Marketing
  • Miscellaneous
  • Utility

Universal plugin to store records in separated lists each with own form setup.

It can store many kind of data. I use it for portfolios, simple galleries, contacts, testimonials, company partners, etc.

Functions overview

  • Create any number of lists to store records
  • Define what form fields will be available to each of the lists
  • Add categories, tags and attributes to your records
  • Render records in web with components (Records and Record detail, Categories and Category detail)
  • Permissions to access each of the plugin parts and for each list
  • Import/Export categories and records
  • Connections to other plugins:
    • (Rainlab) Blog - show all records (or filtered to selected List) in blog Post form

The following themes use this plugin:

Records in a list

Small Records

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

Installation

GitHub clone into /plugins dir:

git clone https://github.com/jan-vince/smallrecords.git

OctoberCMS backend

Just look for 'Small Records' in search field in:

Settings > Updates&Plugins > Install plugins

Permissions

You can set permissions to access each of a plugin parts.

Settings

Right now just to set list's preview image height and width.

Records

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

Records lists

Here you can add and edit lists and choose which data (and form fields) will be available.

Created list will be appended to the top of the side menu in Records administration.

Categories

You can add one main and several secondary categories to your records.

Here you can set up categories hierarchy (it is a nested tree).

Tags

Simple list of tags that can be assigned to records.

Attributes

If you need a specific information for your records, here you can define a name of an attribute and it's type (string, text, number, switch).

If Attributes are allowed in Records list, you can select an attribute and add a custom content to it.

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

You can export and import data to Categories and to Records (Records through Import/Export buttons in Lists toolbar).

Components

Records

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

There are several parameters - only Records list slug is required.

You can access all properties in twig like: {{records.property('detailPageSlug')}}

Record

You can add a record detail to yout page, layout or partial.

Record list and record slug is required.


Special thanks goes to:
OctoberCMS team members and supporters for this great system. Samuel Zeller for his photo I have used in the plugin banner. Font Awesome for Universal access symbol.

Created by Jan Vince, freelance web designer from Czech Republic.

  • Found the plugin useful on 31 Jul, 2018

    Absolutely delighted with your plugin! More functional than many paid solutions. If you were to document it in more detail, there would be many more using it. I also have questions. Tell me, how to do pagination? Forgive my English. Thank you!

  • author

    Replied on 6 Aug, 2018

    Hi Andrey and thank you,

    I am working on better documentation but have not much time right now. And about paginations - please open an issue on GitHub and we can discuss it there.

  • Found the plugin useful on 31 May, 2018

    Very versatile plugin. Thumbs up!

  • author

    Replied on 31 May, 2018

    Thank you!

  • Found the plugin useful on 11 Jan, 2018

    Great plugin! Perfect when builder is overkill. I've noticed few small issues that I am sure will be worked out.

    Request: Making it easier to add items in the backend. As it stands, when adding new items you must click the "New" button then create the item and close it then click the new item button again. I would suggest a new button when adding new items called "Create and add new" which saves the new item and opens another blank new item page. This should greatly improve the ease of creating long lists with little effort.

    Thanks for making this fantastic plugin!

  • author

    Replied on 12 Jan, 2018

    Hi Ethan, thanks and this is a good idea!

    I have added new buttons Create and NEW and Update and NEW and also autofocus first form field, so you can start typing without click first field.

    And one more thing - new buttons have also new keyboard shortcut: Cmd+Alt+Enter (or Ctrl+Alt+Enter if you are on Windows/Linux).

    Best regards,
    Jan

  • Found the plugin useful on 4 Oct, 2017

    Love your plugin. Very flexible!

    One question: for my current project I'll try to use the images (not preview_image), but I'm not able to get them out with the recordDetail component. I was trying something like {% for record in SELF.items %} {% if recordDetail.images %} <img alt="{{ recordDetail.name }}" src="{{ recordDetail.images.getPath }}" style="width:300px;"/> {% endif %} {% endfor %}

    Can you give me a hint, please?

  • author

    Replied on 5 Oct, 2017

    Thank you and if you know how to use GitHub, let's start discussion there.

    I you don't use GitHub, try this simple page setup (you have to use correct list slug - I have portfolio here):

    title = "records"
    url = "/records/:slug?"
    layout = "default"
    is_hidden = 0
    
    [records]
    areaSlug = "portfolio"
    categorySlug = "{{ :category }}"
    activeOnly = 1
    detailPageSlug = "record-detail"
    orderBy = "date"
    orderByDirection = "DESC"
    ==
    
    {% for record in records.items %}
    
      {% for image in record.images %}
    
        <img src="{{ image.getThumb(300, null) }}">
        <img src="{{ image.getPath }}">
    
      {% endfor %}
    
     {% endfor %}

  • Found the plugin useful on 3 Oct, 2017

    Very good plugin. Helpful on tasks where "Builder" is overuse. But needing some fixes from developer. (I'll write my issues to github)

  • author

    Replied on 5 Oct, 2017

    Thanks and I will check GitHub for your issues!

1.12.0

Added useMultiCategories property to Records component to allow filtering by categories selected in Categories tab

Jul 19, 2018

1.11.1

Fixed allowLimit default false state in components

May 10, 2018

1.11.0

Added multi-categories checkbox to Categories component. Added categories column to records list.

May 08, 2018

1.10.1

Added sorting to record's related blog posts

May 07, 2018

1.10.0

Added reverse relation 'blog_posts' to record object to allow related blog posts listing

May 07, 2018

1.9.8

Fixed custom reordering of records to show only selected Area records

Apr 23, 2018

1.9.7

Removed Prev & Next buttons in Records update form (as it never worked reliable)

Apr 23, 2018

1.9.6

Added limit to categories component

Apr 19, 2018

1.9.5

Added records columns for description and content.

Apr 19, 2018

1.9.4

Fixed Records component

Apr 19, 2018

1.9.3

Chanded input custom list column type for switch to prevent interaction with toolbar JS

Mar 08, 2018

1.9.2

Fixed Lists order in settings

Feb 09, 2018

1.9.1

Fixed settings dropdown definition

Feb 09, 2018

1.9.0

Added option to connect Rainlab.Blog posts and Records

Feb 09, 2018

1.8.1

Changed count() to mb_strlen() function in custom list type definition

Feb 06, 2018

1.8.0

Added new repeater tab Content blocks (specifically for website page builder blocks)

Feb 01, 2018

1.7.4

Temporary page reload solution to correctly refresh list after item(s) delete

Feb 01, 2018

1.7.3

Updated RecordDetail component partial

Jan 27, 2018

1.7.2

Fixed param type

Jan 27, 2018

1.7.1

Added option to specify detail page slug (for records component)

Jan 27, 2018

1.7.0

Added option to add images from Media Manager (with repeater) along with fileupload

Jan 13, 2018

1.6.3

Fixed records filter (Active)

Jan 13, 2018

1.6.2

Changed order of Create and NEW button. Fixed prev/next arrows in records.

Jan 13, 2018

1.6.1

Added button to add new item after create or update.

Jan 12, 2018

1.6.0

Added optional custom sorting of records

Dec 22, 2017

1.5.1

Fixed incorrectly defined testimonials repeater fields

Dec 21, 2017

1.5.0

Added option for Preview image selected from Media manager.

Dec 20, 2017

1.4.1

Added some more sorting columns (and check for allowed column types)

Dec 14, 2017

1.4.0

Added Categories component property to get only root categories. Fixed some translations.

Dec 13, 2017

1.3.1

Fixed default Tag slug for Records component

Dec 11, 2017

1.3.0

Added Tags to records list and Records component

Dec 11, 2017

1.2.0

Added limit function to Records component

Dec 11, 2017

1.1.10

Fixed recordDetail coponent code (thanks to https://github.com/onemedicare)

Nov 09, 2017

1.1.9

Added {{ record.getAttributeValueBySlug('slug') }} function.

Nov 03, 2017

1.1.8

Added {{ attribute.value }} and {{ record.getAttributeBySlug('slug') }} functions.

Nov 03, 2017

1.1.7

Improved Category component

Sep 17, 2017

1.1.6

Fixed typo in EN locale

Sep 17, 2017

1.1.5

Added navigation to next/previous record in a record edit form.

Sep 17, 2017

1.1.4

Added components for RecordDetail and CategoryDetail.

Sep 17, 2017

1.1.3

Experimental support for duplicate slugs (unique must be combination [list-slug]). Duplicates for now checked only by DB.

Sep 17, 2017

1.1.2

Added testimonials column.

Sep 17, 2017

1.1.1

Permissions for each Records list.

Sep 17, 2017

1.1.0

Import/Export for Records, Categories and Tags.

Sep 17, 2017

1.0.0

Initial version

Sep 12, 2017