Skip to content

Instantly share code, notes, and snippets.

@YuzuruSano
Last active March 3, 2017 09:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YuzuruSano/49f7c53e7d146957ef3d to your computer and use it in GitHub Desktop.
Save YuzuruSano/49f7c53e7d146957ef3d to your computer and use it in GitHub Desktop.
concrete5 5.7〜 いつも忘れるフォームヘルパーのまとめ
<?php
$fh = Core::make('helper/form');
//text
echo $fh->text($name, $default_value, array('style' => 'display:block;'),'cutom_class_01 custom_class_02');
//submit
echo $fh->submit($name, $default_value, array('style' => 'display:block;'),'cutom_class_01 custom_class_02');
//label
echo $fh->label($target_name, $label_name);
//hidden
echo $fh->hidden($name, $default_value);
//textarea
echo $fh->textarea($name, $default_value,array('style' => 'display:block;' , 'cols' => '30' , 'rows' => '10'));
//checkbox & radio
//controllerなどから取得してくる値
$default_val = array(
'val1' => 'yes'
);
//出力項目
$options = array(
'val1' => 'yes',
'val2' => 'no',
'val3' => 'pillow',
);
//checkboxもradioも第三引数で選択状態の可否をtrue or falseで指定する
//checkbox
foreach($options as $key => $val){
echo '<label>'.$fh->checkbox($name.'[]', $key, in_array($key,(array)$default_val), array('style' => 'display:block;')).'<span class="">'.$val.'</span></label>';
}
//radio
foreach($option_set as $key => $val){
echo '<label>'.$fh->radio($name, $key, in_array($key,(array)$default_val), array('style' => 'position:static;margin-left:0;')).'<span>'.$val.'</span>'</label>;
}
//select
$select_array = array(
'val1' => 'apple',
'val2' => 'orange',
'val3' => 'ra-men'
);
echo $fh->select('select_name_id', $select_array, 'val1', array('style' => 'display:block;'));
//multiple checkbox
$checked = array('val1','val3');//選択状態にしたい項目
foreach($select_array as $key => $val){
echo $fh->checkbox('multiple_checkbox_name_id[]', $key, in_array($key,$checked), array('style' => 'display:inline;')).'&nbsp;'.$val.'<br>';
}
//カレンダー入力日付フィールド
$fhd = Core::make('helper/form/date_time');
echo $fhd->date($name, $default_value);
//ファイルマネージャーを呼びだす画像アップロードフォーム
//$default_valueは画像IDを指定 初期値なしならnullを指定
$al = Core::make('helper/concrete/asset_library');
$form = '<div class="ccm-attribute ccm-attribute-image-file">';
$form .= $al->file($id, $name,'プレースホルダーに表示するテキスト', $default_value);
$form .= '</div>';
echo $form;
//サイトマップ
//http://documentation.concrete5.org/api/class-Concrete.Core.Form.Service.Widget.PageSelector.html
$form_selector = Core::make('helper/form/page_selector');
print $form_selector->selectPage($name, $default_value);
//フィルターで表示制限できる
//例)ページID 181配下のページタイプID 9に当てはまるページをラジオボタンで出力
//selectMultipleFromSitemapで呼び出すとチェックボックス
print $form_selector->selectFromSitemap( $name, $value, 181 ,array('ptID' => 9));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment