#109

Product support

Visit this product's website for support.

Categories

  • Miscellaneous
  • Utility

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.

Features

  • 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

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

[Employees]
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 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!

1.5.0

October build 420 L5.5 LTS ready

Aug 11, 2017

1.4.9

Codebase PSR2 coding standard

Aug 11, 2017

1.4.8

Slug attribute for pretty urls

Aug 11, 2017

1.4.7

Updated table hambern_company_roles

Aug 11, 2017

1.4.6

Updated table hambern_company_galleries

Aug 11, 2017

1.4.5

Updated table hambern_company_employees

Aug 11, 2017

1.4.4

Slug attribute hambern_company_links

Aug 11, 2017

1.4.3

Slug attribute hambern_company_services

Aug 11, 2017

1.4.2

Slug attribute hambern_company_projects

Aug 11, 2017

1.4.1

Slug attribute hambern_company_tags

Aug 11, 2017

1.3.9

builder_table_update_hambern_company_services.php

Aug 09, 2017

1.3.8

Adding link to services

Aug 09, 2017

1.3.7

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

Feb 08, 2017

1.3.6

Updated the Czech language file. Thanks Jan Vince!

Oct 06, 2016

1.3.5

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

Sep 30, 2016

1.3.4

Added default dates on published_at and born_at

Sep 24, 2016

1.3.3

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

Sep 24, 2016

1.3.2

Added social media to company

Sep 23, 2016

1.3.1

Added filter options on the components

Sep 19, 2016

1.3.0

Added tags

Sep 19, 2016

1.2.15

Dutch translations added

Sep 19, 2016

1.2.14

Fixed a really small typo

Sep 09, 2016

1.2.13

Updated Czech language file

Sep 09, 2016

1.2.12

Added company email, phone and address

Sep 08, 2016

1.2.11

Added social media prompt (thanx Jan Vince)

Sep 02, 2016

1.2.10

Add social media bug fix

Sep 01, 2016

1.2.9

Add social media information

Aug 18, 2016

1.2.8

Fixed bug on Company-form when there were no employees

Jul 10, 2016

1.2.7

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

Jul 07, 2016

1.2.6

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

Jul 03, 2016

1.2.5

Bug fix in Links component

Jun 30, 2016

1.2.4

Bug fix and a lot cleaner components

Jun 06, 2016

1.2.3

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

Jun 01, 2016

1.2.2

Another small update to the service component

May 31, 2016

1.2.1

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

May 31, 2016

1.2.0

Added pagination options to the components

May 30, 2016

1.1.12

...and applying the necessary database-changes

Feb 02, 2016

1.1.11

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

Feb 02, 2016

1.1.10

Change string to text on Testimonial content

Feb 01, 2016

1.1.9

Added role component

Jan 28, 2016

1.1.8

Added role filter to Employee component

Jan 28, 2016

1.1.7

Employee bug fixed

Jan 28, 2016

1.1.6

Settings now also translatable

Jan 26, 2016

1.1.5

Minor bug fixes

Jan 21, 2016

1.1.4

Added links tool

Jan 21, 2016

1.1.3

Further improved services tools

Jan 13, 2016

1.1.2

Improved services tools

Jan 05, 2016

1.1.1

Implements some support of the translate plugin

Jan 05, 2016

1.1.0

Perfected permissions

Dec 19, 2015

1.0.71

Facepalm update ;)

Dec 18, 2015

1.0.7

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

Dec 18, 2015

1.0.6

Important bug fix to permission integration

Dec 18, 2015

1.0.5

Much better permission integration

Dec 18, 2015

1.0.4

Changed timestamps() to nullableTimestamps() in migrations

Dec 13, 2015

1.0.3

Added testimonials

Nov 28, 2015

1.0.2

Added galleries

Nov 28, 2015

1.0.1

First version of Company

Nov 28, 2015