TODO #17141

サイト内検索結果の $datas($posts)の中身を通常の$postsと同じに

Added by - garyuten about 2 years ago. Updated about 1 month ago.

Status:終了Start date:
Priority:急いでDue date:
Assignee:江頭 竜二% Done:

0%

Category:GitHubへ移行済
Target version:-

Description

サイト内検索結果を自由に調整したいです。
タグやカテゴリ表示、アイキャッチ画像表示など。

今現在、サーバー負荷軽減のためだと思われますが、最低限のデータしか取得できません。
サーバー負荷関係なく全てのデータを取得する手立てが欲しいです。

現時点の回避策は、
$datasのループ中に、以下のcakePHPの書き方で1件ずつ$postを取得するしかありません。

$BlogPost = ClassRegistry::init('Blog.BlogPost');

foreach($datas as $data):
    $post = $BlogPost->find('all', array(
      'conditions' => array_merge($BlogPost->getConditionAllowPublish(), array(
        'BlogPost.id' => $data["Content"]['model_id']
      )),
      'limit' => 1,
      'cache' => false
    ));

    $eye_catch_src = "/files/blog/" . $post[0]["BlogContent"]["name"] . "/blog_posts/" . $post[0]["BlogPost"]['eye_catch'];
〜
?>

理想は、検索結果データの $datasの中身を通常のループ中$postsと同じように扱えること。
検索結果の表示を、ブログのアーカイブ一覧と同じようにできることです。


History

#1 Updated by - garyuten about 2 years ago

追加報告です。

$BlogPost = ClassRegistry::init('Blog.BlogPost');

foreach($datas as $data):
    $post = $BlogPost->find('all', array(
      'conditions' => array_merge($BlogPost->getConditionAllowPublish(), array(
        'BlogPost.id' => $data["Content"]['model_id']
      )),
      'limit' => 1,
      'cache' => false
    ));

    $eye_catch_src = "/files/blog/" . $post[0]["BlogContent"]["name"] . "/blog_posts/" . $post[0]["BlogPost"]['eye_catch'];
〜
?>

上記のように取得した $post で正常にリンクが取得できない現象を確認しました。

$postLink = $this->Blog->getPostLinkUrl( $post );

→ /archives/{記事No}
 本来は /news/archives/{記事No} など。

$postにブログ情報が含まれていないのが原因のようです。

よくある使い方として、ブログのテーマ内の post.php を検索結果に流用したい、というのがあります。
この辺のためにも 検索結果の $post を他と同じ挙動にすることが望まれます。

追記)
申し訳ありません、私の勘違いでしたm(_ _)m
HTMLソース上では正しくgetPostLinkUrlが出力されていました。
リンクがおかしくなるのは他のことが原因のようでした。

取り急ぎお詫びまで。

#2 Updated by 江頭 竜二 almost 2 years ago

  • Target version changed from 4.0.5 to 4.1.0

この件、DBと、取得するデータ構造の変更が必要となりそうです。マイナーアップデートで検討したいと思います。
- search_indices テーブルにアイキャッチ情報を持たせる
- タグ、カテゴリを共通インターフェイスとして提供できるかどうか

#3 Updated by 江頭 竜二 11 months ago

  • Priority changed from 通常 to 急いで

#4 Updated by 江頭 竜二 11 months ago

  • Target version deleted (4.1.0)

#5 Updated by 江頭 竜二 about 1 month ago

  • Category changed from サイト内検索 to GitHubへ移行済

#6 Updated by 江頭 竜二 about 1 month ago

  • Status changed from 担当 to 終了

Also available in: Atom PDF