在Directus中将集合项输出为HTML

问题描述 投票:0回答:1

我是 Directus 新手。如何在此处为集合的所有项目添加循环?

// Define a function 'e'
var e = (router) => {

    // Create a GET route for the URL "/"
    router.get("/", (req, res) => {

        // Send a simple HTML response with a header
        let html = "<h1>List of all items</h1>";
        
        // Add loop for items output here
        // ### TBD!
        html += '<ul><li>List of all items of collection \'playgrounds\' to be added here</li></ul>';
        
        res.send(html);
    });
};

// Export the function as the default export
export { e as default };

我发现了一般如何访问项目,但不知道如何将其与上面的代码结合起来。

loops items directus
1个回答
0
投票

根据上面的代码,我假设它是一个端点。

在这种情况下,您可以使用 ItemsService 访问集合。
在这里您可以找到寄存器功能参数列表。

示例:

export default (router, { services, getSchema }) => {
    router.get('/', async (req, res) => {
        const { ItemsService } = services;
        
        const playgroundsItemsService = new ItemsService("playgrounds", {
            schema: await getSchema(),
            accountability: req.accountability
        });

        const playgrounds = await playgroundsItemsService.readByQuery({
            fields: ["*"]
        });

        let html = "<h1>List of all items</h1><ul>";
        for (const playground of playgrounds) {
            html += '<li>playground.id</li>';
        }
        html += "</ul>";

        res.send(html);
    });
};
© www.soinside.com 2019 - 2024. All rights reserved.