numencode / wn-widgets-plugin
NumenCode Widgets plugin for Winter CMS
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:winter-plugin
Requires
- php: ^8.0.2
- numencode/wn-fundamentals-plugin: ^1.1
README
The NumenCode Widgets plugin for Winter CMS provides a flexible and easy-to-use solution for managing reusable widgets in Winter CMS. This plugin simplifies adding dynamic, visually engaging components to your themes and templates, enhancing the overall user experience.
Target Audience
The target audience for this plugin includes developers and designers who want to enhance their Winter CMS projects by incorporating reusable, visually appealing widgets. The provided widgets, such as counters, promotions, features, highlights, and galleries, are commonly used in modern web design and are often found in templates and themes available on various marketplaces. This plugin bridges the gap between static designs and dynamic functionality.
Installation
This plugin is available for installation via Composer.
composer require numencode/wn-widgets-plugin
After installing the plugin you will need to run the migrations.
php artisan winter:up
Requirements
- NumenCode Fundamentals Plugin version ^1.1 or higher.
- Winter CMS 1.2.7 or higher.
- PHP version 8.0 or higher.
Features Overview
This plugin provides an intuitive interface to create and manage a variety of widgets, enabling end users
to customize their websites with ease. With multilingual support via the Winter.Translate
plugin,
it ensures global usability.
Component Rendering System
All widget components in this plugin leverage the ComponentRenderer
trait from the NumenCode.Fundamentals plugin.
This provides several key benefits:
- Automatic Alias Resolution: Each component’s alias is automatically set based on its class name.
- Customizable Rendering: Users can override default component templates via theme partials.
- Layout Selection: Components support multiple layout options, allowing greater flexibility in presentation.
Overriding a Component’s Layout
To override a component’s layout, follow these steps:
-
Create a folder inside your theme's
partials
directory that matches the component's alias (e.g.,/themes/custom/partials/mycomponent
) and add layout files such asdefault.htm
,special.htm
, etc. -
In your custom plugin's
Plugin.php
file, enable layout overrides in theboot()
method by setting the static property$overrideLayout
totrue
. Example:class Plugin extends PluginBase { public function boot() { \NumenCode\Widgets\Components\Promotions::$overrideLayout = true; } }
Available Widgets
Counters
Showcase statistics or numeric information on your website using dynamic and engaging animated counters. Enter the desired number, provide explanatory text, and optionally include an icon class for added flair. Counters can be easily configured through component properties.
Promotions
Create attention-grabbing promotional content such as sliders and carousels that seamlessly integrate
into your website's aesthetic. Perfect for highlighting creative content within a compact space.
Promotions are managed via the Promotions
tab in the Widgets plugin.
Features
Display multiple items in an organized list or an eye-catching slider/carousel format. This is ideal
for showcasing services, products, or other grouped content. Manage features directly from the Features
tab.
Highlights
Create visually striking content cards with accompanying descriptions to emphasize key aspects of your website.
Highlights are perfect for promoting unique selling points or key features and are managed through the Highlights
tab.
Gallery
Easily create and manage multiple image galleries with a flexible and intuitive interface. Upload, reorder,
and showcase images using the dedicated Gallery component, which seamlessly integrates into any page.
Manage galleries via the Gallery
tab in the Widgets plugin.
Changelog
All notable changes are documented in the CHANGELOG.
Contributing
Please refer to the CONTRIBUTING guide for details on contributing to this project.
Security
If you identify any security issues, email info@numencode.com rather than using the issue tracker.
Author
The NumenCode.Widgets plugin is created and maintained by Blaz Orazem.
For inquiries, contact: info@numencode.com
License
This project is open-sourced software licensed under the MIT license.