2017 © Pedro Peláez
 

craft-plugin craft3-fp-backgrounds

Use FocalPoint for responsive background positioning in Craft CMS

image

mfeinbier/craft3-fp-backgrounds

Use FocalPoint for responsive background positioning in Craft CMS

  • Thursday, July 26, 2018
  • by mfeinbier
  • Repository
  • 0 Watchers
  • 0 Stars
  • 23 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 10 % Grown

The README.md

FocalPoint Background-positioning for Craft CMS

This plugin provides some Twig functions and filters to use the FocalPoint in Craft CMS templates. It is useful for background-positioning in responsive designs when the important part of the image is not in the center., (*1)

(It is my first Craft CMS plugin to learn some basics about plugin development in Craft. Besides that fact I just needed the Twig functions :), (*2)

Requirements

This plugin requires Craft CMS 3.0.0-beta.1 or later., (*3)

Installation

To install the plugin, follow these instructions., (*4)

  1. Go to your Craft project in a terminal:, (*5)

    cd /path/to/project
  2. Install the plugin via composer:, (*6)

    composer require mfeinbier/craft3-fp-backgrounds
  3. In the Control Panel, go to Settings → Plugins and click the “Install” button for FocalPoint backgrounds., (*7)

Usage

With the FocalPoint you can set in Craft for pictures, it is possible to have the marked area for smaller screen sizes always in the center of the screen. This is especially useful when the important part of the image is not in the center., (*8)

Imagine you have a fullscreen background image in your template which is defined in CSS like this, (*9)

.fullpage-bg {
    background: #BADA55 url("images/fallback-background") no-repeat 50% 50%;
    background-size: cover;
}

Setting the background-size to cover is important to automatically fill the whole div for all screen-sizes., (*10)

In your Craft Template you now want to use a linked asset to fill the background and use the new functions provided by this plugin to position your image, (*11)

{% set image = entry.backgroundImage[0] ?? null %} // or whatever you use to get the image
    <div class="fullpage-bg"
         {%- if image -%}
            style="background-image: url('{{ image.url }}');
                   {{ renderBackgroundPosition(image) }}"
        {%- endif -%}>
    </div>

This will output the correct CSS settings for positioning the image based on the FocalPoint, (*12)

    <div class="fullpage-bg"style="background-image: url('/slider-images/slider-04.jpg');
                                   background-position-x: 65.29%; background-position-y: 29.66%;">
    </div>

If you need more control over the x or y positions you can use the |focalXPosition and |focalYPosition filters:, (*13)

<div class="fullpage-bg"
         {%- if image -%}
            style="background-image: url('{{ image.url }}');
                   background-position-x: {{ image|focalXPosition }}";
                   background-position-y: {{ image|focalYPosition }}";
        {%- endif -%}>
    </div>

The Versions

26/07 2018

dev-master

9999999-dev

Use FocalPoint for responsive background positioning in Craft CMS

  Sources   Download

MIT

The Requires

 

twig yii2 cms responsive background flysystem craftcms focalpoint

15/06 2017

1.0.0

1.0.0.0

Use FocalPoint for responsive background positioning in Craft CMS

  Sources   Download

MIT

The Requires

 

twig yii2 cms responsive background flysystem craftcms focalpoint