How to alter the URL path alias generated by content type programmatically? Our current url pattern is [node:menu-link:parents:join-path]/[node:title]. What we need is a way to not to include the parent menu link items and only include the child menu link items. 

For example:



The expected output is the following:


When Any menu link is placed at the same level as "Fourth level 1" (under Top level), it should be ".com/Second-level1/Third-level-1/Fourth-level-3"
Current issue is that the URL is generated as ".com/Top-Level/Second-level1/Third-level-1/Fourth-level-3"
We want to remove Top level, Top level 2, top level 3, etc removed from URL path alias. 
Depending upon the placement of the menu link item, it should always contain the menu links 1 level above (if applicable)
The expected url pattern for third level 2 (under Top level/Second level 1) is ".com/second-level-1/third-level-2"




Updated:

I ended up write a custom module to call the hook_alter using the pathauto that just removes the first part of the URL before the node save event.
You can use this module https://www.drupal.org/project/pathauto with this you define the custom path use token