• 13-09-2019, 09:40:18
    #1
    Selamlar sitede şöyle bir hata alıyorum. Problem ne olabilir.

  • 13-09-2019, 09:58:52
    #2
    Gelen değerler dizi olduğu için string türüne çevrilemiyor.
    Dizileri string türüne çevirmek istiyorsanız foreach döngüsü içerisine alıp çıktı vermelisiniz.
    kodlarınızı ekleyin inceleyelim.
  • 13-09-2019, 10:01:02
    #3
    @HaYLaZ; Hocam açıkçası çok php bilgim yok 553'den 556.satıra bu kod dizisi var.

    $row_field = $listing->get_field( $row['show_field'] );
    if ( is_array( $row_field ) ) {
    $row_field = join( ', ', $row_field );
    }
  • 13-09-2019, 10:05:41
    #4
    if ( is_array( $row_field ) ) {
    $row_field = join( ', ', $row_field );
    }
    kodda diyorki satır alanı dizi ise şunu yap. Senin satır alanın diziden oluşuyor. Gerçi kodların tamamını görmeden yani row filed dediği alan içerisinde hangi parametreler var bilmeden birşey demek zor fakat,

    foreach($row_field as $field){
    echo "<pre>";
    print_r($field);
    echo "</pre>";
    
    }
    şeklinde ekrana bastırdığında neler geliyor?

    yada direkt olarak şunu yapabilirsin;
    <?php dd($row_field) ?>
  • 13-09-2019, 10:12:33
    #5
    @HaYLaZ; Hocam dediğinizi yaptım ama beyaz ekran çıktı direk sitede. Tam kod satırı bu şekilde.

     if ( in_array( $block['type'], [ 'table', 'accordion', 'tabs', 'details' ] ) ) {
    $rows = [];
    
    foreach ((array) $block['options'] as $option) {
    if ($option['name'] == 'rows') {
    foreach ((array) $option['value'] as $row) {
    if ( ! is_array( $row ) || empty( $row['show_field'] ) || ! $listing->has_field( $row['show_field'] ) ) {
    continue;
    }
    
    $row_field = $listing->get_field( $row['show_field'] );
    if ( is_array( $row_field ) ) {
    $row_field = join( ', ', $row_field );
    }
    
    $rows[] = [
    'title' => $row['label'],
    'content' => $listing->compile_field_string( $row['content'], $row_field ),
    'icon' => isset( $row['icon'] ) ? $row['icon'] : '',
    ];
    }
    }
    }
    }