Карта сайта с laravel

Я работаю в своем проекте LARAVEL.

Я хочу сделать sitemap. Это мой контроллер:

class SitemapController extends BaseController {
        public function index() {
                header("Content-Type: text/xml;charset=utf-8");
                return View::make('sitemap');
        }
}

и это мой взгляд Карта сайта.лезвие.в PHP:

{{<?xml version="1.0" encoding="UTF-8" ?>}}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
                <loc>{{url()}}</loc>
                <priority>0.5</priority>
        </url>
        .
        .
        .
</urlset>

но результат не появился как XML. Это был обычный текст.

4 ответов


он работает, когда я использовал:

{{'<?xml version="1.0" encoding="UTF-8" ?>'}}

и я обновил свой контроллер, как:

class SitemapController extends BaseController {
        public function index() {
                $content = View::make('sitemap');
                return Response::make($content)->header('Content-Type', 'text/xml;charset=utf-8');
        }
}

Я предлагаю вам использовать этот пакет https://github.com/RoumenDamianoff/laravel-sitemap

установка

добавьте в свой :

"roumen/sitemap": "dev-master"

затем зарегистрируйте этого поставщика услуг в Laravel:

'Roumen\Sitemap\SitemapServiceProvider',

опубликовать файл конфигурации. (Необязательно)

php artisan config:publish roumen/sitemap

оберните объявление XML в одинарные кавычки:

{{'<?xml version="1.0" encoding="UTF-8" ?>'}}

работает для моего в Laravel.


добавьте объявление XML следующим образом:

<?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>