A Strapi instance running, configured and filled with content types.
composer require rapidez/strapi
Add the Strapi url to your .env
:
STRAPI_URL=http://localhost:1337
Register some routes within routes/web.php
and use the strapi()
helper function to get the data. This function accepts the endpoint as parameter and just calls that endpoint and caches the response. For example:
Route::get('blog', function ($location) {
return view('strapi.blog', ['data' => strapi('blogs')])
});
Route::get('blog/{slug}', function ($slug) {
return view('strapi.blog-item', ['data' => strapi('blogs?slug='.$slug)[0]])
});
And use the data in your views. For example with {{ $data->name }}
you'll get the content of the name field.
When you're using a dynamic zone within your content type you can render them with a Blade directive:
@dynamiczone($data->content)
This tries to render views with the same name as the component and the data will be available with the $data
variable.
By default all responses from Strapi will be cached for 1 hour. You can change that with STRAPI_CACHE
in your .env
You can setup a webhook within Strapi which will be called when something changes. If you configure that with the cache clear url from Rapidez you don't have to worry about content not showing up after changes. See the Rapidez cache docs.
GNU General Public License v3. Please see License File for more information.