Come visualizzare le risposte e le visualizzazioni nella sezione delle categorie? Con un’etichetta che indica ‘risposte’ e ‘visualizzazioni’. Ho pubblicato uno screenshot con la posizione
Non credo che qualcuno abbia già realizzato questa cosa, ma se ti serve che venga fatta rapidamente, prova il Marketplace .
Ci sono risorse che possono aiutarmi a costruirlo da solo o qualcuno che possa guidarmi passo passo? Non ho fretta.
merefield
(Robert)
5 Novembre 2020, 12:23pm
6
Probabilmente riuscirai a creare un componente tema.
Sembra che i dati siano già nel Serializer:
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
Il Serializer include 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
Quindi i dati dovrebbero essere passati al modello Ember.
Devi esaminare i template.
Scendendo lungo questi, arrivi a questo:
Poi ancora più in basso a questo:
E infine a questo:
Questo è probabilmente quello che devi modificare.
Potresti fare riferimento a questo per alcune idee:
{{#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
Non è completamente semplice per chi non è abituato a questo, ma persisti e riuscirai a farlo funzionare.
Tuttavia, considera di procedere a piccoli passi. Prova prima una modifica più semplice per abituarti a farlo.
Questo frammento di codice visualizza le visualizzazioni nella scheda “Ultime”, non nella scheda “Categorie”. Esiste un modo semplice per farlo funzionare anche nella scheda “Categorie”?
Sospetto che tu debba modificare solo uno o due template: uno per l’intestazione e un altro per ogni elemento dell’elenco degli argomenti.
Hai provato ad aggiungere questo?:
<td class="num views {{topic.viewsHeat}}">{{number topic.views numberKey="views_long"}}</td>
Non posso garantire che funzioni immediatamente, ma dovrebbe indirizzarti nella giusta direzione.
Assicurati di comprendere le basi del funzionamento di Ember. Almeno, leggi questa sezione delle Guide: Templates are HTML - Components - Ember Guides