stuartcusackie/statamic-blade-view-data

从任何blade视图或组件中访问Statamic变量。

1.1.14 2022-10-18 13:14 UTC

This package is auto-updated.

Last update: 2024-09-17 16:19:53 UTC


README

用于从Blade组件内部访问Statamic数据的门面。此包提取传递给所选模板的Statamic数据,并将其添加到可以在应用程序中任何地方访问的单例中。

请勿使用

自从编写此包以来,Statamic的开发者找到了访问Statamic数据的一种更好的方法。在任何控制器或blade组件中使用Cascade门面

use Facades\Statamic\View\Cascade;

$cascade = Cascade::instance()->toArray();
$page = $cascade['page'];
$globalAnalytics = $cascade['analytics'];

安装

composer require stuartcusackie/statamic-blade-view-data

用法

该包提供Laravel门面。它有几个方法

  • StatData::context() - 返回所有视图数据
  • StatData::page() - 返回Statamic页面对象
  • StatData::site() - 返回Statamic站点对象
  • StatData::globalSet('social') - 返回特定的全局集

在blade视图中使用它

StatData::globalSet('social')['facebook_url']

在类中使用它需要正斜杠

$page = \StatData::page();

自定义路由

在web.php中设置的自定义路由,并使用自定义控制器,将不会初始化Statamic数据。

如果您在自定义控制器中返回视图,则可以像这样初始化blade数据

View::composer('pages/custom-view', function ($view) {
  \StatData::init($viewData);
});

return (new \Statamic\View\View)
  ->template('pages/custom-view')
  ->layout('layouts/app')
  ->with(['page' => $page]);