Code: Alles auswählen
//------------------------------> Eintragsliste
if ($func == '' && $thiscat!="uebersicht") {
echo rex_api_function::getMessage();
$title = rex_i18n::msg('theater_list_caption');
$list = rex_list::factory('SELECT `id`,`jahr`,`titel` FROM ' . rex::getTable($table) . ' WHERE `kategorie` = "' . $thiscat . '" ORDER BY Jahr DESC');
$list->addTableAttribute('class', 'table-striped');
//Icon für jede Zeile
$tdIcon = '<i class="rex-icon fa-ticket"></i>';
// + Zeichen
$thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '"><i class="rex-icon rex-icon-add-metainfo"></i></a>';
$list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']);
$list->setColumnParams($thIcon, ['func' => 'edit', 'id' => '###id###']);
$list->removeColumn('id');
$list->setColumnLabel('id', "Id");
$list->setColumnLayout('id', ['<th class="rex-table-id">###VALUE###</th>', '<td class="rex-table-id" data-title="Id">###VALUE###</td>']);
$list->setColumnLabel('jahr', "Jahr");
$list->setColumnParams('jahr', ['func' => 'edit', 'id' => '###id###']);
$list->setColumnLabel('titel', "Titel");
$list->setColumnParams('titel', ['func' => 'edit', 'id' => '###id###']);
$list->addColumn(rex_i18n::msg('minfo_field_label_functions'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit'));
$list->setColumnLayout(rex_i18n::msg('minfo_field_label_functions'), ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']);
$list->setColumnParams(rex_i18n::msg('minfo_field_label_functions'), ['func' => 'edit', 'id' => '###id###']);
$list->addLinkAttribute(rex_i18n::msg('minfo_field_label_functions'), 'class', 'rex-edit');
$list->setNoRowsMessage(rex_i18n::msg('theater_not_found'));
$content .= $list->get();
$fragment = new rex_fragment();
$fragment->setVar('title', $title);
$fragment->setVar('content', $content, false);
$content = $fragment->parse('core/page/section.php');
}
//------------------------------> Formular
elseif ($func == 'edit' || $func == 'add') {
$title = rex_i18n::msg('theater_bearbeiten');
$form = rex_form::factory(rex::getTable($table), 'Theaterstuecke', 'id=' . rex_request('id', 'int', 0),'post',true);
$form->addParam('id', rex_request('id', 'int', 0));
if ($func=='add'){
$field = $form->addHiddenField('kategorie',$value=$thiscat);
}else{
$field = $form->addHiddenField('kategorie');
}
$field = $form->addTextField('jahr');
$field->setAttribute("style","width:10em;");
$field->setLabel("Jahr");
$field = $form->addTextField('titel');
$field->setLabel("Titel");
$field = $form->addRadioField ('wosichtbar');
$field->setLabel('Sichtbar unter:');
$field->addOption ('Programm', 1);
$field->addOption ('Archiv', 2);
$field = $form->addTextAreaField('teaser');
$field->setLabel("Teaser");
$field = $form->addTextAreaField('beschreibung');
$field->setLabel("Beschreibung");
$field = $form->addMediaField('hauptbild');
$field->setLabel("Bild");
$field = $form->addSelectField('bilderCatId','',['class'=>'form-control selectpicker']);
$field->setLabel("Bilderkategorie");
$select = $field->getSelect();
$select->setSize(sizeof(rex_media_category::getRootCategories()));
foreach (rex_media_category::getRootCategories() as $category) {
$select->addOption($category->getName(),$category->getId());
}
$field = $form->addRawField('<script>var amountValidTermine=0;function hideempty(){for (loop=1;loop<=25;loop++){if (document.getElementById("rex-theaterstuecke-theaterstuecke-termine-termin"+loop+"-termin").value==""){$("#rex-termin"+loop).toggle();}else{amountValidTermine++;}}}function plus(){amountValidTermine++;$("#rex-termin"+amountValidTermine).toggle("slow", function() {});if (amountValidTermine>25){$("#plus").toggle();}}$( "#plus" ).click(function() { plus();}); $( "#showTermine" ).click(function() { hideempty();var oldText = $("#showTermine").text();var newText = $("#showTermine").attr("data-text");if ($("#showTermine").text(oldText)) {$("#showTermine").text(newText); } else {$("#showTermine").text(oldText); } $("#showTermine").attr("data-text",oldText); $( "#termine" ).toggle("slow", function() {});});</script>');
$field = $form->addRawField('<div style="cursor:pointer; color:teal; font-weight:bold;" data-text="Termine ausblenden" id="showTermine">Termine anzeigen</div>');
$field = $form->addRawField('<div id ="termine" style="display:none;">');
$fieldContainer = $form->addContainerField('termine');
for ($i=1;$i<=25;$i++){
// HTML Prefix für den Container
$fieldContainer->setPrefix('<fieldset id="termin"'.$i.'" class="termin">');
// HTML Sufix für den Container
$fieldContainer->setSuffix('</fieldset>');
$f = $fieldContainer->addGroupedField('termin'.$i, 'text', 'termin','',['style'=>'width:20em;']);
$f->setLabel('Datum');
$f = $fieldContainer->addGroupedField('termin'.$i, 'text', 'uhrzeit','',['style'=>'width:20em;']);
$f->setLabel('Uhrzeit');
$f = $fieldContainer->addGroupedField('termin'.$i, 'select', 'pk','',['class'=>'selectpicker','multiple'=>'multiple']);
$f->setLabel('verfügbare Preiskategorien');
$select = $f->getSelect();
$select->addOptions(['PK1','PK2','PK3','PK4','PK5'], true);
}
$field = $form->addRawField('<div id ="plus" style="cursor:pointer;color:teal; font-weight:bold;">+Termin hinzufügen</div>');
$field = $form->addRawField('</div>');
$content .= $form->get();
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('title', $title);
$fragment->setVar('body', $content, false);
$content = $fragment->parse('core/page/section.php');
}
}
echo $content;