一つ目のtagのリンク先がおかしい

TOPページに3つのブログ記事posts.phpのをそれぞれ読み込んでいます。
2番目のブログの一つ目のtagのリンクだけ異なるブログ(1番目のブログのarchives)に飛んでしまいます。
2番目のブログの2つ目以降のタグ、1番目のブログのタグ、3番目のブログのタグのリンクは正常です。

削除して他の記事を一番上へ持っていっても、今度はその記事の一番目のタグが異なるリンク先へ飛ぶようになります。

一番目の記事のタグを外した場合、二番目のタグが今度は一番目になるのですが、それは正常にリンクします。

タグを変えても同じ現象です。

TOPページには

ブログ1:

<?php $this->BcBaser->blogPosts('news', 30, array( 'contentsTemplate' => 'topics' )); ?>

ブログ2:

<?php $this->BcBaser->blogPosts('haken/jobinfo', 20, array( 'contentsTemplate' => 'jobinfo' )); ?>

ブログ3:

<?php $this->BcBaser->blogPosts('blog', 20); ?>

がそれぞれあり、

posts.phpのタグ部分は

<?php $this->BcBaser->element('Blog.blog_tag', array('post' => $post,'link' => 'false')) ?>

と記載しています。

TOPページ(posts.php)以外のarchives,index,singleのページに関しては正常に動作しています。

修正したいのですが、全く検討がつきません。
すべてのtagが正常にリンクするにはどうすればよいのでしょうか。

どなたかご教授頂ければ幸いです。

どうぞよろしくお願いします。

Baser4.1.7
PHP5.6
mysql

こんにちは

basreの最新版で試してみたのですが、正常にリンクできました。

以下のスクリーンショットの、矢印が指している箇所のリンク先がおかしいということでよかったでしょうか?

1 Like

はい、そうです。
TOPページへの一覧表示(posts.php)の場合だけリンクがブログ1のほうへ飛んでしまいます。

テンプレートは bccolumをベースにしています。

何かが原因で、ブログ情報を正しく取得できていない状態のようですね。

ちょっと強引な方法なのですが、posts.phpの

<?php $this->BcBaser->element('Blog.blog_tag', array('post' => $post,'link' => 'false')) ?>

の行の前に、以下のコードを入れてみてください。

<?php $this->Blog->setContent($post['BlogPost']['blog_content_id']) ?>
1 Like

お返事ありがとうございます!

上記の通り記載したことでうまくリンクが飛ぶようになりました。
色々勉強になります。
本当にありがとうございました!!

2 Likes