charliedevelopment / craft3-advanced-url-field

Configurable URL field that provides multiple format restrictions and validation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advanced URL Field for Craft 3

This plugin provides a field type that can be configured to only allow URLs that match a specific set of formats. It expands upon the built-in URL field by allowing a field to be set to absolute, relative, mailto, or tel uris.

Requirements

  • Craft CMS 3.0.0-RC1 or above

Installation

  1. Open a terminal and navigate to your project folder:
cd /path/to/project
  1. Require the package to download it via Composer:
composer require charliedev/advanced-url-field
  1. Install the plugin on the Settings -> Plugins page in the Craft control panel.

--- or ---

  1. Install the plugin via the command line:
./craft install/plugin advanced-url-field

Usage

Creating an Advanced URL Field

  1. Create a new field in your craft control panel via the Settings -> Fields panel.
  2. Select Advanced URL as the field type.
  3. Fill out placeholder text to show when the field is blank.
  4. Select which URL types to allow (more info on the types below).
  5. Attach the new field to a section.

Screenshot of field creation screen

URL Types

  • Relative URLS must match the format of a URL path, relative to the document root, for example /about or /categories/new#first.
  • Absolute URLS must match a full absolute url, prefixed with protocol and containing a domain name, for example https://www.example.com/ or https://example.com/about.
  • Mailto Protocol must be an email address prefixed by mailto:.
  • Tel Protocol must be a phone number prefixed by tel:.

Templating with an Advanced URL Field

In a Twig template, the field is rendered directly, without any other additional inner properties. See the following example, where myURL is an Advanced URL field on the entry:

<a href="{{ entry.myURL }}">My Link</a>

Built for Craft CMS by Charlie Development

About

Configurable URL field that provides multiple format restrictions and validation.

License:MIT License


Languages

Language:PHP 79.9%Language:HTML 20.1%