kratos/inc/codestar-framework/fields/tabbed/tabbed.php

67 lines
1.9 KiB
PHP

<?php if (!defined('ABSPATH')) {
die;
}
/**
*
* Field: tabbed
*
* @since 1.0.0
* @version 1.0.0
*
*/
if (!class_exists('CSF_Field_tabbed')) {
class CSF_Field_tabbed extends CSF_Fields
{
public function __construct($field, $value = '', $unique = '', $where = '', $parent = '')
{
parent::__construct($field, $value, $unique, $where, $parent);
}
public function render()
{
$unallows = array('tabbed');
echo $this->field_before();
echo '<div class="csf-tabbed-nav" data-depend-id="' . esc_attr($this->field['id']) . '">';
foreach ($this->field['tabs'] as $key => $tab) {
$tabbed_icon = (!empty($tab['icon'])) ? '<i class="csf--icon ' . esc_attr($tab['icon']) . '"></i>' : '';
$tabbed_active = (empty($key)) ? 'csf-tabbed-active' : '';
echo '<a href="#" class="' . esc_attr($tabbed_active) . '"">' . $tabbed_icon . esc_attr($tab['title']) . '</a>';
}
echo '</div>';
echo '<div class="csf-tabbed-contents">';
foreach ($this->field['tabs'] as $key => $tab) {
$tabbed_hidden = (!empty($key)) ? ' hidden' : '';
echo '<div class="csf-tabbed-content' . esc_attr($tabbed_hidden) . '">';
foreach ($tab['fields'] as $field) {
if (in_array($field['type'], $unallows)) {
$field['_notice'] = true;
}
$field_id = (isset($field['id'])) ? $field['id'] : '';
$field_default = (isset($field['default'])) ? $field['default'] : '';
$field_value = (isset($this->value[$field_id])) ? $this->value[$field_id] : $field_default;
$unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
CSF::field($field, $field_value, $unique_id, 'field/tabbed');
}
echo '</div>';
}
echo '</div>';
echo $this->field_after();
}
}
}