国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Zurmo - - 新手入門(mén)指南

yy13818512006 / 519人閱讀

摘要:新建時(shí)創(chuàng)建默認(rèn)數(shù)據(jù)將基本字段添加到你的類在本節(jié)中,介紹如何向最近創(chuàng)建的類添加類型為,或的新的基本字段,在這個(gè)例子中,我們將向類添加一個(gè)新的字段首先要做的是定義類中的新字段。

新手入門(mén)指南-創(chuàng)建模塊

Customizing Zurmo ---- 自定義Zurmo

官方的動(dòng)物園為例:鏈接:http://zurmo.org/wiki/customi...

新建模塊

所有擴(kuò)展類將在自己的模塊中定義;在這個(gè)例子中,模塊將被稱為animals。文件目錄結(jié)構(gòu)如下:

modules的文件夾下新建一個(gè)名為 animals 的新文件夾。

PS:名字單復(fù)數(shù)沒(méi)關(guān)系,但是 Zurmo 自帶的模塊都是采用復(fù)數(shù)形式,所以最好統(tǒng)一。

模塊將會(huì)有以下文件:

PS:這是官方給出的模塊的基本文件結(jié)構(gòu),但是根據(jù)我自己的經(jīng)驗(yàn),作為一個(gè)最簡(jiǎn)單的模塊的話,不需要這么多文件,具體的文件目錄,請(qǐng)參看CSDN博客:http://blog.csdn.net/tyrannoaurus/article/details/73850397。

下面的表格是關(guān)于每個(gè)文件的作用的:

為了在Zurmo應(yīng)用程序中集成和安裝該模塊,需要?jiǎng)?chuàng)建其他兩個(gè)文件

perInstanceConfig.php:ZurmoZoo 項(xiàng)目的自定義配置。在 protected/config/ 下新建

 array(
        "animals",
    ),
);
//引用文件,所以文件夾的名字一定要對(duì)應(yīng)上
$instanceConfig["components"]["custom"]["class"] =
    "application.extensions.zurmozoo.components.ZurmoZooCustomManagement";
$instanceConfig["import"][] = "application.extensions.zurmozoo.*";                          
$instanceConfig["import"][] = "application.extensions.zurmozoo.components.*";              
$instanceConfig["import"][] = "application.extensions.zurmozoo.utils.*";                   
?>

還有兩個(gè)文件,在 extensions/ 下新建 zurmozoo.components.ZurmoZooCustomManagementzurmozoo.utils.ZurmoZooInstallUtil

ZurmoZoo 項(xiàng)目的具體定制管理 ZurmoZooCustomManagement.php 照寫(xiě)就行了

 /**
 * Specific custom management for the zurmo zoo project.
 */
class ZurmoZooCustomManagement extends CustomManagement
{
    /**
     * (non-PHPdoc)
     * @see CustomManagement::runBeforeInstallationAutoBuildDatabase()
     */
    public function runBeforeInstallationAutoBuildDatabase(MessageLogger $messageLogger)
    {
        ZurmoZooInstallUtil::resolveCustomMetadataAndLoad();
    }

    /**
     * (non-PHPdoc)
     * @see CustomManagement::resolveIsCustomDataLoaded()
     */
    public function resolveIsCustomDataLoaded()
    {
        ZurmoZooInstallUtil::resolveCustomMetadataAndLoad();
    }
}

ZurmoZooInstallUtil: Helper class for Zurmo Zoo customizations.

class ZurmoZooInstallUtil
{
    public static function resolveCustomMetadataAndLoad()
    {
        $shouldSaveZurmoModuleMetadata = false;
        $metadata                      = ZurmoModule::getMetadata();
        if(!in_array("animals", $metadata["global"]["tabMenuItemsModuleOrdering"]))
        {
            //加入到側(cè)邊欄的配置中
            $metadata["global"]["tabMenuItemsModuleOrdering"][] = "animals";
            $shouldSaveZurmoModuleMetadata = true;
        }
        if($shouldSaveZurmoModuleMetadata)
        {
            ZurmoModule::setMetadata($metadata);
            GeneralCache::forgetAll();
        }

        //-------------------------------------------------------------------
        //這段代碼為官方的例子,作用是和 Activity 關(guān)聯(lián)起來(lái),但是如果我們的應(yīng)用中不需要用到 Activity 的話,是不用引用這個(gè)代碼的,引用了這個(gè)代碼之后,在數(shù)據(jù)庫(kù)中會(huì)有記錄,可能以后的一些操作會(huì)報(bào)錯(cuò)也不一定。
        $metadata = Activity::getMetadata();
        if(!in_array("Animal", $metadata["Activity"]["activityItemsModelClassNames"]))
        {
            $metadata["Activity"]["activityItemsModelClassNames"][] = "Animal";
            Activity::setMetadata($metadata);
            GeneralCache::forgetAll();
        }

        //-------------------------------------------------------------------
        //新建時(shí)創(chuàng)建默認(rèn)數(shù)據(jù)
        Yii::import("application.extensions.zurmoinc.framework.data.*");
        Yii::import("application.modules.animals.data.*");
        $defaultDataMaker = new AnimalsDefaultDataMaker();
        $defaultDataMaker->make();
    }
}

將基本字段添加到你的類
在本節(jié)中,介紹如何向最近創(chuàng)建的類添加類型為integer,float或string的新的基本字段,在這個(gè)例子中,我們將向Animal類添加一個(gè)新的字段 --description

首先要做的是定義類中的新字段。打開(kāi)文件

protected-> modules-> animals-> models-> Animal.php

并添加字段描述的定義如下。

 array(
            "name",
            "description",
        ),   //類的普通字段
    "relations" => array(
        "type"         => array(RedBeanModel::HAS_ONE,   "OwnedCustomField", RedBeanModel::OWNED),
    ),  //和 OwnedCustomField 表的關(guān)系 type
    "rules" => array(
        array("name",             "required"),
        array("name",             "type",    "type" => "string"),
        array("name",             "length",  "max" => 100),
        array("description",   "type",    "type" => "string"),
    ),  //字段的規(guī)則,包括在頁(yè)面的規(guī)則 和存入數(shù)據(jù)庫(kù)的時(shí)候,會(huì)轉(zhuǎn)化為字段的類型
    "elements" => array(
         "description"     => "TextArea",
    ),  //字段的html類型,
    "customFields" => array(
        "type"  => "AnimalType",
    ),  //和relations 相對(duì)應(yīng)的屬性 , 會(huì)存入數(shù)據(jù)庫(kù)中,
    "defaultSortAttribute" => "name",      //list頁(yè)面數(shù)據(jù)的默認(rèn)排序方式
    "noAudit" => array(
        "description"
    ),    //noAudit 表示這個(gè)字段的操作不會(huì)被記錄到操作記錄中
);
return $metadata;
}
…..
?>

現(xiàn)在我們需要將該字段放在頁(yè)面中。打開(kāi)文件

protected-> modules-> animals-> views-> AnimalEditAndDetailsView.php

并定位新創(chuàng)建的字段,如下所示。只是部分代碼

class AnimalEditAndDetailsView extends SecuredEditAndDetailsView
{
    public static function getDefaultMetadata()
    {
        $metadata = array(
            "global" => array(
                "toolbar" => array(
                    "elements" => array(
                        array("type" => "CancelLink", "renderType" => "Edit"),
                        array("type" => "SaveButton", "renderType" => "Edit"),
                        array("type" => "ListLink",
                            "renderType" => "Details",
                            "label" => "eval:Yii::t("Default", "Return to List")"
                        ),
                        array("type" => "EditLink", "renderType" => "Details"),
                        array("type" => "AuditEventsModalListLink", "renderType" => "Details"),
                    ),
                ),
                "derivedAttributeTypes" => array(
                    "DateTimeCreatedUser",
                    "DateTimeModifiedUser",
                ),
                "panelsDisplayType" => FormLayout::PANELS_DISPLAY_TYPE_ALL,
                "panels" => array(
array(
    "rows" => array(
        array("cells" =>
            array(
                array(
                    "elements" => array(
                        array("attributeName" => "name", "type" => "Text"),
                    ),
                ),
                array(
                    "elements" => array(
                        array("attributeName" => "type", "type" => "DropDown", "addBlank" => true),
                    ),
                ),
            )
        ),
        array("cells" =>
            array(
                array(
                    "detailViewOnly" => false,
                    "elements" => array(
                        array("attributeName" => "integer", "type" => "Integer"),
                    ),
                ),
                array(
                    "detailViewOnly" => false,
                    "elements" => array(
                        array("attributeName" => "text", "type" => "Text"),
                    ),
                ),
            )
        ),
        array("cells" =>
            array(
                array(
                    "detailViewOnly" => false,
                    "elements" => array(
                        array("attributeName" => "radioPickList", "type" => "RadioDropDown", "addBlank" => true),
                    ),
                ),
                array(
                    "detailViewOnly" => false,
                    "elements" => array(
                        array("attributeName" => "pickList", "type" => "DropDown", "addBlank" => true),
                    ),
                ),
            )
        ),
        array("cells" =>
            array(
                array(
                    "detailViewOnly" => true,
                    "elements" => array(
                        array("attributeName" => "null", "type" => "DateTimeCreatedUser"),
                    ),
                ),
                array(
                    "detailViewOnly" => true,
                    "elements" => array(
                        array("attributeName" => "null", "type" => "DateTimeModifiedUser"),
                    ),
                ),
            )
        ),
    ),
),
  ),
               ),
          );
        return $metadata;
    }

    protected function getNewModelTitleLabel()
    {
        return Yii::t("Default", "Create AnimalsModuleSingularLabel",
                                 LabelUtil::getTranslationParamsForAllModules());
    }
}
?>

如您所見(jiàn),我們添加了該字段的位置

     array("cells" =>
            array(
                array(
                    "elements" => array(
                        array("attributeName" => "description", "type" => "TextArea"),
                    ),
                ),
            )
        ),

而且還有以下鏈接:

array("type" => "AnimalDeleteLink", "renderType" => "Details"), 

這個(gè)不是一定要的,但是如果需要,您可以在 details 頁(yè)面刪除動(dòng)物。為了實(shí)現(xiàn)這個(gè)功能,必須在

protected-> modules-> animals-> elements->

操作下添加 AnimalDeleteLinkActionElement.php 文件,并使用以下代碼完成該操作。


} ?>

截至今天,Zurmo支持以下類型的字段:

以下源代碼顯示了如何將它們整合到代碼中。

models->Animals.php

首先,您需要定義模型中的所有字段

在官網(wǎng)的示例代碼中都有,文檔中的那些代碼示例部分是以前的zurmo舊版本的代碼,在新版本的方法有些不一樣,以新版本代碼為正。

比如: models->Animals.php 中的這段代碼,就是舊版本的代碼。現(xiàn)在已經(jīng)換成新的代碼了。

     "labels" => array(
        "cust_checkbox"  => array("en" => "Check Box"),
        "cust_currency"  => array("en" => "Currency"),
        "cust_date"  => array("en" => "Date"),
        "cust_datetime"  => array("en" => "Date Time"),
        "cust_decimal"  => array("en" => "Decimal"),
        "cust_integer"  => array("en" => "Integer"),
        "cust_picklist"  => array("en" => "Pick List"),
        "cust_phone"  => array("en" => "Phone"),
        "cust_radiopicklist"  => array("en" => "Radio Pick List"),
        "cust_text"  => array("en" => "Text"),
        "cust_textarea"  => array("en" => "Text Area"),
        "cust_url"  => array("en" => "URL"),
    ),

寫(xiě)完以上的代碼就完成了部分了,具體的代碼在官網(wǎng)的示例模塊中都有,直接去下載就行了。鏈接:https://bitbucket.org/zurmo/z...

如果頁(yè)面效果沒(méi)有生效,記得 清除緩存更新metadata.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26010.html

相關(guān)文章

  • Zurmo - - 新手入門(mén)指南

    摘要:新建時(shí)創(chuàng)建默認(rèn)數(shù)據(jù)將基本字段添加到你的類在本節(jié)中,介紹如何向最近創(chuàng)建的類添加類型為,或的新的基本字段,在這個(gè)例子中,我們將向類添加一個(gè)新的字段首先要做的是定義類中的新字段。 新手入門(mén)指南-創(chuàng)建模塊 Customizing Zurmo ---- 自定義Zurmo 官方的動(dòng)物園為例:鏈接:http://zurmo.org/wiki/customi... 新建模塊 所有擴(kuò)展類將在自己的模塊...

    fredshare 評(píng)論0 收藏0
  • Zurmo - - 升級(jí)指南

    摘要:命令用法為必選參數(shù),內(nèi)為可選參數(shù)描述此命令運(yùn)行讓升級(jí)參數(shù)用戶名登錄并運(yùn)行導(dǎo)入過(guò)程。也可以看回去之前的文章。 Zurmo的升級(jí)指南: 之前介紹了Zurmo的命令行工具,但是沒(méi)有詳細(xì)介紹這個(gè)更新命令,其實(shí)這個(gè)更新版本的命令也挺重要的,所有這里在說(shuō)一下,更新到新的版本(此功能待測(cè)試) 根據(jù)官方的方法是通過(guò)一個(gè)命令來(lái)實(shí)現(xiàn)的。zurmoc 命令 USAGE zurmoc updgradeZ...

    zengdongbao 評(píng)論0 收藏0
  • Zurmo - - 升級(jí)指南

    摘要:命令用法為必選參數(shù),內(nèi)為可選參數(shù)描述此命令運(yùn)行讓升級(jí)參數(shù)用戶名登錄并運(yùn)行導(dǎo)入過(guò)程。也可以看回去之前的文章。 Zurmo的升級(jí)指南: 之前介紹了Zurmo的命令行工具,但是沒(méi)有詳細(xì)介紹這個(gè)更新命令,其實(shí)這個(gè)更新版本的命令也挺重要的,所有這里在說(shuō)一下,更新到新的版本(此功能待測(cè)試) 根據(jù)官方的方法是通過(guò)一個(gè)命令來(lái)實(shí)現(xiàn)的。zurmoc 命令 USAGE zurmoc updgradeZ...

    LiuRhoRamen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<