2015-06-30 18 views
0

我正在使用Pyrocms的社區版,所以不能真正使用pro版本中的流模塊的好處。我正在嘗試使用Stream API。如何在pyrocms中使用流API定義輸入流字段的佔位符?

我已經定義了一個流場的元數據如下:

$field = [ 
    'name'  => 'First Name', 
    'slug'  => 'first_name', 
    'namespace' => 'users', 
    'type'  => 'text', 
    'extra'  => array(
        'max_length' => 50, 
        'placeholder'=> 'Enter your first name' //NOT WORKING 
       ), 
    'assign' => 'profiles', 
    'required' => true 
] 
$this->streams->fields->add_fields($fields); 

在上面的代碼中,我已宣佈內部extra密鑰placeholder和已經寫它的值。但是,當我後來用這個流場的形式呼應了作爲

<?php echo $field['input']; ?> 

輸入字段按預期的方式呈現和驗證也在努力,但對於佔位符文本不會出現。在爲字段定義元數據時,我嘗試添加額外的類屬性的情況也是如此。我在pyrocms文檔中有一個很好的看法。它說有一種方法可以爲渲染輸入定義屬性,但沒有顯示如何去做。我試圖將其添加到extra也嘗試在extra之外定義,但仍然無法顯示輸入字段的額外屬性。另外,當類型設置爲選項時,我應該在哪裏放置下拉菜單或複選框的默認值?

回答

1

字段類型'text'沒有參數'佔位符',只有'max_length'和'default_value'。

因此,您可以複製文本字段類型,重命名文件夾和類,將其放在addons/default/field_types中,並將此參數添加到字段類型 - 基本上編寫您自己的字段類型。這很容易,我爲你做了一個要點:https://gist.github.com/marcogrueter/02b5e70f02402d999059

+0

這是一個非常好的答案,我相信這是正確的做法。但是,當輸入字段被渲染時,我遇到了一些問題。積極的一點是,當我檢查呈現的輸入元素時,我可以看到類和佔位符屬性。但是這些屬性的價值是空的。 'placeholder =「」'。並且在頁面上顯示一條錯誤消息,告訴「消息:未定義索引:佔位符」(第37行,根據您爲我寫的要點)。我知道我已經將元數據作爲'type'=>'paramtext''和'extra'=> ['placeholder'=>'bla bla bla'] @mgrueter –

相關問題