2017 © Pedro Peláez
 

drupal-module custom_alias

Custom Alias - A Drupal 8 module for overriding URL alias

image

origindesign/custom_alias

Custom Alias - A Drupal 8 module for overriding URL alias

  • Wednesday, November 22, 2017
  • by origindesign
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

<?php


use Drupal\node\NodeInterface;




/**
 * Setup key => value pairs to match field value to path alias
 */
function getOptions(){

    $options = array(

        'service' => array(
            'Accommodation' => '/services/accommodation/',
            'Business' => '/business-listing/business/',
            'Dining & Nightlife' => '/things-to-do/dining-nightlife/'
        )

    );

    return $options;

}


/**
 * Set path alias on insert
 * @param NodeInterface $node
 */
function custom_alias_node_insert(NodeInterface $node) {

    // Set options array
    $options = getOptions();

    // Setup per content type
    switch($node->getType()){

        case 'service':

            // Get service taxonomy
            $field = $node->get('field_category')->view()[0]['#title'];

            // Set options
            $settings = $options['service'];

            break;

    }

    // Save path alias
    $process = \Drupal::service('custom_alias.alias_manager')->processPath($node, $field, $settings, 'save');

}


/**
 * Set path alias on update
 * @param NodeInterface $node
 */
function custom_alias_node_update(NodeInterface $node) {

    // Set options array
    $options = getOptions();

    // Setup per content type
    switch($node->getType()){

        case 'service':

            // Get service taxonomy
            $field = $node->get('field_category')->view()[0]['#title'];

            // Set options
            $settings = $options['service'];

            break;

    }

    // Save path alias
    $process = \Drupal::service('custom_alias.alias_manager')->processPath($node, $field, $settings, 'update');

}


/**
 * Disable Url Alias field
 * @param $form
 * @param \Drupal\Core\Form\FormStateInterface $form_state
 * @param $form_id
 */
function custom_alias_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

    switch ($form_id) {
        case 'node_service_form':
        case 'node_service_edit_form':
            $form['path']['#disabled'] = 'disabled';
            break;
    }

}

The Versions

22/11 2017

dev-master

9999999-dev

Custom Alias - A Drupal 8 module for overriding URL alias

  Sources   Download

MIT

The Requires

  • php >=5.6

 

22/11 2017

v1.0

1.0.0.0

Custom Alias - A Drupal 8 module for overriding URL alias

  Sources   Download

MIT

The Requires

  • php >=5.6