numencode/wn-widgets-plugin

NumenCode Widgets plugin for Winter CMS

v1.2.0 2025-03-20 21:25 UTC

This package is auto-updated.

Last update: 2025-04-30 16:47:40 UTC


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.

Version Packagist PHP Version Support Checks Tests License

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

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:

    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.

License