Services plugin
Services for October CMS.
Services plugin
Services for October CMS.
Installation
Run the following to install this plugin:
php artisan plugin:install Yamobile.Services
To uninstall this plugin:
php artisan plugin:remove Yamobile.Services
Using components
This plugin provides 5 components — CategoryComponent
,CategoriesComponent
,ServiceComponent
,ServicesComponent
,SettingsComponent
.
All Components allow you to output information about categories or services to your template.
Categories, Services and Prices added to the backend panel of your site will be available in the twig template.
CategoriesComponent
This component allows to output information about categories from the backend to your twig template in any form convenient for you.
This component supports property items
, it is responsible for the number of output records.
[CategoriesComponent] items = "" or "need count" ==
This component provides 1 variable - categories
. If you need to display all categories, then enter assign to the items
value the value of all
, if only a certain number, then enter the required number of records.
[CategoriesComponent] items = "" == {% for category in CategoriesComponent.categories %} <a href="{{'home' | page}}/{{ category.slug }}">{{ category.name }}</a> {% endfor %}
You can output pagination for your list of categories.
[CategoriesComponent] items = "6" == <div> {% for category in CategoriesComponent.categories %} <div> <div> <img src="{{ category.image | media }}" alt="{{ category.name }}"> </div> <h4><a href="{{ category.slug }}">{{ category.name }}</a></h3> <p> {{category.description}} </p> </div> {% endfor %} </div> {{ CategoriesComponent.categories.render | raw }}
CategoryComponent
This component allows you to output information from the backend to your Twig template to display a specific category by url.
This component supports the slug
property, for part of the url.
To use the component, you must enter :slug
in the page url when creating the page.
This component provides 2 public variable - category
, breadcrumbs
.
category
- this variable outputs all the information about the category.
breadcrumbs
- this variable outputs an array with a link and the name of the current category.
[CategoryComponent] slug = "{{ :slug }}" == {% set category = CategoryComponent.category %} {% set breadcrumbs = CategoryComponent.breadcrumbs %} {% for breadcrumb_item in breadcrumbs %} {% if breadcrumb_item.link %} <a href="{{ breadcrumb_item.link }}">{{ breadcrumb_item.name }}</a> {% else %} <span>{{ breadcrumb_item.name }}</span> {% endif %} {% endfor %} {{ category.meta_title }} {{ category.desctiption }} {{ category.keywords }} {{ category.name }} {{ category.description }} {{ category.image }} {{ category.content }}
You will also have access to all the services linked to the category, with all their properties.
[CategoryComponent] slug = "{{ :slug }}" == {% set category = CategoryComponent.category %} <ul> {% for service in category.services %} <li> <a href="{{'home' | page}}/{{ service.slug }}/{{service.slug}}">{{ subservice.name }}</a> </li> {% endfor %} </ul>
The category has the ability to link price lists to display within the category. Price lists can be created manually or imported via a csv file.
[CategoryComponent] slug = "{{ :slug }}" == {% set category = CategoryComponent.category %} <ul> {% for price in category.prices %} <li> {{ price.name }} - {{ price.price }} </li> {% endfor %} </ul>
ServicesComponent
This component allows you to output information from the backend to your twig template in any form convenient for you.
This component supports the items
property, it is responsible for the number of output services.
[ServicesComponent] items = "" or "need count" ==
This component provides 1 variable - services
.
If you need to display all services, then enter assign items
an empty value,
if only a certain number, then enter the required number of records.
[ServicesComponent] items = "" == {% for service in ServicesComponent.services %} <a href="{{'home' | page}}/{{ service.slug }}">{{ service.name }}</a> {% endfor %}
You can output pagination for your list of categories.
[ServicesComponent] items = "6" == <div> {% for service in ServicesComponent.services %} <div> <div> <img src="{{ service.image | media }}" alt="{{ service.name }}"> </div> <h4><a href="{{ service.slug }}">{{ service.name }}</a></h3> </div> {% endfor %} </div> {{ ServicesComponent.services.render | raw }}
ServiceComponent
This component allows you to output information from the backend
to your twig template to display a specific service by the slug
property.
This component supports the properties - slug
, category_slug
.
To use the component, you must enter :category_slug/:slug
in the page url when creating the page.
This component provides 2 public variable - service
, breadcrumbs
.
service
- this variable outputs all the information about the service.
breadcrumbs
- this variable outputs an array with a link and the name of the current category.
[ServiceComponent] category_slug = "{{ :category_slug }}" slug = "{{ :slug }}" == {% set service = ServiceComponent.service %} {% set breadcrumbs = ServiceComponent.breadcrumbs %} {% for breadcrumb_item in breadcrumbs %} {% if breadcrumb_item.link %} <a href="{{ breadcrumb_item.link }}">{{ breadcrumb_item.name }}</a> {% else %} <span>{{ breadcrumb_item.name }}</span> {% endif %} {% endfor %} {{ service.meta_title }} {{ service.desctiption }} {{ service.keywords }} {{ service.name }} {{ service.image }} {{ service.content }}
Just like the category has access to all the linked services. The service has access to all the properties of the parent category.
[ServiceComponent] category_slug = "{{ :category_slug }}" slug = "{{ :slug }}" == {% set service = ServiceComponent.service %} {{ service.category.name }} // display name of the parent category
ServiceSettings
This component provides 1 public variable - settings
.
settings
- this variable outputs all the information from settings plugin.
It can be used for the main page of services. In the settings, you can enter the page metadata, an image and a description of the page.
meta_title = {{ service_settings.meta_title }} meta_description = {{ service_settings.meta_description }} [ServiceSettings] == {% set service_settings = ServiceSettings.settings %} <h1>{{ service_settings.h1 }}</h1> <p>{{ service_settings.description }}</p> <img src="{{ service_settings.image |media }}" />
-
This plugin has not been reviewed yet.
-
4.8.0 |
Added heading property for categories pages and services pages Jul 19, 2023 |
---|---|
4.7.0 |
Added output of related categories in the list of all price lists Jun 15, 2023 |
4.6.0 |
Add price settings Jun 15, 2023 |
4.5.0 |
Add description to services May 17, 2023 |
4.4.2 |
Fixed the need to enter "all" in the "items" property when displaying all categories or services May 10, 2023 |
4.4.1 |
Added the ability to output an array of bread crumbs for categories and services May 10, 2023 |
4.4.0 |
Created table yamobile_services_price May 10, 2023 |
4.3.0 |
Add sorting for categories and services May 10, 2023 |
4.2.1 |
Fixed the error of displaying a record with an incorrect category_slug May 10, 2023 |
4.2.0 |
Added the ability to hide records May 10, 2023 |
4.1.0 |
Fixed a bug when creating a service and selecting categories May 10, 2023 |
4.0.0 |
Rename name file and class for services and sub-services May 10, 2023 |
3.1.0 |
Added English localisation for plugin May 10, 2023 |
3.0.0 |
Added output of a detailed page of records May 10, 2023 |
2.4.1 |
Structuring the fields of the record creation form May 10, 2023 |
2.3.0 |
Added display lists categories and sub-categories May 10, 2023 |
2.2.0 |
Added components for display categories and sub-category on the template May 10, 2023 |
2.1.0 |
Changed the display of images in the list of categories and sub-categories May 10, 2023 |
2.0.0 |
Added the ability to link sub-categories to categories May 10, 2023 |
1.1.0 |
Added plugin menu display May 10, 2023 |
1.0.1 |
Initialize plugin. May 10, 2023 |