Router changes does not affect the template?

I tried to use this article to have the blog in the root folder, with routes:

However when I loop my children I don’t get the routed url but the old one:

<a href="<?php echo $item->url(); ?>">My link</a>

…gives me…

<a href="">My link</a>

…when hoping for…

<a href="">My link</a>

The routing works well but the template urls does not. Is this the expected behavour? Can I make the template to be aware of the routs?

No replys. Here comes my hackish solution.

Instead of…

echo $item->url();

…do this…

echo $item->routed()->url();

Add a field method like this…

field::$methods['url'] = function( $field ) {
	if( $field->key == 'routed' ) {
		$url = str_replace(
		return $url;

In my route the child pages to /categories/ and /blog/ are routed to the root. Now they will also be removed from the urls.

It’s a little hackish but I think it works. Better solutions are welcome.