Atom::addItem PHP Method

addItem() public method

$item的格式为 array ( 'title' => 'xxx', 'content' => 'xxx', 'excerpt' => 'xxx', 'date' => 'xxx', 'link' => 'xxx', 'author' => 'xxx', 'comments' => 'xxx', )
public addItem ( array $item ) : unknown
$item array
return unknown
    public function addItem(array $item)
    {
        $this->_items[] = $item;
    }

Usage Example

Esempio n. 1
0
    $feeds->setSubTitle($config['description']);
    $posts = array_slice($context->index[$config['source']], 0, $config['recent']);
    foreach ($posts as $post) {
        $post = le_do_workflow('get_post', $config['source'], $post);
        $item = ['title' => $post['title'], 'link' => $post['permalink'], 'updated' => $post['date'], 'published' => $post['date'], 'author' => isset($config['author']) ? ['name' => $config['author'], 'url' => $config['url']] : NULL, 'content' => $post['content']];
        foreach ($context->config['blocks'] as $type => $val) {
            if (isset($val['source']) && is_string($val['source'])) {
                continue;
            }
            if ('archive' != $type && !empty($post[$type])) {
                foreach ($post[$type] as $meta) {
                    $item['category'][] = ['feeds_url' => $meta['url'], 'name' => $meta['name']];
                }
            }
        }
        $feeds->addItem($item);
    }
    $target = $context->dir . '_target/' . $config['target'];
    $targetDir = dirname($target);
    if (!is_dir($targetDir)) {
        if (!mkdir($targetDir, 0755, true)) {
            le_fatal('feeds directory is not exists "%s"', $targetDir);
        }
    }
    file_put_contents($target, $feeds->generate());
});
// generate sitemap
le_add_workflow('generate_sitemap', function () use($context) {
    $fp = fopen($context->dir . '_target/sitemap.xml', 'wb');
    if (!$fp) {
        le_fatal('can not write sitemap.xml');