2

Joomla の記事のタイトルを返すクエリで先頭の「the」をトリミングしようとしています。これにより、結果がアルファベット順に表示され、先頭の「the」が存在する場合は無視されます。これを担当するモジュールは Article カテゴリ (Joomla コア モジュール) であり、変更する必要があると思われるファイルは modules/mod_articles_category の helper.php です。次の行を置き換えます。

  $articles->setState('list.direction', $params->get('article_ordering_direction',    
  'ASC')); 

これとともに:

  $articles->setState('list.direction', $params->get('article_ordering_direction',  
  'TRIM(LEADING \'THE \' FROM a.title) ASC'));

ただし、デバッグ モードを有効にすると、TRIM が表示されません。だから、どこか別の場所で変更を加える必要があると思います。申し訳ありませんが、私は Joomla に詳しくないので、このクエリがどこから来ているのかよくわかりません。どんなポインタでも大歓迎です。

4

1 に答える 1

1

わかりました、短い答えはノーです。このように、モジュールからクエリを変更できるとは思いません。私はモジュールを扱ったことはありませんが、コンポーネントについてはある程度の経験があるので、次の 2 つのアプローチをお勧めします。

  • setState を使用するのではなく、自分でクエリを作成して、モジュールから自分でデータベースをクエリしてみてください。
  • あなたはだますことができます。Joomla がすでに面倒な作業を行っているので、結果オブジェクト (つまり $list) を操作して再配置し、不要なものを取り除くことができます。また、コードをレイアウト オーバーライドとして扱うことをお勧めします。そうすれば、行った変更をオーバーライドせずにサイトを更新できます。
于 2013-06-15T23:17:52.203 に答える