2011-11-22 202 views

回答

4

不,沒有EE標籤可以做到這一點。這將需要你創建你自己的插件,擴展或模塊。但這很簡單。

我的建議是創建一個plugin

在您的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"} 

太棒了吧?
I love EE ...

+0

'$ more_entropy'應該是'fetch_param('more_entropy')'。你把它當作'fetch_param('prefix')'。 – Pinkie

+0

Theres - 我修好了:) – Repox

0

沒有內置的EE標籤來輸出唯一的ID,沒有。