# Aggiungere classe agli elementi dei risultati di ricerca a pagina intera?

**URL:** https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924
**Category:** Development
**Created:** [12 Febbraio 2023, 9:07pm UTC](https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924 "2023-02-12T21:07:03Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![asc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/asc/32/288324_2.png) [@asc](https://meta.discourse.org/u/asc)
#### Post date: [12 Febbraio 2023, 9:07pm UTC](https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924/1 "2023-02-12T21:07:03Z")

</div>

Sto cercando di aggiungere una classe per la categoria di un post nei risultati restituiti da full-page-search. Ho provato a usare `modifyClass` sia per `controller/full-page-search` che per `component/search-result-entry`, inclusa la [soluzione alternativa per il bug di `modifyClass` da qui](https://meta.discourse.org/t/api-modifyclass-sometimes-not-working/212413/12), e non riesco nemmeno a far funzionare un `console.log` o un `alert`. Esiste un altro modo per aggiungere semplicemente una classe agli elementi post di `fps-result`? Sto fondamentalmente cercando l’equivalente di `decorateCookedElement` per la ricerca a pagina intera.

```js
api.modifyClass('controller:full-page-search', {
   pluginId: 'mute-categories-search',
   actions: {
    newActionHere() {
        console.log("test")
    }
   }
});
const controller = api.container.lookup('controller:full-page-search');

```

---

<div class="post-metadata">

### Author: ![asc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/asc/32/288324_2.png) [@asc](https://meta.discourse.org/u/asc)
#### Post date: [13 Febbraio 2023, 2:29am UTC](https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924/2 "2023-02-13T02:29:52Z")

</div>

Ho finito per ottenere l’ID della categoria usando decoratePluginOutlet e poi risalendo e scendendo la gerarchia per trovare il link della categoria dal badge e aggiungerlo al div dell’argomento. C’è un modo migliore per farlo?

```js
api.decoratePluginOutlet(
   "full-page-search-category",
   (elem, args) => {
    let searchCategory = elem.parentElement.parentElement
    let fpsTopic = searchCategory.parentElement.parentElement
    let category_id = searchCategory.children[0].getAttribute('href').split("/").slice(-1);
    console.log(category_id)
    fpsTopic.classList.add("category_" + category_id)
   }
 );

```

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [18 Aprile 2023, 10:40am UTC](https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924/3 "2023-04-18T10:40:59Z")

</div>

> [@Using modifyClass to change core behavior](https://meta.discourse.org/t/using-modifyclass-for-objects-which-are-initialized-early-in-boot/262064):
>
> For advanced themes and plugins, Discourse offers the modifyClass system. This allows you to extend and override functionality in many of core’s javascript classes. When to use modifyClass modifyClass should be a last resort, when your customization cannot be made via Discourse’s more stable customization APIs (e.g. plugin-api methods, plugin outlets, transformers). Core’s code can change at any time. And therefore, customizations made via modifyClass could break at any time. When using this A…

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [22 Aprile 2023, 7:00am UTC](https://meta.discourse.org/t/add-class-to-full-page-search-result-items/254924/4 "2023-04-22T07:00:18Z")

</div>

Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più consentite nuove risposte.
