Contact Contact Show All Awards & Recognition
Contact
Show All Awards & Recognition

docono/company-bundle

not-reviewed

No Category

No author set

Version

v1.3.2

Last updated

Contact

-

No  Reviewer

docono/company-bundle

No Category

Project Summary

Pimcore 6.x company information management


Readme

DOCONO.io Company Bundle

interface

Description

The Company Bundle provides to the backend user a simplified management panel to edit all important company information such as:

  • address details
  • opening hours
  • social media links
  • Schema.org details
  • business location coordinates

The Bundle includes also HTML and Schema.org templates which easily be extended and implemented with a Pimcore Document Tag.

included translations

  • German (v1.0.0)
  • English (v1.0.0)
  • Ukrainian (v1.0.1) thanks to Olya Batyr
  • Russian (v1.0.1) thanks to Olya Batyr

new in v1.4

  • document tag adjustment for the latest Pimcore version

new in v1.3

  • Pimcore 6 ready

new in v1.2.2

  • removed Google+ from socialmedias
  • added Metatag accounts (Twitter & Facebook)

new in v1.2.1

  • opening times bugfix (closing times)
  • opening times UX improvements

DO CHECK YOUR TIMES AFTER UPDATE!

new in v1.2.0

  • replaced Twig templates with PHP templates
  • caching

new in v1.1.1

  • added VAT number field
  • added company founding information fields
  • added VKontakte, Medium & Reddit to the social media channels
  • translation fixes
  • style fixes

new in v1.1.0

  • new tab organisation
  • add holidays to the opening hours
  • edit site description & keywords based on the site language
  • new template handling

Getting Started

  • download bundle with Composer "docono/company-bundle": "^1.1"
  • install the Bundle in the Extension Management Tool in Pimcore
  • make sure the cache is flushed and Pimcore reloaded
  • open the "Company Information" panel and fill in the company details
  • add <?= $this->company('demoInformations'); ?> to your view
  • your page will show now all contact details and added a Schema.org JSON-LD to the markup

Configuration File

Each site has its own YAML configuration file which is located in the app config folder /app/config.

site ids

The Bundle uses the Pimcore site ids:

  • default: the main site
  • site_1: site with the id 1
  • site_2: site with the id 2
  • etc

example

/app/config/docono_company.default.yml /app/config/docono_company.site_1.yml

config YAML

company:
    name: DOCONO
    address: 'Bahnhofstrasse 8'
    town: Alpnach
    postalcode: '6055'
    region: OW
    country: CH
    phone: '+41 XX XXX XX XX' 
    fax: '+41 41 670 01 70'
    email: hello@docono.io
    vat-number: ''
socialmedia:
    linkedin: 'https://www.linkedin.com/company/docono/'
    xing: ''
    facebook: 'http://www.facebook.com/docono.io'
    vk: ''
    twitter: ''
    instagram: 'http://www.instagram.com/docono.io'
    pinterest: ''
    youtube: ''
    vimeo: ''
    medium: ''
    reddit: ''
times:
    lunchbreak: true
    monday: { open: '09:00', close: '11:30', open_pm: '13:00', close_pm: '16:00' }
    tuesday: { open: '09:00', close: '11:30', open_pm: '13:00', close_pm: '16:00' }
    wednesday: { open: '09:00', close: '11:30', open_pm: '13:00', close_pm: '16:00' }
    thursday: { open: '09:00', close: '11:30', open_pm: '13:00', close_pm: '16:00' }
    friday: { open: '09:00', close: '11:30', open_pm: '13:00', close_pm: '16:00' }
    saturday: { allday_closed: 'on' }
    sunday: { allday_closed: 'on' }
holiday:
    - { name: 'Easter weekend', start: 30.03.2018, end: 02.04.2018 }
    - { name: 'Christmas & New Year', start: 21.12.2018, end: 06.01.2019 }
seo:
    en: { description: 'site description', keywords: 'keywords, metakeywords' }
    de: { description: 'Seitenbeschreibung', keywords: 'keywords, metakeywords' }
schema:
    type: LocalBusiness
    subtype: ''
    url: 'https://docono.io'
    logo: /var/assets/logo/DOCONO-logo.jpg
    image: /var/assets/logo/DOCONO-logo.jpg
    founder-name: ''
    founding-date: '2017'
    founding-town: 'Alpnach Dorf'
location:
    lat: '47.050168'
    long: '8.309307'
    link: 'https://goo.gl/maps/CPzgDp35bS52'
accounts:
    twitter-site: 'docono'
    twitter-creator: 'docono'
    facebook-publisher: 'https://www.facebook.com/docono.io/'
    facebook-author: 'https://www.facebook.com/docono.io/'
    facebook-app-id: ''

Templates

CompanyBundle uses normal php templates since v1.2.0.

Types

There are three different kind of templates: html, schema and combined.

Each typ has its own folder for the templates, which are defined in the Template Service as constants.

\CompanyBundle\Services\Template::html
\CompanyBundle\Services\Template::schema
\CompanyBundle\Services\Template::combined

Overriding

If you do not like the standard templates simply override it with a template in the app template dir `app/Resources/views'.

example

To override the address HTML template (address_html.html.php) create following file: app/Resources/CompanyBundle/views/docono_company/address_html.html.php

To override the address Schema.org template (address_schema.html.php) create following file: app/Resources/CompanyBundle/views/docono_company/address_schema.html.php

Custom Template

To use your own template simply create your template in a folder the views dir.

example

To build your own Stemplate creat following file: app/Resources/views/myTemplates/demo.html.php

Implementing it into your view:

<?= $this->company('demoTemplate', ['tpl'=>'myTemplates/demo.html.php']); ?>

caching

All templates are cached and assigned to the tag 'CompanyBundle_templates';

Rendering Templates

Template options:

  • address [only address]
  • times [only opening times]
  • socialmedia [only social media] (fontawesome ready)
  • full [all information]
  • template [using your customised template]

Type options:

  • html [only HTML]
  • schema [only Schema.org JSON-LD]
  • combined [HTML and JSON-LD]

Document Tag

configuration

Name Type Configuration
tpl string standard template name or path - default: full
type string only for standard templats needed, e.g.: \CompanyBundle\Services\Template::html - default: combined

basic usage

<?= $this->company('demoInformations'); ?>

advanced usage

<?= $this->company('demoInformations', ['tpl'=>'address', 'type'=>\CompanyBundle\Services\Template::html]); ?>

Template Service

The Template Render Service is registered as docono.company.template

Methods

Name Return Description
template(String $tpl) string render custom template
address(String $type=self::combined) string render standard address template
times(String $type=self::combined) string render standard times template
socialmedia() string render standard social media html template
full(String $type=self::combined) string render standard full template
__toString() string full() alias

basic usage

<?= $this->container->get('docono.company.template'); ?>

advanced usage

<?= $this->container->get('docono.company.template')->address(\CompanyBundle\Services\Template::combined); ?>
<?= $this->container->get('docono.company.template')->template('myTemplates/demo.html.php'); ?>

Configuration Helper

If you want to access any of the company information data, simply use the STATIC config helper to access them.

CompanyBundle\Helper\Config

Name Return Description
getFile() string get YAML config file for current site
getFileForSite(String $site) string get YAML config file for given site id
getData(String $site=null) array array of all data
getCompany() array array of the 'company' namespace
getSocialmedia() array array of the 'socialmedia' namespace
getOpeningtimes() array array of the 'times' namespace
getHolidays() array array of the 'holiday' namespace
getSEO(string $language='en') array array of the 'seo' namespace
getSchema() array array of the 'schema' namespace
getLocation() array array of the 'location' namespace
getAccounts() array array of the 'accounts' namespace
<?= CompanyBundle\Helper\Config::getCompany()['name']; ?>
<?= CompanyBundle\Helper\Config::getData()['socialmedia']['facebook']; ?>

Review status

not-reviewed

?>

No author set

Version

v1.3.2

Last updated

Contact

-

No  Reviewer