creode/personalised-data

此包最新版本(1.0.2)没有可用的许可证信息。

创建一个新的可挂载端点,允许您通过单个URL填充个性化用户数据。

1.0.2 2024-09-26 07:59 UTC

This package is auto-updated.

Last update: 2024-09-26 08:00:18 UTC


README

此包旨在用于需要动态数据在一定间隔内注入页面上的网站。这对于使用静态网站生成器构建的网站或由于需要加载的数据量较大而初始页面加载较慢的网站非常有用。

安装

composer require creode/personalised-data

用法

此包设计用于与Laravel应用程序一起使用。该包提供了一个Blade指令,可以用于定义在初始页面加载后需要加载到页面上的数据。

Blade指令

Blade指令是@personalisedData,将处理初始化脚本的注册,并需要放置在您的blade布局文件中。

@personalisedData

注册数据

可以通过将带有键和返回数据的可调用对象附加到Creode\PersonalisedData\Services\PersonalisedData服务类的attach函数来定义从个性化数据模块返回的数据。

use Creode\PersonalisedData\Services\PersonalisedData;

PersonalisedData::attach('product_comparisons', function() {
    $productIds = app(StorageInterface::class)->get();
    return ProductRepository::with(['featuredImage', 'category'])->find($productIds);
});

数据注入

数据属性会触发一个JavaScript窗口事件,其中包含所有个性化数据。一旦加载了子模块,它们可以监听并对此事件做出响应,将数据附加到页面上。

document.addEventListener('getPersonalisedDataComplete', (e) => {
    for (let product of e.detail.product_comparisons) {
        store.add(product);
    }
});