Thanks for your reply. I figured I was using #displayed incorrectly. I'm going to work around this for now by adjusting CSS to make the layout a bit more palatable.
You wrote:
Only way I can think of to force it is to use a Custom HTML field to substitute in the HTML value of the firstname field then condition against the Custom HTML field. That might work as the HTML output will be checked for privacy.
Well, I've been playing around with this, and I believe I have it working ... to a degree.
I created a first Custom HTML field called cb_firstnameconditional. I then placed the following code within it:
Code:
[cb:userfield field="firstname" /]
This field is set to not display on profile, edit, or registration.
I then created a second Custom HTML field called cb_firstnamedisplay. I then placed the following code within it:
Code:
[cb:if cb_firstnameconditional!=""][cb:userfield field="firstname" /][/cb:if]
This cb_firstnamedisplay field was then set to display in the profile, in the tab placed in the Canvas Title position.
When testing, this seems to work: The cb_firstnamedisplay field hides/displays according to the end user's Privacy settings for the firstname field.
Now I'm having problems with adding an Else to this. I change the cb_firstnamedisplay to the following:
Code:
[cb:if cb_firstnameconditional!=""][cb:userfield field="firstname" /][cb:else][username][/cb:else][/cb:if]
The elements inside the Else statement do not render: I've tried replacing [username] with [cb:userfield field="username" /] and even just a test text string, but no joy. Any idea why the Else element doesn't render? Note that this is the case no matter the privacy settings for [firstname].
I will note that the following code in cb_firstnamedisplay will get the username to render (no Else statement) while still respecting privacy for [firstname]:
Code:
[cb:if cb_firstnameconditional!=""][cb:userfield field="firstname" /][/cb:if][username]
Any ideas what's up here?