自定义装饰器可以访问 $content 的部分内容吗

发布于 2024-09-27 02:41:19 字数 447 浏览 3 评论 0原文

在自定义装饰器中,我用 div 包装元素内容。此代码在

周围创建一个 div。标签
; element

public function render($content)
{        
   return '<div class="test">' . $content . '</div>';
}

有没有办法可以进一步访问这两个部分,dd 和 dt。例如,div 可能仅围绕

。如何访问 $content 的不同部分?

In a custom decorator, I'm wrapping the element content with a div. This code creates a div around both the <dt> label and the <dd> element

public function render($content)
{        
   return '<div class="test">' . $content . '</div>';
}

Is there a way I can further access those 2 parts, the dd and dt. Such as maybe wrap the div around only the <dt> or the <dd>. How do I access the different parts of $content?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沐歌 2024-10-04 02:41:19

如果没有必要为您想要实现的目标创建自定义装饰器,您可以尝试直接装饰元素,如下所示:

$elementDecorators = array(
'视图助手',
array(array('element'=>'HtmlTag'), array('tag' => 'dd')),
array('标签', array('tag' => 'dt')),
array(array('wrapper'=>'HtmlTag'), array('tag' => 'div')),
);

会产生如下所示的标记:

;

<标签/>
<输入/>

因此,如果您想在 dd 或 dt 之内/之间/之前/之后添加任何您想要的内容,您可以修改如下:

$elementDecorators = array(
'视图助手',
array(array('addition'=>'HtmlTag'), array('tag' => 'span')),
array(array('element'=>'HtmlTag'), array('tag' => 'dd')),
array('标签', array('tag' => 'dt')),
array(array('wrapper'=>'HtmlTag'), array('tag' => 'div')),
);

会产生:

;

<标签/>
<输入/>

它只是在 dd 标签之前将 span 标签包裹在元素周围。

装饰后,您可以简单地将变量添加为元素的装饰器。

If it is not that necessary to create a custom decorator for what you want to achieve, you can try decorating the element directly like the following:

$elementDecorators = array(
'ViewHelper',
array(array('element'=>'HtmlTag'), array('tag' => 'dd')),
array('Label', array('tag' => 'dt')),
array(array('wrapper'=>'HtmlTag'), array('tag' => 'div')),
);

that shud produce a markup like so:

<div>
<dt><label/></dt>
<dd><input/></dd>
</div>

and so if you want to add anything you want within/between/before/after the dd or dt you can modify as thus:

$elementDecorators = array(
'ViewHelper',
array(array('addition'=>'HtmlTag'), array('tag' => 'span')),
array(array('element'=>'HtmlTag'), array('tag' => 'dd')),
array('Label', array('tag' => 'dt')),
array(array('wrapper'=>'HtmlTag'), array('tag' => 'div')),
);

that shud produce:

<div>
<dt><label/></dt>
<dd><span><input/></span></dd>
</div>

which just wraps a span tag around the element before the dd tag does.

after decorating you can simply add the variable as the decorator of the element.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文