PHPackages                             vojtasvoboda/oc-brands-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. vojtasvoboda/oc-brands-plugin

ActiveOctober-plugin[Utility &amp; Helpers](/categories/utility)

vojtasvoboda/oc-brands-plugin
=============================

Brands plugin for OctoberCMS

1.0.9(7y ago)4112[1 issues](https://github.com/vojtasvoboda/oc-brands-plugin/issues)MITPHPPHP &gt;=5.4

Since Dec 30Pushed 7y ago1 watchersCompare

[ Source](https://github.com/vojtasvoboda/oc-brands-plugin)[ Packagist](https://packagist.org/packages/vojtasvoboda/oc-brands-plugin)[ Docs](https://github.com/vojtasvoboda/oc-brands-plugin)[ RSS](/packages/vojtasvoboda-oc-brands-plugin/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

Brands plugin for OctoberCMS
============================

[](#brands-plugin-for-octobercms)

[![Codacy](https://camo.githubusercontent.com/5bdaea419920971cf47fcc938f79e75408adbb93b1cbd253a47997a1eda7bcba/68747470733a2f2f696d672e736869656c64732e696f2f636f646163792f64373463663637323436646334386234383937316465376162393238363530652e737667)](https://www.codacy.com/app/vojtasvoboda/oc-brands-plugin)[![Scrutinizer Coverage](https://camo.githubusercontent.com/05e60c930d21177d3dc21c8e1a14f532d06f5d8b2784e4a3dfb465b3f96d9c35/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f766f6a746173766f626f64612f6f632d6272616e64732d706c7567696e2e737667)](https://scrutinizer-ci.com/g/vojtasvoboda/oc-brands-plugin/?branch=master)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://github.com/vojtasvoboda/oc-brands-plugin/blob/master/LICENSE)

Show your brands, partners, projects, showcases, portfolio or anything else on your page. No other plugin requirements. Tested with latest October CMS build 382.

Key features
------------

[](#key-features)

- list of all brands with **pagination**, **category filtration** and **letter filtration**
- customizable **Bootstrap layout** (1-12 columns)
- one brand can be in **many categories**, with logo and **unlimited images**
- show brand detail with a **photo gallery**
- **translations** implemented
- SiteSearch plugin **native support**

Use cases
---------

[](#use-cases)

- show clients logos with external links (or without)
- show projects for my clients represented by logos (with photogallery at brand detail)
- show partners with cooperation details
- show my portfolio with screenshots

Create brands page
------------------

[](#create-brands-page)

- create new page
- if you want to filter by brand categories, insert category filter to URL: `/brands/:category?`
- insert Brands component
- pick Brand page (brand detail) and Category page (brands in category)
- if you want to filter by letters, insert Brand letters component

Example of Brands page with category and letter filtration:

```
title = "Brands"
url = "/brands/:category?"
layout = "default"
is_hidden = 0

[brands]
brandPage = "brand-detail"
categoryPage = "brands"
categoryFilter = "{{ :category }}"
perPage = 12
sortOrder = "ASC"
pageNumber = "{{ page }}"
perRow = 6
logoWidth = 300
logoHeight = 300

[letters]
brandsPage = "brands"
==

	Brands
	{% if category %} in category {{ category.name }}{% endif %}
	{% if letter %} starts with "{{ letter }}"{% endif %}

{% if category %}

        &lt; all categories

{% endif %}

{% component 'letters' %}

{% component 'brands' %}

```

Create brand detail page
------------------------

[](#create-brand-detail-page)

- create new page with URL like that: `/brand/:slug/`
- insert Brand component
- pick Category page (page with Brands)

Example of Brand page:

```
title = "Brand detail"
url = "/brand/:slug/"
layout = "default"
is_hidden = 0

[brand]
slug = "{{ :slug }}"
categoryPage = "brands"
==
{% component 'brand' %}

```

Brand's links
-------------

[](#brands-links)

Each brand can have multiple types of links:

1. Link to brand detail - fill only slug and create brand detail page.
2. External link - fill external link parameter, it will override internal link.
3. No link - shows logo without any link, it will override all links above.

Extending plugin
----------------

[](#extending-plugin)

I'm using this plugin as example how to build first plugin ever, because it covers managing one entity (create, update, delete, change order), create one relation (brand - category) and render all items at the frontend.

I also created examples, how to easily extend plugin's functionality and put all these example to [Brands extending examples](https://github.com/vojtasvoboda/oc-brands-plugin-override-example) repository.

TODO
----

[](#todo)

- fix page title at brand detail
- changing order for categories
- batch delete for categories
- tags management
- brand detail - paginator for gallery

Contributing
------------

[](#contributing)

Please send Pull Request to the master branch. Please add also unit tests and make sure all unit tests are green.

License
-------

[](#license)

Brands plugin is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) same as OctoberCMS platform.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

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

###  Release Activity

Cadence

Every ~172 days

Recently: every ~215 days

Total

6

Last Release

2608d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/533ab9a0897c6c6754ac9baf2ad6e42ecbc2a57aa67c72b885fcc647c7ae6930?d=identicon)[VojtaSvoboda](/maintainers/VojtaSvoboda)

---

Top Contributors

[![vojtasvoboda](https://avatars.githubusercontent.com/u/374917?v=4)](https://github.com/vojtasvoboda "vojtasvoboda (31 commits)")[![patrick-durrer](https://avatars.githubusercontent.com/u/15232963?v=4)](https://github.com/patrick-durrer "patrick-durrer (1 commits)")

---

Tags

octobercms-pluginpluginoctoberbrands

### Embed Badge

![Health badge](/badges/vojtasvoboda-oc-brands-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/vojtasvoboda-oc-brands-plugin/health.svg)](https://phpackages.com/packages/vojtasvoboda-oc-brands-plugin)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[rainlab/blog-plugin

Blog plugin for October CMS

17158.6k](/packages/rainlab-blog-plugin)[rainlab/builder-plugin

Builder plugin for October CMS

17147.6k1](/packages/rainlab-builder-plugin)

PHPackages © 2026

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