Composant de thème pour les en-têtes de catégories Discourse

Je vois beaucoup de messages d’erreur dans la Console mentionnant ce composant.

Avis de dépréciation : utilisez siteSettings injecté au lieu de Discourse.SiteSettings (obsolète depuis Discourse 2.8) (suppression dans Discourse 2.9)

Nous avons corrigé cela dans un autre plugin en remplaçant Discourse.application.SiteSettings[...] par container.lookup('site-settings:main')[...]

Peut-être que cela résoudrait également les problèmes ici.

2 « J'aime »

Cela ne fonctionne pas pour moi, j’ai déjà essayé toutes les méthodes, en modifiant la configuration de l’affichage des catégories, je suis même revenu au thème « Par défaut » de Discourse et je n’arrive toujours pas à le faire fonctionner.

2 « J'aime »

Je viens de passer de la version 2.9.0.beta8 à la 2.9.0.beta9 et je rencontre le même problème. Pour une raison quelconque, cela ne semble pas fonctionner.

2 « J'aime »

Et sur github, il n’a pas été mis à jour depuis 2 ans, @Rhidian ce composant n’est-il plus pris en charge ?

2 « J'aime »

Je vais y jeter un œil quand je pourrai. Il n’est mis à jour que si une mise à jour de Discourse le casse. Je suis heureux d’accepter les pull requests sur GitHub si quelqu’un a une chance d’y jeter un œil avant moi.

4 « J'aime »

image

Cela me saute aux yeux. Je ne sais pas encore pourquoi la version bêta9 en particulier a déclenché l’échec.

En comparant mes instances, il n’y a eu aucun problème pour cette version

Et la première version avec laquelle j’ai un problème est ce commit

Donc, un commit entre le 28 juillet et le 25 août semble avoir dérangé quelque chose.

2 « J'aime »

J’ai jeté un coup d’œil rapide pour voir s’il s’agissait d’un problème fondamental qui avait causé la rupture.

Il me semble qu’il y a du javascript invalide dans le composant. Étant donné que cela fonctionnait dans le passé, je suppose que nos récentes mises à jour de la configuration de transpilation Babel de JavaScript du thème l’ont rendu moins tolérant à ce genre d’erreurs.

J’ai ouvert une PR pour corriger ici : FIX: Do not access variables before initialization by davidtaylorhq · Pull Request #3 · naidihr/discourse-category-headers · GitHub

Et une autre qui nettoiera l’avertissement Discourse.SiteSettings : Remove use of deprecated and private functions/properties by davidtaylorhq · Pull Request #4 · naidihr/discourse-category-headers · GitHub

5 « J'aime »

C’est génial David. Merci beaucoup. Je les ai fusionnés.

Rhod et Tristan, est-ce que cela résout le problème pour vous maintenant ?

4 « J'aime »

Oui, merci beaucoup à vous et à @david, je vérifie maintenant depuis mon appareil mobile, plus tard je vérifierai sur PC, mais cela semble fonctionner correctement.

1 « J'aime »

Comme un rêve ! Merci Rhidian !

2 « J'aime »

Merci pour ce super composant !

Y a-t-il un moyen d’ajouter également un titre aux différentes pages d’étiquettes ?

Comment faire pour que la bannière n’apparaisse que sur la page d’accueil et que les membres de niveau 4 puissent également la modifier ?

Je voudrais utiliser ceci pour une seule catégorie. Je pourrais lister tout le reste dans les « Exceptions de catégorie à masquer », mais cela semble difficile à maintenir. Serait-il possible d’ajouter un paramètre qui soit l’inverse de celui-ci ?

1 « J'aime »

J’adore ce thème, mais il y a un bug que je ne sais pas comment corriger, c’est à cause de mon ignorance.
J’utilise ce composant pour mettre des bannières dans les sous-catégories, mais dans les sous-catégories où je n’utilise pas l’image, il y a un espace qui n’est pas joli. exemple :

Salut @Pandabear Je suis allé sur ton forum pour voir si je pouvais aider, mais la bannière ne semble pas activée. Peut-être qu’une fois que tu l’auras activée, essaie ceci :

dans le CSS commun d’un thème ou d’un composant de thème :

.category-parentcategory-subcategory {
  .category-title-contents {
    display: none;
  }
}

parentcategory et subcategory sont respectivement le nom de la catégorie et de la sous-catégorie (le nom en minuscules que tu vois dans le champ URL du navigateur). par exemple, dans le cas de ta capture d’écran, l’URL est https://holaforo.com/c/musica/thalia/, donc le code serait

.category-musica-thalia {
  .category-title-contents {
    display: none;
  }
}

Merci beaucoup, vous êtes très gentil. Je l’avais désactivé car je ne trouvais pas de moyen de le corriger.

Je l’ai réactivé pour l’instant, j’ai seulement mis une bannière dans la sous-catégorie suivante
https://holaforo.com/c/musica/musica-pop/153

dans le reste des sous-catégories je n’ai pas de photo pour le moment, mais certaines sous-catégories je ne vais pas mettre de photo et ça fait moche avec un espace vide.

Concernant le code suivant :

.category-parentcategory-subcategory {
  .category-title-contents {
    display: none;
  }
}

Dois-je le faire pour toutes les catégories et sous-catégories pour lesquelles je ne vais pas mettre de photo ?

Je le fais pour toutes les catégories et sous-catégories et cela fonctionne ainsi :

.category-musica-thalia {
  .category-title-contents {
    display: none;
  }
}
.category-musica {
  .category-title-contents {
    display: none;
  }
}
.category-musica-musicapop1 {
  .category-title-contents {
    display: none;
  }
}
.category-musica-musicavariada {
  .category-title-contents {
    display: none;
  }
}

1 « J'aime »

@Pandabear - Je ne comprends pas pourquoi vous n’utilisez pas le paramètre hide category exceptions dans ce composant de thème ?

Quoi qu’il en soit, si nécessaire, vous pouvez également faire quelque chose comme ceci afin qu’il soit plus facile de gérer les catégories et les sous-catégories auxquelles vous souhaitez appliquer le code CSS :

$categories: 'musica', 'musica-thalia', 'musica-musicapop1', 'musica-musicavariada';

@each $category in $categories {
    .category-#{$category}  {
      .category-title-contents {
          display: none;
      }
   }
}
1 « J'aime »

Merci pour toute votre aide.
Je l’ai fait avec toutes les catégories en CSS sauf « soporte ».

La catégorie « soporte » est configurée sur masquer, mais un espace vide apparaît toujours.
https://holaforo.com/c/soporte/72

Salut, je reçois ces avertissements concernant ce composant :

[THEME 68 ‘Composant de thème des en-têtes de catégorie’] Avis de dépréciation : controller:navigation/category n’existe plus, et ce shim sera éventuellement supprimé. Pour récupérer des informations sur la route de découverte actuelle, utilisez plutôt le service de découverte. [id de dépréciation : discourse.navigation-category-controller]

2 « J'aime »

J’ai fait une PR :+1:

4 « J'aime »