{{-- regular object attribute --}} @php // dump($entry->getArrayAttribute('type')); $column['value'] = $column['value'] ?? data_get($entry, $column['name']); $json_value = json_decode($column['value']); if (json_last_error() === 0 || (json_last_error() === JSON_ERROR_NONE)) { // prepare repeatable fields $value=""; $separator=""; if (is_array($json_value)) { foreach($json_value as $json_entry){ $value.=$separator.$json_entry->name; $separator=", "; } }else{ $value = $json_value; } $column['value']=$value; } $column['escaped'] = $column['escaped'] ?? true; $column['limit'] = $column['limit'] ?? 32; $column['prefix'] = $column['prefix'] ?? ''; $column['suffix'] = $column['suffix'] ?? ''; $column['text'] = $column['default'] ?? '-'; if($column['value'] instanceof \Closure) { $column['value'] = $column['value']($entry); } if(is_array($column['value'])) { $column['value'] = json_encode($column['value']); } switch($entry->getArrayAttribute('type')){ case 'media_picker': $column['text'] = $column['value']? getImageHtml($column['value']) : "" ; $column['escaped'] = false; break; default: if(!empty($column['value'])) { if (preg_match('/^data\:image\//', $column['value'])) { // base64_image // svg/base64 image $href = $column['value']; $column['text'] = ''; $column['escaped'] = false; //}else if(substr($column['value'],0,7)=='storage'){ }else if(preg_match('/\.(jpg|jpeg|png|gif|webp|bmp)$/i', $column['value'])){ // storage image $column['text'] = ''; $column['escaped'] = false; }else{ $column['text'] = $column['prefix'].Str::limit($column['value'], $column['limit'], '…').$column['suffix']; } } break; } @endphp @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_start') @if($column['escaped']) {{ $column['text'] }} @else {!! $column['text'] !!} @endif @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_end')