Comment afficher les réponses et les vues dans la section des catégories ? Avec un libellé indiquant « réponses » et « vues ». Une capture d’écran a été publiée montrant l’emplacement :
Je ne pense pas que quelqu’un l’ait déjà créé, mais si vous avez besoin que ce soit fait rapidement, essayez le Marketplace .
Y a-t-il des ressources qui peuvent m’aider à le construire moi-même, ou quelqu’un qui pourrait me guider ? Je ne suis pas pressé.
Vous parviendrez probablement à créer un composant de thème.
Il semble que les données se trouvent déjà dans le sérialiseur :
if topics_filter == :latest
result.topic_list = TopicQuery.new(current_user, topic_options).list_latest
elsif topics_filter == :top
result.topic_list = TopicQuery.new(nil, topic_options).list_top_for(SiteSetting.top_page_default_timeframe.to_sym)
end
result.topic_list.draft = result.category_list.draft
result.topic_list.draft_key = result.category_list.draft_key
result.topic_list.draft_sequence = result.category_list.draft_sequence
render_serialized(result, CategoryAndTopicListsSerializer, root: false)
end
def required_param_keys
[:name]
end
def required_create_params
required_param_keys.each do |key|
params.require(key)
end
Le sérialiseur inclut un TopicListSerializer :
# frozen_string_literal: true
class CategoryAndTopicListsSerializer < ApplicationSerializer
has_one :category_list, serializer: CategoryListSerializer, embed: :objects
has_one :topic_list, serializer: TopicListSerializer, embed: :objects
has_many :users, serializer: BasicUserSerializer, embed: :objects
has_many :primary_groups, serializer: PrimaryGroupSerializer, embed: :objects
def users
users = object.topic_list.topics.map do |t|
t.posters.map { |poster| poster.try(:user) }
end
users.flatten!
users.compact!
users.uniq!(&:id)
users
end
def primary_groups
groups = object.topic_list.topics.map do |t|
This file has been truncated. show original
Les données devraient donc être transmises au modèle Ember.
Vous devez examiner les modèles.
En creusant, vous arrivez à ceci :
Puis plus loin à ceci :
Et enfin à ceci :
C’est probablement celui que vous devrez modifier.
Vous pouvez vous référer à ceci pour quelques idées :
{{#if bulkSelectEnabled}}
<td class="bulk-select">
<input type="checkbox" class="bulk-select">
</td>
{{/if}}
{{!--
The `~` syntax strip spaces between the elements, making it produce
`<a class=topic-post-badges>Some text</a><span class=topic-post-badges>`,
with no space between them.
This causes the topic-post-badge to be considered the same word as "text"
at the end of the link, preventing it from line wrapping onto its own line.
--}}
<td class='main-link clearfix' colspan="1">
<span class='link-top-line'>
{{~raw-plugin-outlet name="topic-list-before-status"}}
{{~raw "topic-status" topic=topic}}
{{~topic-link topic class="raw-link raw-topic-link"}}
{{~#if topic.featured_link}}
{{~topic-featured-link topic}}
This file has been truncated. show original
Ce n’est pas entièrement simple pour quelqu’un qui n’y est pas habitué, mais persévérez et vous parviendrez à faire fonctionner.
Cependant, envisagez de faire des pas de bébé. Commencez par un changement plus simple pour vous habituer à ce genre de manipulation.
Ce fragment de code affiche les vues dans l’onglet Derniers, et non dans l’onglet Catégories. Existe-t-il un moyen simple de le faire fonctionner également pour l’onglet Catégories ?
Je soupçonne que vous n’avez besoin de modifier qu’un ou deux modèles : l’un pour l’en-tête et l’autre pour chaque élément de la liste des sujets.
Avez-vous essayé d’ajouter ceci ?
<td class="num views {{topic.viewsHeat}}">{{number topic.views numberKey="views_long"}}</td>
Je ne peux pas garantir que cela fonctionnera immédiatement, mais cela devrait vous orienter dans la bonne direction.
Assurez-vous de comprendre les bases du fonctionnement d’Ember. Lisez au moins cette section des Guides : Templates are HTML - Components - Ember Guides