2

Joomla 2.5 と K2 2.5.7 を使用しています。投票数が異なる投稿を含むカテゴリがあります。フロントエンドでは、このカテゴリのアイテムを投票数で並べ替える必要があります。

標準の星評価システムを単純な「1 票を投じる」システムに再構成しました。

ランキング順のページにこれが必要なので、投票数が最も多いアイテムが一番上に表示されます。

私が持っているもの

K2 カテゴリの MVC テンプレートがあります。私は$this->leading、category.php での並べ替えが適切かどうか疑問に思っていました。

もしそうなら、どうすればいいですか?実際の投票数を運ぶvar_dump変数があります。numOfVotesこの変数でこのオブジェクトをソートするにはどうすればよいですか?

どうもありがとうございました!

4

1 に答える 1

1

この K2 フォーラムの投稿があなたの質問に答えているようです。mod_content k2 モジュールを使用し、「並べ替え」パラメーターを使用して、最高の評価を選択する必要があります。

ftp で「modules/mod_k2_content/helper.php」にアクセスすると、98 行目に次のように表示されます。

$query .= ", (r.rating_sum/r.rating_count) AS rating";

これにより、評価が高い順にデータが並べ替えられます。一般に、これは投票数を投票した人の数で割った値でソートし、1 から 5 の結果を出します。しかし、あなたのケースでは全員が 5 票を獲得するため、平均結果は常に 5 になります。計算!、その行を次のように置き換える必要があると思います:

$query .= ", r.rating_count AS rating";

つまり、投票した人の数でソートするだけです(注:これは、反対票を投じるシステムも使用していないことを前提としています!あなたはそれについて言及していないので、そうではないと仮定しています)

その後、モジュールを使用できるようになります (通常どおり必要なパラメーターを選択します)。

コンポーネント カテゴリ オプションなどを使用する場合。同じコード行が 'components/com_k2/models/itemlist.php' の 39 行目にあり、これも編集する必要があります。次に、組み込みのパラメーターを通常どおり使用できます。

于 2012-09-13T12:49:59.283 に答える