# Modification des documents Discourse pour permettre uniquement le tri par titre

**URL:** <https://meta.discourse.org/t/modifying-discourse-docs-to-only-allow-for-sorting-by-title/210092>\
**Category:** Feature\
**Tags:** docs\
**Created:** [Novembre 24, 2021, 9:44 UTC](https://meta.discourse.org/t/modifying-discourse-docs-to-only-allow-for-sorting-by-title/210092 "2021-11-24T21:44:26Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Nick\_Chomey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nick_chomey/32/215378_2.png) [@Nick\_Chomey](https://meta.discourse.org/u/Nick_Chomey)\
**Post date:** [Novembre 24, 2021, 9:44 UTC](https://meta.discourse.org/t/modifying-discourse-docs-to-only-allow-for-sorting-by-title/210092/1 "2021-11-24T21:44:26Z")

</div>

Discourse Docs est la principale raison pour laquelle j’ai choisi d’utiliser Discourse plutôt que d’autres logiciels de forum. Cependant, il présente un inconvénient majeur pour moi : par défaut, il trie par activité. J’aimerais supprimer complètement la possibilité de trier par activité, mais je n’arrive pas à trouver comment faire.

J’ai trouvé [cette section de code](https://github.com/discourse/discourse-docs/blob/d3eee7008b7a703774331808e302e36f2f8b4eae/lib/docs/query.rb#L80), et j’ai supprimé l’instruction `elsif` pour le tri par activité, mais cela n’aide pas.

```plaintext
      if @filters[:order] == "title"
        if @filters[:ascending].present?
          results = results.reorder('topics.title')
        else
          results = results.reorder('topics.title DESC')
        end
      elsif @filters[:order] == "activity"
        if @filters[:ascending].present?
          results = results.reorder('topics.last_posted_at')
        else
          results = results.reorder('topics.last_posted_at DESC')
        end
      end

```

J’ai également fait la même chose dans [ce fichier](https://github.com/discourse/discourse-docs/blob/d3eee7008b7a703774331808e302e36f2f8b4eae/spec/requests/docs_controller_spec.rb#L166) et cela offre toujours les mêmes capacités de tri.

```plaintext
   context 'when ordering results' do
      context 'by title' do
        it 'should return the list ordered descending' do
          get "/docs.json?order=title"

          expect(response.status).to eq(200)

          json = response.parsed_body
          topics = json['topics']['topic_list']['topics']

          expect(topics[0]['id']).to eq(topic2.id)
          expect(topics[1]['id']).to eq(topic.id)
        end

        it 'should return the list ordered ascending with an additional parameter' do
          get "/docs.json?order=title&ascending=true"

          expect(response.status).to eq(200)

          json = response.parsed_body
          topics = json['topics']['topic_list']['topics']

          expect(topics[0]['id']).to eq(topic.id)
          expect(topics[1]['id']).to eq(topic2.id)
        end
      end

      context 'by date' do
        before do
          topic2.update(last_posted_at: Time.zone.now + 100)
        end

        it 'should return the list ordered descending' do
          get "/docs.json?order=activity"

          expect(response.status).to eq(200)

          json = response.parsed_body
          topics = json['topics']['topic_list']['topics']

          expect(topics[0]['id']).to eq(topic.id)
          expect(topics[1]['id']).to eq(topic2.id)
        end

        it 'should return the list ordered ascending with an additional parameter' do
          get "/docs.json?order=activity&ascending=true"

          expect(response.status).to eq(200)

          json = response.parsed_body
          topics = json['topics']['topic_list']['topics']

          expect(topics[0]['id']).to eq(topic2.id)
          expect(topics[1]['id']).to eq(topic.id)
        end
      end
    end

```

J’ai effectué les modifications à la fois directement dans le fichier sur le serveur, ainsi que dans une fork de Discourse Docs que j’ai ensuite installée.

Quelqu’un a-t-il des conseils ? Je pensais vraiment que ce serait un travail de 3 minutes, mais j’y ai passé de nombreuses heures maintenant…

Merci !

---

_[View the full topic](https://meta.discourse.org/t/modifying-discourse-docs-to-only-allow-for-sorting-by-title/210092)._
