I want to add labels in create topic form fields is there any plugin available or any custom solution?
Do you mean a template so when a user creates a new topic, there are pre-filled options just like we have on marketplace?
Can you share a mockup or screenshot of where you want these fields?
Not exactly sure what you mean, but if you want to change the placeholder text, you can do that in the admin Customization tab, under Text. Type the current placeholder of the field and you should be able to change it.
Do you mean this?: Topic Template Placeholder Text theme component
Attached is the design screenshot which i need to implement. My question was to add the labels with text field as shown in the design
So you just want to add labels for each of the fields?
Only fields labels and some styling.
There are numerous approaches here, but consider, in order of preference:
- CSS
- Use of plugin outlets
- jQuery/equivalent native javascript edits of the DOM (not sure how easy this will be because this is not a component, so I don’t think it will be that easy to schedule manipulation as there are no event hooks).
- altering the template https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/templates/composer.hbs
The last option is risky, because this file will probably get a lot of updates over time (last update was 7 days ago!) and you don’t normally want to be overriding templates, especially those that frequently change, as you will mask stuff from core too much and break things.
Hi!
I’m interested in doing the same. Is modifying the CSS in our Community theme still the recommended way to go for accomplishing this? I work with a new front-end developer on my team who I can ask for help, but I’m not sure where I can point them in our theme CSS to help with this.
imho, if you just want labels, then yes, that advice stands. CSS would be the first call.
FYI It would have been nice if the original author would have shared their solution having received community advice, it is nice when people give back.