微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-如何在Expression Engine 2中生成唯一ID?

是否有产生唯一ID的EE2标签?还是我需要嵌入PHP uniqid()调用以获得所需的唯一ID?谢谢.

解决方法:

不,没有执行此操作的EE标签.这将需要您创建自己的插件,扩展或模块.但这很简单.

我的建议是创建一个plugin.

在expressionengine / third_party文件夹中创建一个名为guid的文件夹.
在该文件夹中,创建一个名为pi.guid.PHP文件,其内容如下:

<?PHP if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$plugin_info = array(
    'pi_name'       => 'Uniqid',
    'pi_version'        => '0.1',
    'pi_author'     => 'John Doe',
    'pi_author_url'     => 'http://example.org/',
    'pi_description'    => 'Returns uniqid() with parameters',
    'pi_usage'      => Guid::usage()
);


class Guid {

    public function __construct()
    {
        $this->EE =& get_instance();
    }

    public function uniqid()
    {
        $prefix = $this->EE->TMPL->fetch_param('prefix');
        $more_entropy = (strtolower($this->EE->TMPL->fetch_param('more_entropy')) == "true") ? TRUE : FALSE;

        return uniqid($prefix, $more_entropy);
    }

    public static function usage()
    {
        ob_start();  ?>

        Simple use:

    {exp:guid:uniqid}

        Parameter use:

    {exp:guid:uniqid prefix="yourprefix"}
    {exp:guid:uniqid more_entropy="true"}
    {exp:guid:uniqid prefix="yourprefix" more_entropy="true"}
    <?PHP
        $buffer = ob_get_contents();
        ob_end_clean();

        return $buffer;
    }    
}

您可以使用自己的插件通过标签创建uniqid().
使用?

{exp:guid:uniqid prefix="yourprefix"}
{exp:guid:uniqid more_entropy="true"}
{exp:guid:uniqid prefix="yourprefix" more_entropy="true"}

太好了吧?
我喜欢EE …

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐