Hi,
I’m using Discourse API for get the latest topics for specific category(works great!):
http://haxe.org.il/c/15/l/latest.json?
but I want to get excerpt for all topics not just topics…
How can I do that?
Thanks,
Michael
Hi,
I’m using Discourse API for get the latest topics for specific category(works great!):
http://haxe.org.il/c/15/l/latest.json?
but I want to get excerpt for all topics not just topics…
How can I do that?
Thanks,
Michael
There currently isn’t a get parameter to request excerpts, but it’s on the list of feature requests.
Hi.
It has been a few years, is it still impossible to do? I’m looking to display my lastest Discourse posts on a WP site and that would be an excellent feature.
Yeah this exists if you install this plugin:
Per:
@codinghorror I wonder should we just roll in the functionality of discourse tooltip, it will help keep it more stable over time and helps a tiny bit in some desktop situations.
I am fairly strongly opposed, because hover means nothing on touch and we should not be relying on non-touch behaviors at all. And given that the world will be 99.9% smartphone usage soon… it’s backwards thinking.
Hi,
I’ve installed and enabled this plugin. It works but I still don’t have the excerpts from other topics than pinned in top.json data.
I believe you need to do another request for the excerpts, like:
Hi, I know this is an old topic, but I am having the same issue.
My rss feed is working fine, but I rather use the Json one as it is more flexible.
So I have a php plugin that pulls discourse json feed ( latest, top, etc), everything works fine… expect the excerpt
Is there is reason why there is no post description on the Json feed? How can I fix this ?
Thanks.
Hallo, ich hatte das gleiche Problem und habe es gelöst, indem ich das Thema erneut abgerufen habe, um die benötigten Daten zu erhalten. Ich habe dies in der Komponente topic-list-item.js mit Ember.PromiseProxyMixin umgesetzt. Wie man es verwendet, findest du hier: Use Ember.PromiseProxyMixin in a theme
Der Code sieht ungefähr so aus:
// Ich habe eine benutzerdefinierte memoize-Funktion verwendet, um die Anzahl der Anfragen zu reduzieren
const getTopic = memoize(id => ajax(`/t/${id}.json`).then(data => data));
// ...
// Innerhalb der Komponente
@discourseComputed("topic")
topicPromise(topic) {
return getTopic(topic.id);
},
@discourseComputed("topicPromise")
topicProxy() {
const promise = this.get("topicPromise");
return promise && PromiseObject.create({ promise });
},
postStream: reads("topicProxy.content.post_stream"),
@discourseComputed("postStream")
excerpt(postStream) {
if (!this.get("postStream")) return false;
return `${stripHtml(postStream.posts[0].cooked).slice(0, 150)}...`;
},
stripHtml ist eine benutzerdefinierte Funktion, um HTML aus dem ersten Beitrag zu entfernen.
In topic-list-item.hbs würdest du Folgendes haben:
{{#if topicProxy.isFulfilled}}
<div class="excerpt">
{{#if excerpt}}
{{html-safe excerpt}}
{{/if}}
</div>
{{/if}}
Stellst du für jedes Thema in der Liste eine zusätzliche Anfrage, um die Zusammenfassung abzurufen?
Leider ja. Ich weiß, dass das die Leistung beeinträchtigt, aber ich treffe diese Entscheidungen nicht, wenn Sie mich verstehen.
Das wirst du lieben
OMG! Warum ist das versteckt?! ![]()
Da es viele Supportanfragen von Administratoren gibt, die alle Einstellungen anklicken, ohne sie zu lesen, bedeutet dies, dass viele Instanzen eine größere Nutzlast haben würden, ohne jemals die zusätzlichen Daten aus der API zu nutzen.
Bald werden Themes diese Serialisierungsänderungen deklarativ aktivieren können.