Forum Discussion
Storyline 360: Variables in the built-in player Menu
Thanks Phil and Nedim! Your explanation makes sense since the Menu itself wouldn't show a unique number even if it could show variables. And Nedim thanks for showing where the Menu text is stored in the html.
In order for what I want to work without JavaScript it sounds like it would be two separate requests for Articulate, correct?
One request would be the ability for variable to show in the Menu and another request would be for a built-in variable that represents the number of the slide in the structure of the storyline course rather than the current slide number? (Or maybe that exists already and I just missed it?)
Would you say both of these requests are feature requests vs bug fixes? If so, do either of you know where I should go to request them?
- Nedim3 months agoCommunity Member
This is definitely a feature request, and I won’t argue whether it’s a bug or not.
In Storyline, whatever we define as the slide title is automatically assigned to the Project.SlideTitle variable. Since this variable is slide-specific, it can only hold one value at a time, reflecting the title of the currently active slide.
If Storyline allowed us to pass a custom variable (or even the Project.SlideTitle variable itself) to the menu, the menu would display only one title throughout, rather than dynamically updating per slide. In such a case, the %% symbols used for variables would simply be treated as plain text, rather than placeholders for dynamic values.
The key issue is that when the menu loads, it loads all slide titles at once, rather than updating based on the current slide. This means that no matter which slide you are on when the menu is generated, Project.SlideTitle will always reflect only the title of the current slide, rather than dynamically changing for each menu entry as it only display one value at a time.
In an ideal scenario, Project.SlideTitle should function as an array containing all slide titles, indexed according to their order in the project.
This way, instead of holding just one value (the current slide's title), it would store all titles, making it easier to reference slide names dynamically. Of course, everything above is just my opinion, and I have no way to prove this concept.
To dynamically change link items in the menu to different text values, you can try running the script below, executed on the master slide. In your scenario, you can modify the if condition to if (index > 50 && index < 151) and see what it does.const links = document.querySelectorAll('.linkText'); let linkNumber = 1; links.forEach((link, index) => { if (index > 2 && index < 7) { const isScene = link.closest('[data-is-scene]'); if (!isScene) { link.textContent = `Step ${linkNumber}`; linkNumber++; } } });
Advanced JavaScript programmers would likely find a simpler way to achieve this or even directly connect it to project variables, such as Project.SlideTitle or a custom variable set to the same value.
- StevenBenassi2 months agoStaff
Hi MicheleBuddie!
Glad to see Phil and Nedim have been helping you!
I'm happy to relay your feature requests to our product team. For now, as Nedim shared, this type of design functionality is not supported, unless implementing Javascript. We'll be sure to notify you if these enhancements make it to our product roadmap.
- MicheleBuddie2 months agoCommunity Member
Thanks for the reply! Is this the only way to suggest a feature request, or is there a location I should go to ask for a feature request? How do you decide which feature requests to add to the product roadmap? Is it based on votes? If so, how do I vote for a feature request I'd like to see implemented?
- JoseTansengco2 months agoStaff
Hello MicheleBuddie,
Happy to answer your questions!
You can raise feature requests anytime using this link. This article explains how we determine which requests are prioritized over others.