このエントリーをはてなブックマークに追加

フィールドの複製

<?php $list = get_field_duplicate('フィールド名');
foreach($list as $element){
 echo  '<p>'.$element.'</p>';
}  ?>

イメージフィールドの複製

<?php
$images = getFieldOrder('フィールド名');
foreach($images as $image){
        echo get_image('フィールド名',1,$image);
        echo "<br />";
} ?>

グループの複製

<?php
$grouplist = get_group('グループ名');
  foreach($grouplist as $group){
  echo $group['フィールド名'][1];
echo '<br />';
  echo $group['フィールド名'][1];
echo '<br />';
 } 
?>

*イメージフィールドはオリジナルサイズの場合$group[‘フィールド名’][1][‘o’]、指定したサイズの場合$group[‘フィールド名’][1][‘t’] だが、[‘original’][‘thumb’] としないと表示されない場合もあり。

グループの複製の中でフィールドの複製

<?php
$grouplist = get_group('グループ名'); //
  foreach($grouplist as $group){
  echo $group['フィールド名'][1];
  foreach( $group['複製するフィールド名'] as $list){
      echo $list;
  }
 } 
?>

グループの複製は並び替えもできるので、フィールドが1つしかなくてもグループにしたほうが便利
グループを複製した時の並び順は管理画面で見る並びのとおりだが、新しく追加したものを上にしたい場合
$grouplist = get_group(‘グループ名’);
krsort($grouplist);
foreach($grouplist as $group){ とする。

*Magic Fields 2 では書き方が違う部分もあるようなので、http://wiki.magicfields.org/doku.php 参照
求めるタグが見つからないときはhttps://groups.google.com/forum/#!forum/magic-fields で。

2012.10.10追記
グループの複製で、テーブルで3つごとに行を追加、並び順を逆(追加したものを上に表示)

<?php
$grouplist = get_group('group_name');
krsort($grouplist);
if (is_array($grouplist)) {
$counter = 1; echo '<table><tr>' . "n";
	foreach($grouplist as $group){ ?><?php if($counter % 3 == 1 && $counter != 1 ){ echo '</tr><tr>' . "n"; } ?>
		<td><?php echo $group['field_name'][1]; ?></td>
<?php $counter++; ?>
	<?php } ?><?php echo '</tr></table>' . "n"; ?>
<?php }else{ ?>
<?php } ?>

2012.10.27追記
2でグループの複製時に中の要素の値の有無で条件分岐を付ける時は
if ($group[フィールド名’][1])、
画像のアップロードがない時に表示する画像を設定する時は
if (!$group[フィールド名’][1][‘t’]) のように。

2012.03.31 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles