|
22 | 22 | $model = $model->clone(['content' => $changesVersion->content()->toArray()]); |
23 | 23 | } |
24 | 24 |
|
25 | | - // if it's a site, show the home page URL |
26 | | - $displayModel = $model instanceof Site ? $model->homePage() : $model; |
27 | | - $meta = $model->metadata(); |
| 25 | + // if it's a site, fall back to the home page for preview data |
| 26 | + $model = $model instanceof Site ? $model->homePage() : $model; |
| 27 | + if (!$model) { |
| 28 | + return null; |
| 29 | + } |
28 | 30 |
|
| 31 | + $meta = $model->metadata(); |
29 | 32 | return [ |
30 | | - 'page' => $displayModel ? $displayModel->slug() : '', |
31 | | - 'url' => $displayModel ? $displayModel->url() : '', |
| 33 | + 'page' => $model->slug(), |
| 34 | + 'url' => $model->url(), |
| 35 | + 'pageTitle' => $model->title()->value(), |
32 | 36 | 'title' => $meta->metaTitle()->value(), |
33 | 37 | 'description' => $meta->metaDescription()->value(), |
34 | 38 | 'ogSiteName' => $meta->ogSiteName()->value(), |
35 | 39 | 'ogTitle' => $meta->ogTitle()->value(), |
36 | 40 | 'ogDescription' => $meta->ogDescription()->value(), |
37 | 41 | 'ogImage' => $meta->ogImage(), |
38 | 42 | 'cropOgImage' => $meta->cropOgImage()->toBool(), |
| 43 | + 'panelUrl' => method_exists($model, 'panel') ? "{$model->panel()?->url()}?tab=seo" : null, |
39 | 44 | ]; |
40 | 45 | } |
41 | 46 |
|
|
0 commit comments