1

我是 PyroCMS 的新手,我愿意建立一个工作网站,其中将有 2 个主要用户,即雇主和求职者。为了让他们在网站上注册,我使用 PyroCMS 的 Streams API 来构建表单。这些用户将成为 2 个不同模块的一部分,即雇主模块和求职者模块。

在 details.php 文件的 install() 函数下,我想创建多个流(数据库表)。下面的代码帮助我们添加一个流:

$this->streams->streams->add_stream();

下面的代码然后帮助我们定义要添加到流中的字段:

$this->streams->fields->add_fields($fields);

我关心的是如何添加多个像上面的流并为每个流添加字段?换句话说,语法将如何

$this->streams->fields->add_fields($fields);

知道将字段添加到哪个流?

4

2 回答 2

0

您可以像此示例一样添加多个流。

    // Add banners streams
    if ( ! $this->streams->streams->add_stream(lang('banner:banners'), 'banners', 'banner', 'banner_', null)) return false;

    // Add groups streams
    if ( ! $this->streams->streams->add_stream(lang('banner:groups'), 'groups', 'banner', 'banner_', null)) return false;

    // Add some fields
    $fields = array(
    // BANNERS
        array(
            'name' => 'Banner Title',
            'slug' => 'banner_title',
            'namespace' => 'banner',
            'assign' => 'banners',
            'type' => 'text',
            'extra' => array('max_length' => 200),
            'title_column' => true,
            'required' => true,
            'unique' => true
        ),
    // GROUPS
        array(
            'name' => 'Group Title',
            'slug' => 'group_title',
            'namespace' => 'banner',
            'assign' => 'groups',
            'type' => 'text',
            'extra' => array('max_length' => 200),
            'title_column' => true,
            'required' => true,
            'unique' => true
        )
);

    $this->streams->fields->add_fields($fields);
于 2012-12-24T14:32:26.770 回答
0

查看 Streams API 的Fields Driver文档。字段和流是独立的实体,两者之间不需要关联。添加字段时,您可以将其分配给如下流:

$field = array(
'name'          => 'Question',
'slug'          => 'question',
'namespace'     => 'streams_sample',
'type'          => 'text',
'extra'         => array('max_length' => 200),
'assign'        => 'STREAM_SLUG_GOES_HERE',
'title_column'  => true,
'required'      => true,
'unique'        => true
);

$this->streams->fields->add_field($field);

或者您可以分别创建流和字段,然后将每个字段分配给这样的流:

$this->streams->fields->assign_field('streams_sample', 'STREAM_SLUG_GOES_HERE', 'question', array('required' => true));

所有这些关于田野和溪流的话题让我想出去……

于 2012-08-14T17:49:50.963 回答