1. 准备工作

  1. 配置好开发环境
  2. 通过直属上级获取b2b2c纯净代码包
  3. 安装b2b2c,熟悉b2b2c基本操作
  4. 测试命令行工具是否可用
    1. cd app/base
    2. 执行./cmd help命令
    3. 如果出现如图所示的内容则基本可用,如果出现当前可用但未来不可用的局面,这个问题一般是用户权限问题,自己去修改下

      2. 开始创建应用

  5. 在app目录下新建一个目录,目录名称以sys开头,比如我们新建一个文章管理应用,应用名称为sysarticle
  6. 在sysarticle目录下分别创建以下目录:
    1. api目录:api文件存放目录
    2. controller:控制器文件目录
    3. dbschema: 数据库表定义文件
    4. lib: 业务逻辑类库目录
    5. view: 模板存放目录
  7. 创建数据表 一般来讲我们不需要直接写SQL文件来创建数据表,EC-OS中通过直接定义数据表文件来创建数据表,这对应用以后的迭代很有帮助。关于数据文件定义的规则可以参考数据库表,数据库表定义文件及模型命名规则,好了,现在我们开始创建数据表定义文件。
1. 创建article.php文件,代码如下:

    ```
        <?php
            return array(
                'columns' => array(
                        'aid' => array(
                                'type' => 'number',
                                'required' => true,
                                'comment' => app::get('sysarticle')->_('文章ID'),
                                'autoincrement' => true
                        ),
                        'title' => array(
                                'type' => 'string',
                                'required' => true,
                                'label' => app::get('sysarticle')->_('文章标题'),
                                'in_list' => true,
                                'default_in_list' => true,
                                'searchtype' => 'has',
                                'filtertype' => 'normal',
                                'filterdefault' => 'true',
                                'order' => 1
                        ),
                        'platform' => array(
                                'type' => array(
                                        'pc' => app::get('sysarticle')->_('电脑端'),
                                        'wap' => app::get('sysarticle')->_('移动端')
                                ),
                                'required' => true,
                                'in_list' => true,
                                'default_in_list' => true,
                                'label' => app::get('sysarticle')->_('发布终端'),
                                'order' => 2
                        ),
                        'stauts' => array(
                                'type' => 'boolean',
                                'required' => true,
                                'comment' => app::get('sysarticle')->_(
                                        '文章状态,1代表已发布,0代表草稿'),
                                'default' => 0
                        ),
                        'created' => array(
                                'type' => 'time',
                                'required' => true,
                                'default' => 0,
                                'comment' => app::get('sysarticle')->_('文章发表时间'),
                                'label' => app::get('sysarticle')->_('发表时间'),
                                'order' => 3,
                                'in_list' => true,
                                'default_in_list' => true
                        ),
                        'updated' => array(
                                'type' => 'time',
                                'required' => true,
                                'default' => 0,
                                'comment' => app::get('sysarticle')->_('文章修改时间'),
                                'label' => app::get('sysarticle')->_('最近更新时间'),
                                'order' => 4,
                                'in_list' => true,
                                'default_in_list' => true
                        ),
                        'article_logoid' => array(
                                'type' => 'string',
                                'label' => '默认图片',
                                'width' => 75,
                                'default' => '',
                                'hidden' => true,
                                'editable' => false,
                                'in_list' => false
                        )
                ),
                'primary' => 'aid',
                'comment' => app::get('sysarticle')->_('文章主表')
        );

    ```

2. 创建article_content.php文件,代码如下,建议刚刚开始的时候进行手打


    ```
        <?php
        return array(
            'columns' => array(
                'acid' => array(
                    'type' => 'number',
                    'required' => true,
                    'comment' => app::get('sysarticle')->_('文章内容ID'),
                    'autoincrement' => true,
                    'width' => 50,
                    'order'=>1,
                ),
                'aid' => array(
                    'type' => 'number',
                    'required' => true,
                    'comment' => app::get('sysarticle')->_('文章ID'),
                    'width' => 50,
                    'order'=>2,
                ),
                'content' => array(
                    'type' => 'text',
                    'comment' => app::get('sysarticle')->_('文章内容'),
                    'editable' => true,
                    'order' => 3,
                    'required' => true,
                ),
                'tags' => array(
                    'type' => 'string',
                    'comment' => app::get('sysarticle')->_('文章标签也可以作为关键词'),
                    'order' => 4,
                    'required' => true,
                ),
                'depict' => array(
                    'type' => 'text',
                    'comment' => app::get('sysarticle')->_('文章描述也可以作为摘要'),
                    'order' => 5,
                    'required' => true,
                ),
            ),
        'primary' => 'acid',
        'comment' => app::get('sysarticle')->_('文章内容表'),
        );
    ```

3. 创建app.xml,代码如下:
   ```
        <app>
            <name>我的文章模块</name>
            <type>service</type>
            <description>提供系统我的文章模块</description>
            <author>
                <name>shopex开发团队</name>
                <email>dev@shopex.cn</email>
                <url>http://www.shopex.cn</url>
            </author>
            <version>0.1</version>
            <license>shopex license</license>
            <parent_model_class>dbeav_model</parent_model_class>
            <depends>
                <app>desktop</app>
            </depends>
            </app>
    ```
4. 数据表建好之后安装新应用
   cd app/base
   ./cmd install sysarticle
如果像下图一样显示说明你成功的创建了新应用,但是这只是一个应用架子,你还需要向里面填充你的小智慧。

   ![](images/cmd-install-ok.png)

   ![](images/cmd-install-ok-dbbase.png)

results matching ""

    No results matching ""