3

一意のIDを生成するEE2タグはありますか?または、PHPのuniqid()呼び出しを埋め込んで、目的の一意のIDを取得する必要がありますか?ありがとう。

4

2 に答える 2

4

いいえ、それを行うEEタグはありません。独自のプラグイン、拡張機能、またはモジュールを作成する必要があります。しかし、それは非常に簡単です。

私の提案は、プラグインを作成することです。

フォルダに名前の付いたフォルダを作成しguidますexpressionengine/third_party
そのフォルダーに、次の内容の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が大好きです...

于 2011-11-22T19:43:32.677 に答える
0

一意のIDを出力するための組み込みのEEタグはありません。

于 2011-11-22T19:26:53.393 に答える