OSDN Git Service

StaticTableを項目指定で出力Helper追加
authorCake <cake_67@users.sourceforge.jp>
Sun, 25 Apr 2010 03:04:31 +0000 (12:04 +0900)
committerCake <cake_67@users.sourceforge.jp>
Sun, 25 Apr 2010 03:04:31 +0000 (12:04 +0900)
app/views/helpers/character_sheet.php

index c20a103..50beb2c 100644 (file)
@@ -90,6 +90,40 @@ class CharacterSheetHelper extends Helper {
                }
        }
 
+       /* 固定テーブルの項目を指定して表示 */
+       // $key_name の $tablekey_name $row行目  指定
+       function staticTable4row_tablekey_name($profile, $key_name, $tablekey_name, $row)
+       {
+               $row = intval($row);
+               if (empty($profile) || empty($key_name) || empty($pattern) || empty($tablekey_name) || empty($row)) {
+                       echo null;
+               }
+
+               if (!isset($profile['ProfileTable']) || !isset($profile['ProfileTable'])) {
+                       echo null;
+               }
+
+               // $tablekey_name, $rowに対応するデータ抽出と出力
+               $table = Set::extract('/'.$key_name.'/ProfileTable[tablekey_name='.$tablekey_name.']', $profile);
+               unset($table[0]['ProfileTable']['ProfileTableStatic']);
+               if (isset($table[0]['ProfileTable'])) {
+                       $hasProfile = Set::extract('/'.$key_name.'/CharactersHasProfile[profile_table_id='.$table[0]['ProfileTable']['id'].']', $profile);
+
+                       if (!empty($hasProfile)) {
+                               $key = $row - 1;
+                               if (isset($hasProfile[$key]['CharactersHasProfile']['value'])) {
+                                       echo $hasProfile[$key]['CharactersHasProfile']['value'];
+                               } else {
+                                       echo "&nbsp;";
+                               }
+                       } else {
+                               echo null;
+                       }
+               } else {
+                       echo null;
+               }
+       }
+
        /* フォーマットして出力 */
        function formatValues($pattern, $replacement)
        {