Product support

Visit this product's website for support.

  • Added on Dec 1, 2015
  • Current version: 1.5.0
  • Compatibility
    October CMS v3.x not tested
    October CMS v2.x not tested
    October CMS v1.x use latest
  • Created by
  • Public repository


Tell the world about your company

Every company website needs a few things. You need the company name, the slogan, the logo, the employees, the company roles, the projects, the services, your testimonials and a few photo galleries to show off? This plugin for October CMS fixes all that with a nice and clear interface.


  • Fully multi language ready, just create another lang.php
  • Supports english and swedish out of the box
  • Supports the translate plugin for every model except the settings
  • Permissions for every model
  • Flexible components with simple syntax
  • Role-User relations
  • Project-Service relations
  • Easily build API:s
Every component has max items, id, order by and sort as properties

Where is everything?

One you have installed the plugin you can go straight ahead and enter the information about your company in the backend. This should be pretty straight forward.

  • Employees, Roles, Projects, Services, Galleries and Testimonials can be found under the Company icon i the top menu
  • Your company settings, company name, slogan, contact person and logotype can be found under Settings > System.

Remember to publish

All information (except Roles and Settings) have to be "published" before they are shown on your site. That way you can work with your information without showing it until you really want to. To publish you simply set the "published at" date at a date that has passed (or todays date).

Understanding the components

Once you have entered all the informations, and published them, you can display that information on your website. For that you need the components. There are eight different components to choose from:

  • Company, shows your company information
  • Employees, shows your employees...
  • Roles
  • Galleries
  • Projects
  • Services
  • Testimonials
  • Links

And all except company has the same properties:

  • Max Items, lets you limit your list to a specific number of items
  • Id, lets you pick one particular item in your database based on that items id number
  • Order by, lets you order your list by any column in the database
  • Direction, pick the order direction. Either ascending or descending

Once you have added your component to a page, layout or a partial you can use it like this:

{% for employee in employees %}
    {{ employee.name }}: {{ employee.duties }}
{% endfor %}

That will result in something like this:

Mattias Hamberg: Developer, Marketing

That is if you have assigned the roles "Developer" and "Marketing" that specific employee.


Images and files are just as easy to show, thanks to October CMS. If you for example wants to show a 300 * 300 px image of your employee you simply type:

{{ employee.picture.thumb('300','300','crop') }}

The pictures are always called either singular "picture" or plural "pictures" and is included in the object response. So if you are unsure where to find the pictures or files. Just dump the entire object and check the content. Like this:

{{ employee }}

Simple syntax

Notice the simple syntax. There are no need for long lines. If you want a list of employees, type {{ employees }}. If you want a list of services, type {{ services }}. If you have set the id-property and thus only want one, just use the singular word instead: simply type {{ employee }} or {{ service }}

Dead simple default templates

The default templates are deliberately dead simple. For example, the employees default template looks like this:

{{ employee }}
{{ employees }}

So, what happens here? The first line will show the {{ employee }} object in json-format if you have chosen an id-property. And then nothing more is displayed. But if you haven't set an id-property you will get a list of employees in {{ employees }}. You can easily iterate over these like this:

{% for employee in employees %}
    {{ employee.name }}
{% endfor %}

If you don't want to show the information as json (most people don't) simply use like {{ employee.name }} to show the exact information you want on the exact place you want.

The reason why I have chosen this simplistic approach is partly that I want the plugin to be easy to make an API out of but also that I know that you will want to design your views yourself. And rather than to encourage you to tweak an already designed view, i want to leave you a blank sheet for you to fill, without any hints or impressions. It's your site, you do the designing.

Starting a simple JSON API

Now for the final! To create a simple JSON API for employees you can create it in a minute. Just create a page and give it a fitting url like: "/api/employees". Don't pick a layout. Then you will want to create a way to get a specific employee. The best way of doing this is to append "/:id?" to the url. That will check for an id in the url. If not found it will simply not bother, setting :id to false and continue as normal (fantastic October CMS feature). But if an id is found, you can now use the id-variable in the component by setting the Id-property with clicking the "external parameter" icon to the right and enter ":id".

Now... when you visit "/api/employees" you will get a list of your employees. And if you visit "/api/employees/1" you will only get the employee with the id 1. The pagefile would look something like this:

title = "Employees"
url = "/api/employees/:id?"
is_hidden = 0

maxItems = 20
itemId = "{{ :id }}"
orderBy = "id"
sort = "desc"
{% component 'Employees' %}

Not too bad huh? And of course... This works for all components

  • Found the plugin useful on 18 Sep, 2018

    Hi, When we adding project ,Front-end it showing error like this

    {"current_page":1,"data":[{"id":1,"name":"test","description":"<p>Very nice and word press projects<\/p>","customer":"stien","url":"http:\/\/stien.ca","published_at":"2018-09-17 00:00:00","created_at":"2018-09-18 10:35:50","updated_at":"2018-09-18 10:35:50","slug":"stien","picture":{"id":15,"disk_name":"5ba0d4ff7cbe6273260565.png","file_name":"imagethumbnail.png","file_size":106048,"content_type":"image\/png","title":null,"description":null,"field":"picture","sort_order":15,"created_at":"2018-09-18 10:35:43","updated_at":"2018-09-18 10:35:50","path":"http:\/\/localhost\/custom\/storage\/app\/uploads\/public\/5ba\/0d4\/ff7\/5ba0d4ff7cbe6273260565.png","extension":"png"},"pictures":[{"id":16,"disk_name":"5ba0d50321e85444169343.png","file_name":"imagethumbnail.png","file_size":106048,"content_type":"image\/png","title":null,"description":null,"field":"pictures","sort_order":16,"created_at":"2018-09-18 10:35:47","updated_at":"2018-09-18 10:35:50","path":"http:\/\/localhost\/custom\/storage\/app\/uploads\/public\/5ba\/0d5\/032\/5ba0d50321e85444169343.png","extension":"png"}],"files":[]}],"first_page_url":"http:\/\/localhost\/custom?page=1","from":1,"last_page":1,"last_page_url":"http:\/\/localhost\/custom?page=1","next_page_url":null,"path":"http:\/\/localhost\/custom","per_page":"12","prev_page_url":null,"to":1,"total":1}

    Please test this plugin in all updated version

    Thanks Aditya

  • author

    Replied on 18 Sep, 2018

    Actually, that doesn't seem like an error message. That's a json response. You have to design the output yourself, otherwise it just prints out a json response. Sorry...

  • Found the plugin useful on 18 Aug, 2018

    when I click the Employees ..."DateTime::__construct(): Failed to parse time string (-2208988800) at position 9 (0): Unexpected character" on line 547 of ...carbon.php why?what's wrong?

  • Found the plugin useful on 28 Dec, 2017

    Excellent work. Really you are wonderful! Thank you

  • Found the plugin useful on 4 Dec, 2017

    Good day,

    Pls. add review for this plugin and rate it Thanks

  • Found the plugin useful on 1 Aug, 2017

    The Company plugin I use for nearly all my projects, it has all the core data structures I need to represent a company on their website!

  • Found the plugin useful on 17 Sep, 2016

    Hi, I just want ask a question. If I want count how many project are in this service category. how can I do it. because I want to give a badage like:

    front-end works (51) back-end works (20) design(8) ...

  • Found the plugin useful on 3 Jul, 2016

    Fantastic plugin that solves many of my projects needs. And it is getting better with every new update :)

  • Found the plugin useful on 3 Jun, 2016

    Nice and clean plugin. JSON Api is very flexible

  • Found the plugin useful on 4 Feb, 2016

    very usefull plugin, thankyou!


October build 420 L5.5 LTS ready

Aug 11, 2017


Codebase PSR2 coding standard

Aug 11, 2017


Slug attribute for pretty urls

Aug 11, 2017


Updated table hambern_company_roles

Aug 11, 2017


Updated table hambern_company_galleries

Aug 11, 2017


Updated table hambern_company_employees

Aug 11, 2017


Slug attribute hambern_company_links

Aug 11, 2017


Slug attribute hambern_company_services

Aug 11, 2017


Slug attribute hambern_company_projects

Aug 11, 2017


Slug attribute hambern_company_tags

Aug 11, 2017



Aug 09, 2017


Adding link to services

Aug 09, 2017


Added the Portuguese language file. Thanks Ronaldo Ribeiro de Sousa!

Feb 08, 2017


Updated the Czech language file. Thanks Jan Vince!

Oct 06, 2016


!!! Due to a bug the logo-field is now once again a fileupload. Sorry for this.

Sep 30, 2016


Added default dates on published_at and born_at

Sep 24, 2016


!!! This changes the logo-field in company to mediafinder. You will have to re-upload it

Sep 24, 2016


Added social media to company

Sep 23, 2016


Added filter options on the components

Sep 19, 2016


Added tags

Sep 19, 2016


Dutch translations added

Sep 19, 2016


Fixed a really small typo

Sep 09, 2016


Updated Czech language file

Sep 09, 2016


Added company email, phone and address

Sep 08, 2016


Added social media prompt (thanx Jan Vince)

Sep 02, 2016


Add social media bug fix

Sep 01, 2016


Add social media information

Aug 18, 2016


Fixed bug on Company-form when there were no employees

Jul 10, 2016


Contacts options updated to suit SQL lite as well (thanx Jan Vince)

Jul 07, 2016


Thanks to Jan Vince Company now comes in a Czech translation as well

Jul 03, 2016


Bug fix in Links component

Jun 30, 2016


Bug fix and a lot cleaner components

Jun 06, 2016


Rearranging components to be able to show several of them at once on the same page

Jun 01, 2016


Another small update to the service component

May 31, 2016


Cleaned up the models and corrected a small bug in the service model

May 31, 2016


Added pagination options to the components

May 30, 2016


...and applying the necessary database-changes

Feb 02, 2016


Changed field layout for better responsiveness and added markdown for role descriptions

Feb 02, 2016


Change string to text on Testimonial content

Feb 01, 2016


Added role component

Jan 28, 2016


Added role filter to Employee component

Jan 28, 2016


Employee bug fixed

Jan 28, 2016


Settings now also translatable

Jan 26, 2016


Minor bug fixes

Jan 21, 2016


Added links tool

Jan 21, 2016


Further improved services tools

Jan 13, 2016


Improved services tools

Jan 05, 2016


Implements some support of the translate plugin

Jan 05, 2016


Perfected permissions

Dec 19, 2015


Facepalm update ;)

Dec 18, 2015


Another bug fix to permission integration. Still learning this...

Dec 18, 2015


Important bug fix to permission integration

Dec 18, 2015


Much better permission integration

Dec 18, 2015


Changed timestamps() to nullableTimestamps() in migrations

Dec 13, 2015


Added testimonials

Nov 28, 2015


Added galleries

Nov 28, 2015


First version of Company

Nov 28, 2015