プロジェクト用の Twig 拡張機能を作成しようとしています。目標は、jquery.cluetip プラグインを使用してユーザー ポップアップを生成することです。これにより、AJAX クエリの結果を素敵なツールチップに表示できます。生成された HTML コードは次のようになります。
<span class="userdata" rel="/profile/123/ajaxUserdata.html">W00d5t0ck</span>
現在、私のコードは次のようになっています。
class UserDataSpanExtension extends \Twig_Extension
{
protected $_securityContext;
public function __construct(SecurityContextInterface $security)
{
$this->_securityContext = $security;
}
public function getFilters()
{
return array(
'userdataspan' => new \Twig_Filter_Method($this, 'getUserDataSpan', array('is_safe' => array('html'))),
);
}
public function getUserDataSpan(User $user)
{
if (!is_object($this->_securityContext->getToken()) || !is_object($this->_securityContext->getToken()->getUser()))
return '<span class="userdata-secret" title="|User information|User information is available only to logged in users.">[not available]</span>';
return '<span class="userdata" rel="">' . $user->getDisplayName() . '</span>';
}
public function getName()
{
return 'twig_userdataspan';
}
}
属性をどのように入力すればよいかわからないため、少し行き詰まっていrel
ます。私が使用するTwigテンプレートで
{{ path('AcmeDemoBundle_ajaxUserdata', { id: user.id }) }}
しかし、これは Twig 拡張機能では機能しません。誰かが使用可能な例を教えてくれますか?