You are here

function simple_node_importer_theme_simple_node_import_table in Simple Node Importer 8

Theme function to display form data.

1 string reference to 'simple_node_importer_theme_simple_node_import_table'
simple_node_importer_theme in ./simple_node_importer.module
Implements hook_theme().

File

./simple_node_importer.module, line 475
Simple node importer module file.

Code

function simple_node_importer_theme_simple_node_import_table($form) {

  // Table header information.
  $tableheader = [
    [
      'data' => t('Content type Field(s)'),
    ],
    [
      'data' => t('CSV Column(s)'),
    ],
  ];

  // A variable to hold the row information for each table row.
  $rows = [];
  foreach (Element::children($form['form']) as $element_key) {
    $title = '';

    // Hide field labels.
    $form['form'][$element_key]['#title_display'] = 'invisible';
    if (isset($form['form'][$element_key]['#title'])) {
      $requiredTag = new FormattableMarkup('@field <span class="@formRequired" title="@title"></span>', [
        "@field" => ucfirst($form['form'][$element_key]['#title']),
        "@formRequired" => "form-required",
        "@title" => "This field is required",
      ]);
      $title = $form['form'][$element_key]['#required'] ? $requiredTag : ucfirst($form['form'][$element_key]['#title']);
    }
    $rows[] = [
      'data' => [
        [
          'data' => t("@title", [
            "@title" => $title,
          ]),
          'class' => 'field-title',
        ],
        [
          'data' => render($form['form'][$element_key]),
          'class' => 'field-value',
        ],
      ],
    ];
  }
  $table = [
    '#type' => 'table',
    '#header' => $tableheader,
    '#rows' => $rows,
  ];
  return drupal_render($table);
}