```ruby
require 'spiderfw/controller/app_controller'

module Spider

    class PageController < Controller
        include Visual

        def initialize(request, response, scene=nil)
            super
            @widgets = {}
        end
        
        
        def get_route(path)
            if (path =~ /^[^:]+:([^:\/]+)[:\/]?(.*)$/) # route to widgets
                if (@widgets[$1])
                    return Route.new(:path => path, :dest => @widgets[$1], :action => $2)
                end
            end
            return super
        end
        
        def init_template(path)
            template = load_template(path)
            template.widgets = @widgets
            template.init(@request, @scene)
            return template
        end
        
        def render(path=nil, scene=nil)
            scene ||= @scene
            scene[:widgets] = @widgets
            super(path, scene)
        end
            


    end


end```

Fix for new template sintax
user
```ruby
require 'spiderfw/controller/app_controller'

module Spider

    class PageController < Controller
        include Visual

        def initialize(request, response, scene=nil)
            super
            @widgets = {}
        end
        
        
        def get_route(path)
            if (path =~ /^[^:]+:([^:\/]+)[:\/]?(.*)$/) # route to widgets
                if (@widgets[$1])
                    return Route.new(:path => path, :dest => @widgets[$1], :action => $2)
                end
            end
            return super
        end
        
        def init_template(path)
            template = super
            template.widgets = @widgets
            return template
        end
        
        def render(path=nil, scene=nil)
            scene ||= @scene
            scene[:widgets] = @widgets
            super(path, scene)
        end
            


    end


end```
assistant