新着情報に表示しているブログ記事が表示順通りにならない

バグかなと思ったらこちらへ。

新着情報に表示しているブログ記事が表示順通りにならない

投稿記事by matsu on 2020年10月29日(木) 19:13

お世話になっております。

ブログ記事をブログリンクブロックを利用し、トップページの最新情報に8件表示をさせています。
ブログ記事の表示順を指定すると、ブログ内では指定した表示順に並びますが、
トップページのブログリンクブロックを利用した新着情報には表示順が反映されず、記事作成日順に並んでいます。
以前は、ブログ内、新着情報とも指定した並び順で表示されていたと思います。
対応策を教えて頂けると幸いです。

さくらインターネット マネージドサーバー、
SOY CMS 3.0.2.328を利用中です。
最後に編集したユーザー matsu [ 2020年10月30日(金) 06:45 ], 累計 1 回
matsu
 
記事: 211
登録日時: 2012年12月30日(日) 14:17

Re: 新着情報に表示しているブログ記事が表示順通りにならないならない

投稿記事by inunosinsi on 2020年10月30日(金) 06:41

ブログリンクブロックは動作が複雑で、別件でどこかのバージョンで大改修を行っています。
おそらくその時に今回の要件を満たさなくなった可能性があります。

ブログリンクブロックの改修は難しいので、お時間を頂くことになりますので、可能であればブログリンクブロック以外の方法での実装をご検討ください。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 1014
登録日時: 2008年6月12日(木) 20:48

Re: 新着情報に表示しているブログ記事が表示順通りにならないならない

投稿記事by matsu on 2020年10月30日(金) 06:44

ご連絡ありがとうございます。
承知いたしました。

お忙しいところ申し訳ございませんが、時間が掛かっても大丈夫ですので、
ブログリンクブロックの利用でも表示順が優先されるようになると幸いです。

よろしくお願いいたします。
matsu
 
記事: 211
登録日時: 2012年12月30日(日) 14:17

Re: 新着情報に表示しているブログ記事が表示順通りにならない

投稿記事by inunosinsi on 2020年10月31日(土) 05:41

コードの確認を行いましたが、ブログリンクブロックでは意図的に記事の表示順を外していました。
理由ですが、複数のラベル毎に記事の表示順があり、システム側ではどのラベルに設定された表示順を参考にすれば良いのかわからないという事があります。

以前は表示順が反映されていたとありますが、以前はデータベースの方の規則が緩かったという事があり、多少無茶できましたが、最近のデータベースでは厳密性が増し、それに合わせて記事の取得周りのコードを一新したという背景があります。

試しに、複数ラベルに設けた表示順をごちゃまぜにしてデータベースから引き出してみましたが、「Subquery returns more than 1 row」のエラーが返ってきます。
https://dev.mysql.com/doc/refman/5.6/ja/subquery-errors.html

データベースの設定の方を変えれば無茶できますが、無茶したものを公開するのは問題なので以前に表示順のように改修は行わないとさせてください。

SQL構文の修正のチャレンジとして該当するコードをお伝えしておきます。
/CMSインストールディレクトリ/common/logic/site/Entry/class/new/LabeledEntryDAO.class.phpの273行目付近の
コード: 全て選択
//ブログリンクブロックの場合
if(isset($this->blockClass) && strpos($this->blockClass, "Multi") !== false) return " Order By entry.cdate " . $sort . ", entry.id " . $sort;

になります。

こちらのコードはSQL構文のORDER節のみを組み立てている箇所になりまして、このコードを改修した経緯はMySQLのERROR 1055 (42000)の回避の為に改修をしています。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 5.1.7 サーバー SQL モード
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 1014
登録日時: 2008年6月12日(木) 20:48

Re: 新着情報に表示しているブログ記事が表示順通りにならない

投稿記事by matsu on 2020年10月31日(土) 10:43

ご連絡ありがとうございます。

SQL構文の修正はできないため、現状のまま利用することにいたします。
ありがとうございました。
matsu
 
記事: 211
登録日時: 2012年12月30日(日) 14:17


Return to バグ報告

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]