Template talk:ImageLink
From Legacy Roblox Wiki
This template seems to be producing this error in certain places:
Error: must specify an image in the first line
--Anaminus 23:04, 15 September 2011 (UTC)
- Which places? What arguments cause that to happen?
- I can see the problem pages, but I can't reproduce it on a new page. Looks like either a caching issue (good), or a template overuse issue (very bad).
- Compare Template:ObjectPage with RBX.lua.Instance (Object). Not sure why the second doesn't work.
- The Template:Derived_classes/link page throws
Error: invalid title in link at line 3
if that helps.--Anaminus 18:41, 16 September 2011 (UTC)- Nope. That's just because the template has no default parameters. Besides, that's not the error we're getting. Try adding
{{derived classes|Instance}}
to a new page. It works fine.
- Nope. That's just because the template has no default parameters. Besides, that's not the error we're getting. Try adding
- Doesn't ImageLink require an image parameter? Template:Object/image doesn't seem to do that. --Anaminus 18:41, 16 September 2011 (UTC)
- Yes, but it's optional. The image parameter adds
Image:
to the front of the url. I needed to put the whole URL in though, so I bodged it so that it uses the first unnamed parameter if no image parameter is specified.
- Yes, but it's optional. The image parameter adds
- Crap. Looks like a template limit issue. I'll keep testing...
- I found out why there are errors. For the ClassLink page, I initially used the Template:ifexist template to check if the image existed, but it still returned yes despite it not existing. See here:
{{ifexist|Image:nonexistentimage|yes|no}}
-> no
- The errors are appearing because the the images generated from this still don't exist. --Anaminus 20:31, 16 September 2011 (UTC)
- It's a casing issue. Try
{{ifexist|Image:Nonexistentimage|yes|no}}
. That works properly. This doesn't seem to be the cause of the problem.
- It's a casing issue. Try
It's a template nesting issue
It's definitely a template nesting issue. Try testing:
{{derived classes|Instance}}
Now try
{{1x|{{derived classes|Instance}}}}
And
{{1x|{{1x|{{derived classes|Instance}}}}}}
And keep going till it breaks. It just happened that we were right on the edge of the template limit. One more level of indirection (getting a derived image) results in a failure. Until I work out how to solve it, I've made it stick a ? where the error message was.
Here's a demo, nesting {{1x}}:
- Nest 40 templates: Level 40 here.
- Nest 41 templates: This is level 41.
This behaviour is happening inside {{ifexist}}.