Раньше я этого не замечал. Несколько лет назад я искал что-то подобное для связывания идентификаторов записей WordPress с темами Discourse.
Свойство external_id темы будет возвращено на клиенте только в том случае, если у темы есть external_id. Если у темы его нет, вы не получите значение null. Это работает у меня для тем, у которых есть external_id:
<script type="text/discourse-plugin" version="0.11.0">
api.onPageChange (() => {
const c = api.container.lookup("controller:topic");
if (c) {
const m = c.get("model");
if (m && m.hasOwnProperty('external_id')) {
console.log("the external_id is ", m.external_id);
}
}
});
</script>