0

我对Smarty相当陌生,在为插件编写函数时遇到了一个小问题,我想从插入任何页面的smarty标签中获取一个值,然后我希望将该值添加到代码中插件文件。准确地说,例如,这将是我将在页面中插入的 Smarty 标记:

{gallery link="../images/ball.png"}

现在我想要的是,我希望将已添加到 link="" 标签内的图像链接插入到 href="" 和 src="" 以下代码中的标签内在插件文件中:

<a class="fancybox" rel="gallery1" href="IMAGE LINK FROM SMARTY TAG ABOVE"><img src="IMAGE LINK FROM SMARTY TAG ABOVE" alt="" width="200" height="200" /></a>

所以基本上,如果我使用以下标签:

{gallery link="../images/car.png"}

我希望这在页面上得到回应:

<a class="fancybox" rel="gallery1" href="../images/car.png"><img src="../images/car.png" alt="" width="200" height="200" /></a>

经过大量研究,我终于找到并阅读了本教程,并且我已经学会了如何创建 Smarty 插件,但我不确定如何编写正确的函数以实现我想要的功能。

4

1 回答 1

1

粗略地说,它会是这样的(未经测试):

插件文件夹中的 function.gallery.php

function smarty_function_gallery($params, $template)
{
    if (empty($params['link'])) {
        trigger_error("gallery: missing 'link' parameter",E_USER_WARNING);
        return;
    } else {
        $link = $params['link'];
    }

   return '<a class="fancybox" rel="gallery1" href="'.$link.'"><img src="'.$link.'" alt="" width="200" height="200" /></a>';
}

虽然我认为它是一个太具体的 html 来制作一个插件

于 2013-09-06T08:26:11.057 回答