0

k2 コア ファイルの一部を変更して、カテゴリ内のアイテムの別の順序付けオプション (カテゴリ ID 順) を追加しました。これを実現するために、次のファイルに変更を加えました。

com_k2/models/itemlist.php 279行目に追加

     case 'catid':
         $orderby = 'i.catid ASC';
         break;

com_k2/views/itemslist/tmpl/category.xml 81 行目に追加

<option value="catid">Category</option>

com_k2/views/itemslist/tmpl/generic.xml の 22 行目を追加

<option value="catid">Category</option>

私が行ったハックはうまく機能しているように見えますが、データベースで手動で jos_k2_categories テーブルの params フィールドを変更した場合のみです。管理者経由でカテゴリを変更すると、「アイテムの順序」フィールドが「デフォルト」に戻ります。オプションをxmlファイルに追加すると、このオプションが使用可能になるはずですが、Joomlaでの拡張機能の開発に関する知識は限られています。この新しいオプションを追加する場所は他にありますか? Joomla 管理画面に表示するために追加した新しい注文オプションを取得するにはどうすればよいですか?

4

1 に答える 1

2

あなたが行ったハッキン​​グの種類は特定されていませんがcomponents/com_k2/views/itemlist/tmpl/category.xml
、管理パネルにある項目の順序に関するオプションを設定できます。次のようなものに行くことができます:

<param name="itemOrdering" type="list" default="" label="Item ordering" description="Select the order of items">
   <option value="date">Oldest first</option>
   <option value="rdate">Most recent first</option>
   <option value="alpha">Title Alphabetical</option> 
   <option value="order">Ordering</option>
   <option value="rand">Random ordering</option>
</param>

多くの値が に読み込まれcomponents/com_k2/views/itemlist/view.html.phpます。 を呼び出し$item_ordering = $params->get('itemOrdering')てモデルに渡します。インスピレーションを得るためにそのファイルを調べてください。私はしばらく Joomla をいじっていません。

于 2011-07-15T21:35:05.063 に答える