4.3.5にアップデートしたところウィジェットのリンク先は正常になりましたがサイト内検索が作動しなくなりました。
検索しても何も表示されず
デバッグモードで見ると該当する検索ワードのブログ記事は見つかっているようなタグが並んでいます。
アップロードの失敗によるものなのか
アップデートの不具合なのか
対処法があればご教授ください。
- セーフモード:Off
- データベース: SQLite
- baserCMSバージョン: 4.3.5
テーマ Gallery Site ( GallerySite_ver2 )
ウィジェットブログサイドバーも Galleryサイドバー同様
4.3.3のときに下記の投稿のようにカテゴリとタグのウィジェットのリンク先がおかしかったですが サイト内検索、最近の投稿、 月別アーカイブ一覧は正常でした
seto
2
サイト内検索ってこの画面ですよね。
デバッグモードで見ると該当する検索ワードのブログ記事は見つかっているようなタグが並んでいます。
デバッグモードだと、HTMLのタグは表示されるが画面には表示されない
ノーマルモードだと、HTMLのタグも画面の表示もどちらも表示されない
ということでしょうか?
また、ブラウザのコンソールや、app/tmp/logs/error.logには何かエラーは出ていませんでしょうか。
見ていただきありがとうございます。
そちらの検索画面です。
引用
デバッグモードだと、HTMLのタグは表示されるが画面には表示されない
ノーマルモードだと、HTMLのタグも画面の表示もどちらも表示されない
おっしゃるとおりですが、デバッグモードのタグといっても画面下部に
Nr Template
<もろもろタグが表示>
|Nr|View Variable|Type|Value|
|1.|widgetArea|string|3|
<もろもろ色々なタグが表示>
[1] => Array
(
[SearchIndex] => Array
(
[id] => 5341
[type] => ブログ
[model] => BlogPost
[model_id] => 記事番号
[site_id] => 0
[content_id] => 18
[content_filter_id] => 3
[lft] => 14
[rght] => 15
[title] => 該当記事のタイトル
[detail] => 該当記事内容
などのような表示です。
検索に対しての反応なのかわからないのですが下記のようなエラーがありました
ellorlogは
日時 Error: [NotFoundException] 見つかりませんでした。
Request URL:/ディレクトリ~
という形式のログがが多くあります
ブラウザのconsoleは
DevTools failed to load SourceMap: Could not load content for http://ドメイン/ディレクトリ/theme/GallerySite_ver2/css/milligram.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load SourceMap: Could not load content for http://ドメイン/ディレクトリ/theme/admin-third/css/admin/map/toolbar.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
seto
4
なるほど。もしdatasの部分に記事の情報が表示されているのであれば、データ自体は取れていそうですね。
エラーもあまり関係なさそうです。
では、以下の点をご確認いただけるでしょうか。
-
theme/GallerySite_ver2/SearchIndices/search.php というファイルが存在するかどうか
-
存在しない場合、 lib/Baser/View/SearchIndices/search.php が以下のページの内容と同じかどうか
ご確認ありがとうございます。
画像のように検索該当の記事の情報がみられるのでデータは取れているのですね。
1については存在しませんでした
2のファイルsearch.phpを確認しました。
念の為、リンク先のタグをコピーしたファイルに置き換えましたが
状況は変わりませんでした。
ブラウザや管理画面からのキャッシュクリアもしました
デバッグモードで画面下部に表示されるTemplateが少ないのは状況に関係するでしょうか
テーマが違うので関係ないでしょうか
(別サイト別テーマ(bccolumn)で検索できるものに比べると)
(GallerySite_ver2
bccolumn(別サイトで検索したもの)
seto
7
情報ありがとうございます。テンプレの違いはテーマによるものかと思います。
search.phpもちゃんと読み込まれていますね。
でしたら次は、lib/Baser/View/SearchIndices/search.php の上の方の <?php ?> の中に、
p($datas);
を追記して、何が表示されるか確認してみてください。
あとは、テーマをbc_sampleに切り替えたらどうなるかも気になりますね。
ありがとうございます
p($datas);
を入れてみましたが何も表示されませんでした。
テーマ切り替えすると一旦データが消えてしまうので
今のところは別ディレクトリ新規インストールでテストしてみることを考えています。
別ディレクトリで試してみました
画像で出していただいたような検索結果一覧がGallerySite_ver2(4系)だけ表示されないようです。
bc_sampleなど初期テーマやいくつか追加の別テーマでも検索結果は出ていました。
テーマはzipでインストールできないので解答してFTPでアップロードしてから適用しています
seto
10
単に検索データが存在しない場合は、array()
という表示が出るのですが、それもなさそうですね。
まるでsearch.phpが空のような…あとサイドのウィジェットも出て無さそうですね。
画面を右クリックしてページのHTMLソースを確認しても、GallerySiteだけ検索結果一覧の箇所が空の状態でしょうか?
また、/theme/GallerySite_ver2/VERSION.txt に記載されているバージョンは何でしょう。
私の場合は「2.0.1(4系)」でした。
GallerySite_ver2はダウンロード後、何も変更を加えていない状態でしょうか?
そうです。検索するとウィジェットも消えます。
GallerySiteの検索時のhtmlソースはmainコンテンツの中が空でした
バージョンは同じく2.0.1(4系)です。
何も変更を加えていないGallerySite_ver2でも変わりませんでした。
seto
12
theme/GallerySite_ver2/Layouts/default.php の mainタグの中ってどうなってるでしょうか。
気になったのが、以下のコメントが出力されていないことです。
<!--スライドショー-->
<!--スライドショーここまで-->
私の場合、mainタグの中は以下の状態です。
<main>
<!--スライドショー-->
<?php if ($this->BcBaser->isHome()): ?>
<div class="container">
<div class="row">
<div class="column">
<div class="slidebox">
<div class="bxslider">
<div class="row">
<div class="column">
<?php $this->BcBaser->mainImage(array('num' => 1)) ?>
</div>
</div>
<div class="row">
<div class="column">
<?php $this->BcBaser->mainImage(array('num' => 2)) ?>
</div>
</div>
<div class="row">
<div class="column">
<?php $this->BcBaser->mainImage(array('num' => 3)) ?>
</div>
</div>
<div class="row">
<div class="column">
<?php $this->BcBaser->mainImage(array('num' => 4)) ?>
</div>
</div>
<div class="row">
<div class="column">
<?php $this->BcBaser->mainImage(array('num' => 5)) ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php endif ?>
<!--スライドショーここまで-->
<!--ブログページ-->
<?php if (!empty($this->Blog)): ?>
<div class="container">
<div class="row">
<div class="column column-75">
<?php $this->BcBaser->content() ?>
</div>
<div class="column column-25">
<?php $this->BcBaser->widgetArea() ?>
</div>
</div>
</div>
<?php endif ?>
<!--ブログページここまで-->
<!--TOPページ-->
<?php if ($this->BcBaser->isHome()): ?>
<div class="container">
<div class="row">
<div class="column column-60 news">
<h3>Blog</h3>
<?php $this->BcBaser->blogPosts('weblog', 5) ?></div>
<div class="column column-40 news"><?php $this->BcBaser->widgetArea() ?></div></div>
</div>
<?php endif ?>
<!--TOPページここまで-->
<!--固定ページ-->
<?php if ($this->BcBaser->isPage()): ?>
<div class="container">
<div class="row">
<div class="column">
<?php $this->BcBaser->content() ?>
</div>
</div>
</div>
<?php endif ?>
<!--固定ページここまで-->
<!--メールフォーム-->
<?php if ($this->BcBaser->isMail()): ?>
<div class="container">
<div class="row">
<div class="column">
<?php $this->BcBaser->content() ?>
</div>
</div>
</div>
<?php endif ?>
<!--メールフォームここまで-->
</main>
失礼しました。
先程のソース画像はスライドショーを剤ったほうのhtmlソースでした。
投稿いただいたtheme/GallerySite_ver2/Layouts/default.php の mainタグの中身は同じです。
何も触っていない場合の検索結果のhtmlソースは
<main>
<!--スライドショー-->
<!--スライドショーここまで-->
<!--ブログページ-->
<!--ブログページここまで-->
<!--TOPページ-->
<!--TOPページここまで-->
<!--固定ページ-->
<!--固定ページここまで-->
<!--メールフォーム-->
<!--メールフォームここまで-->
</main>
になります
seto
14
うーん。実際の環境を見ないと解決が難しくなってきましたね…
また何か思いついたら書き込みますが、誰か同様の現象に心当たりがいらっしゃる方がいたらアドバイスをお願いします。
色々とアドバイスありがとうございます。
先程わからないながらもローカル環境のXAMPPでもやってみたのですが
GallerySite_ver2だけが検索結果が出ないのでお手上げです。
ダウンロードし直したファイルでも変わらない症状でした。
setoさんが一番最初に載せられた画像のように結果とウィジェットにならないんですよね。
お忙しいところお付き合いありがとうございました。