I had to delve into core to find this nasty bug.
scenario:
In file A there is an embed call like so:
{embed="publikationen/notizen-view" by_year="{segment_3}"}
In file B there is a reference to the embedded variable by_year like so:
{exp:weblog:month_links weblog="notizen"}
{year_heading}
<li><a href=""id="active">{year}</a></li>
{/year_heading}
{/exp:weblog:month_links}
problem:
Unfortunately, because within the month_links tag {year} is a single variable, all variations of the word “year” within tags are replaced. So instead of {embed:by_year} being replaced with the variable passed-in (segment_3’s value in the above case), it becomes “embed:by_2008” for the current year. Here’s the output from core.php before it gets sent through the php evaluator:
<li><a href=""id="active">2008</a></li>
PHP barfs on ‘if(“2008” == embed:by_"2008”)’ with a syntax error stating an incorrectly placed “:”.
Would be nice if the parser would check surrounding characters to each single-variable. i.e. {year} != {embed:by_year} when parsing ![]()
This is on EE1.6.3 - but I didn’t spot a reference to a similar fix for 1.6.4 ...
