|
|
- <?php
-
- namespace App\Repositories;
-
- use App\Repositories\RepositoryAbstract;
-
- /**
- * request pages items from directus
- *
- * @author Björn Hase, Tentakelfabrik
- * @license http://opensource.org/licenses/MIT The MIT License
- * @link https://gitea.tentakelfabrik.de/Tentakelfabrik/super-gear-directus
- *
- */
-
- class PageRepository extends RepositoryAbstract
- {
- /** endpoint */
- protected $endpoint = 'pages';
-
- /**
- * find single page with a slug,
- * page must be published
- *
- * @param string $slug
- * @return array
- */
- public function findOneBySlug($slug)
- {
- // if slug not set, search for empty slug
- if (!$slug) {
- $slug = [ '_null' => 'true' ];
- } else {
- $slug = [ '_eq' => $slug ];
- }
-
- return $this->queryBuilder
- ->fields([
- 'title', 'slug', 'content', 'view', 'meta',
- 'media_teaser.*',
- 'media_hero.*'
- ])
- ->aliases('template', 'view')
- ->filter([
- 'status' => 'published',
- 'slug' => $slug
- ])
- ->findOne();
- }
- }
|