Linky v curlyBrackets
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jod
- Člen | 701
Updatol som si nette na novú rev188 a nejak mi prestali ísť linky.
Píše mi:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Users/jod/Sites/nette/cms/app/temp/cache-Nette.Template%002625a55734bf0b4fd00a0a828a233143.menu.phtml on line 13
Používam:
<a href="{plink $item['link']}">{$item['label']}</a>
Čím by to mohlo byť, keďže to robí asi len mne.V $item[‚link‘] sú normálne stringy. Keď tam niečo napíšem ručne tak to ide.
- David Grudl
- Nette Core | 8228
Uff, pravda, snažil jsem se vyhovět tomuto požadavku.
Než pošlu opravu, tak si v souboru CurlyBracketsFilter.php
změň:
$var = $stat === 'include' ? (strspn($m[1], '\'"$') ? $m[1] : "'$m[1]'") : (strspn($m[1], '\'"') ? $m[1] : '"' . $m[1] . '"');
// na
$var = strspn($m[1], '\'"$') ? $m[1] : "'$m[1]'";
- Jod
- Člen | 701
No to ma aj napadlo tak som skúšal ale nakoniec som to aj tak vyriešil
takže pohoda.
Pridal som helper:
function getLink($destination)
{
return $this->presenter->link(':' . $destination . ':');
}
$template->registerHelper('link', array($this, 'getLink'));
<a href="{$item['link']|link}">{$item['label']}</a>