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
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
-
aditya
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
-
Mattias Hamberg 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...
-
MikleXiong
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?
-
Mohamed Behiry
Found the plugin useful on 28 Dec, 2017
Excellent work. Really you are wonderful! Thank you
-
Cydrick Nonog
Found the plugin useful on 4 Dec, 2017
Good day,
Pls. add review for this plugin and rate it Thanks
-
A Datema
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!
-
mike
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) ...
-
Jan Vince
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 :)
-
RS
Found the plugin useful on 3 Jun, 2016
Nice and clean plugin. JSON Api is very flexible
-
Hessel
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 |