Skip to content

Configurable URL field that provides multiple format restrictions and validation.

License

Notifications You must be signed in to change notification settings

charliedevelopment/craft3-advanced-url-field

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published