0

我正在运行一个社交网络,现在我的 search.php 显示人员和标签的结果。如何添加 RSS 源?我拥有一个博客,我想将我的 RSS 提要添加到搜索中,这样每当有人搜索某个主题时,它就会显示在搜索页面上。

这是 search.php 代码:

$feed = new feed();
$feed->db = $db;
$feed->url = $CONF['url'];

if(isset($_SESSION['username']) && isset($_SESSION['password']) || isset($_COOKIE['username']) && isset($_COOKIE['password'])) {    
    $verify = $loggedIn->verify();

    if($verify['username']) {
        $feed->user = $verify;
        $feed->username = $verify['username'];
        $feed->id = $verify['idu'];

        if(isset($_GET['tag'])) {
            $skin = new skin('shared/top'); $top = '';

            $TMPL['theme_url'] = $CONF['theme_url'];
            $TMPL['private_message'] = $verify['privacy'];
            $TMPL['avatar'] = $verify['image'];
            $TMPL['url'] = $CONF['url'];

            $top = $skin->make();
        }
    }
}

$feed->per_page = $settings['perpage'];
$feed->time = $settings['time'];
$feed->censor = $settings['censor'];
$feed->smiles = $settings['smiles'];
$feed->c_per_page = $settings['cperpage'];
$feed->c_start = 0;
$feed->l_per_post = $settings['lperpost'];

$TMPL_old = $TMPL; $TMPL = array();
$skin = new skin('shared/rows'); $rows = '';

if(empty($_GET['filter'])) {
    $_GET['filter'] = '';
}

// Allowed types
if(isset($_GET['tag'])) {
    // If the $_GET keyword is empty [hashtag]
    if($_GET['tag'] == '') {
        header("Location: ".$CONF['url']."/index.php?a=welcome");
    }
    $hashtags = $feed->getHashtags(0, $settings['qperpage'], $_GET['tag'], null);
    $TMPL['messages'] = $hashtags[0];
} else {
    // If the $_GET keyword is empty [user]
    if($_GET['q'] == '') {
        header("Location: ".$CONF['url']."/index.php?a=welcome");
    }
    $TMPL['messages'] = $feed->getSearch(0, $settings['qperpage'], $_GET['q'], $_GET['filter']);
}
$rows = $skin->make();

$skin = new skin('search/sidebar'); $sidebar = '';

if(isset($_GET['tag'])) {
    $TMPL['trending'] = $feed->sidebarTrending($_GET['tag'], 10);
} else {
    $TMPL['genre'] = $feed->sidebarGender($_GET['filter'], $_GET['q']);
}
$TMPL['ad'] = generateAd($settings['ad6']);

$sidebar = $skin->make();

$TMPL = $TMPL_old; unset($TMPL_old);
$TMPL['top'] = $top;
$TMPL['rows'] = $rows;
$TMPL['sidebar'] = $sidebar;

if(isset($_GET['logout']) == 1) {
    $loggedIn->logOut();
    header("Location: ".$CONF['url']."/index.php?a=welcome");
}

$TMPL['url'] = $CONF['url'];

if(isset($_GET['tag'])) {
    $TMPL['title'] = '#'.$_GET['tag'].' - '.$settings['title'];
} else {
    $TMPL['title'] = $LNG['title_search'].' - '.$_GET['q'].' - '.$settings['title'];
}

$skin = new skin('shared/timeline_x');
return $skin->make();

请帮忙 :)

4

1 回答 1

-1

试试这个例子

<?php 

    $articles = $pages->find('blog')->children()->visible()->flip()->limit(10);

    snippet('feed', array(
      'link'  => url('blog'),
      'items' => $articles,
      'descriptionField'  => 'text', 
      'descriptionLength' => 300
    ));

    ?>

链接:这是我们提要中的主要链接,它将访问者带回我们的网站。在这种情况下,我们希望他们回到我们的博客,因此我们使用 url() 辅助函数为我们的博客构建一个 url。

items:作为我们提要的项目,我们传递了我们在第一行中找到的一组 $articles。提要片段将自动从这些 $articles 中获取正确的信息(如标题、网址等)

descriptionField:如果您想在 Feed 中显示每个项目的描述,则需要指定一个字段,该字段在任何项目中都可用,并且应该用于描述。

descriptionLength:这是描述的最大字符数。提要片段自动生成摘录。

于 2013-09-28T05:21:52.180 回答