Hey there,
I'm trying to define a page title though a template by using variable. Is it a way to do that ?
Something like pagetitle=$myvariable
Thanks a lot
Hi,
You can use the add-page-form macro from Linking Plugin. It is a free plugin.
https://marketplace.atlassian.com/plugins/net.customware.confluence.plugin.linking
Regards
Nelson
My need is that in my template I created a variable.
I used the template, fill the variable and go on step 2.
In this step, I want that the name of my page is prefilled with the variable I've filled on step 1. Is it possible ?
Is it possible to add this variable inside a component in the template ?
I dont know if there is a easier way, but you can create a user macro to do that. I have tested and this works:
## @noparams<script>
$( "input[name='variableValues.VARIABLENAME']" ).change(function(){console.log($(this).val());
$("form[name='filltemplateform']").find("input[name='title']").val($(this).val())
})</script>
Note: $( "input[name='variableValues.VARIABLENAME']" ) --> Replace VARIABLENAME for the name of your variable. I used input for text variable, but you will need to use select for list variable.
Thanks for answer.
But how can I create an user macro if I'm only a space administrator ?
Check if you have the html macro and you will only need to include the script ; otherwise, you will need to ask your admin
And is it possible to add this variable in a component ? For example a JIRA Macro ?
It's an old topic but I still can not find a solution for it in Confluence 5.10.
As Raspdealer has written I would like to achieve the same two simple(?) things:
Anybody has accomplished that somehow?
Thanks
1. Create a user macro that accepts a parameter. I slightly modified the code Nelson provided.
2. Add a variable to the template page (use IE and not Chrome). $Meeting Date
3. Add a section to the template page, type in the following and then press Enter: {mtg-date-page:pageName = Weekly Status Meeting}
User Macro Code:
## @param pageName=Page Name|type=string|desc=This is the general name of the page. It will be appended to the date value which is stored in the Meeting Date variable on the page template.<script>var pageTitle= "$parampageName";$("input[name='variableValues.Meeting Date']" ).change(function(){console.log($(this).val());$("form[name='filltemplateform']").find("input[name='title']").val($(this).val() + " " + pageTitle)})</script>
That works great for one variable in a template, but what if I want to set the page title based upon two variables in a template?
Hello Ian,
Did you find a solution for your issue?
I'm struggling with slightly similar challagne. I would like my template to be creating a pages with a name composed out of three variables. and I still haven't figured out how to do that.
Best regards,
Marcin
It would be nice to be able to insert custom variables in the title parameter of the Create from Template Macro. Anyone have any ideas when this will be possible?
This code below can be added to a user macro to combine a template variable projectID with another template variable projectName to form a page title. Just intercept the submit event for the filltemplateform. I added some basic data verification to ensure projID is a number between 2 and 5 digits.
AJS.toInit(function(){$("form[name='filltemplateform']").submit(function(event){let projID = $( "input[name='variableValues.projectID']" ).val();if (projID.length < 2 || isNaN(projID)){ alert("Invalid value - Project ID must be numerical between 2 and 5 digits"); event.preventDefault();}$("form[name='filltemplateform']").find("input[name='title']").val(projID + " - " + $( "input[name='variableValues.projectName']" ).val());});...});
Not a complete solution, but if you use the Create Template macro there is a field in the dialog for "Title of page to be created"
You can't use template variables (that I know of), but at least you can give the person creating the page a hint as to what name you should be using.
I'm an space admin. There have been a lot of changes. Can I still do this?
I am trying to get this PageTitle to work and just can get around to making it happen. Anybody have a detailed example or step by step?
I have a working user macro which I am able to pull off the variables from. But everytime I create the page from the template, the title always shows empty and I need to manually enter some data into it.
Any help would be greatly appreciated as I've searched left and right for more detailed information.
I guess this question has the merite to get answered. I've been trying without success... perhaps this feature is no longer available?
Hi all
There would be a really easy workaround for this.
Confluence Server
You can add the "Create from Template" macro on any page. There you can choose the template and the template name. No if you click the button, it will generate a subpage with the template and your template name.
Confluence Cloud
It's the same as server. Here's the Cloud documentation for "Create from Template".
The downside is, you can't create the page from the navigation. You have to go the page and click the button.
Regards, Dominic
Hello Dominic,I'm visiting this page because that doesn't work. Of course you can "create from template". The problem is that I'd like to have the users add variables and thereby create the page name. In our case, "logbook_WPx_subject". I'd like the users to fill in the x, and the subject, and then the page will be created with the title. For instance, fill in 2 for x, and "understanding confluence" for subject, and I'd like to get a page "logbook_WP2_understanding confluence". Is this possible in Cloud? I was not able to do it:
I have the same question, the "Create from template" only seems work for one variable out of a list of 3 pre-defined variables.
following the solutions given previously, I have created my own variation that takes multiple fields from my template to create the page title:
<script> var partnum,majver,minver,prodname; $("input[name='variableValues.prodname' ]").change(function() { partnum=$("input[name='variableValues.partno']").val(); majver=$("input[name='variableValues.majver']").val(); minver=$("input[name='variableValues.minver']").val(); prodname=$("input[name='variableValues.prodname']").val(); console.log(partnum+majver+minver+prodname); $("form[name='filltemplateform']").find("input[name='title']").val(partnum+"."+majver+"."+minver+"."+prodname) }) </script>
note that the macro is triggered when 'prodname' gets entered, so it has to be the last field that the user is likely to enter otherwise the earlier fields will be empty.
Hi Andy,
Did you make this for server or for cloud?
So I've got this working, but I had a few questions.
I had to add the variables to the template. Since this information is captured in the page title, I DO NOT want to display is again. How can this be hidden?
This is basically the same request as the OP has asked.
His question has been answered, but for me the provided solution does not work.
It looks like you're new here. Sign in or register to get started.