https://github.com/numencode/wn-widgets-plugin
NumenCode Widgets plugin for Winter CMS
https://github.com/numencode/wn-widgets-plugin
laravel numencode php plugin winter wintercms wintercms-plugin
Last synced: about 1 month ago
JSON representation
NumenCode Widgets plugin for Winter CMS
- Host: GitHub
- URL: https://github.com/numencode/wn-widgets-plugin
- Owner: numencode
- License: mit
- Created: 2020-05-14T20:54:46.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-03-30T16:39:34.000Z (about 1 year ago)
- Last Synced: 2025-08-20T14:39:19.946Z (9 months ago)
- Topics: laravel, numencode, php, plugin, winter, wintercms, wintercms-plugin
- Language: PHP
- Homepage: https://www.numencode.com
- Size: 67.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Widgets Plugin
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.
[](https://github.com/numencode/wn-widgets-plugin/releases)
[](https://packagist.org/packages/numencode/wn-widgets-plugin)
[](https://github.com/numencode/wn-widgets-plugin/actions)
[](https://github.com/numencode/wn-widgets-plugin/actions)
[](https://github.com/numencode/wn-widgets-plugin/blob/main/LICENSE.md)
---
## 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](http://getcomposer.org/).
```bash
composer require numencode/wn-widgets-plugin
```
After installing the plugin you will need to run the migrations.
```bash
php artisan winter:up
```
## Requirements
* [NumenCode Fundamentals Plugin](https://github.com/numencode/wn-fundamentals-plugin) version ^1.1 or higher.
* [Winter CMS](https://wintercms.com/) 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:
1. 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 as `default.htm`, `special.htm`, etc.
2. In your custom plugin's `Plugin.php` file, enable layout overrides in the `boot()` method by setting the
static property `$overrideLayout` to `true`. Example:
```php
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](CHANGELOG.md).
---
## Contributing
Please refer to the [CONTRIBUTING](CONTRIBUTING.md) 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](https://orazem.si/).
For inquiries, contact: info@numencode.com
---
## License
This project is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
[](https://github.com/numencode/wn-widgets-plugin/blob/main/LICENSE.md)