public function appProject($lang, $slug) { $project = Dic::valueBySlugs('projects', $slug, ['fields', 'textfields']); #Helper::tad($project); if (!$project) { App::abort(404); } $project = DicLib::loadImages($project, ['image']); $project_page = Page::by_id($project->page_id); #Helper::tad($project_page); if (!$project_page) { App::abort(404); } $prev_project = null; $next_project = null; $prev_project = Dic::valuesBySlug('projects', function ($query) use($project) { $query->where('lft', '<', $project->lft); $query->orderBy('lft', 'ASC'); $query->take(1); }, ['fields', 'textfields'], true, true, true); #Helper::ta($prev_project); $next_project = Dic::valuesBySlug('projects', function ($query) use($project) { $query->where('lft', '>', $project->lft); $query->orderBy('lft', 'ASC'); $query->take(1); }, ['fields', 'textfields'], true, true, true); #Helper::tad($next_project); return View::make(Helper::layout('project'), compact('project', 'project_page', 'prev_project', 'next_project')); }
public static function getSidebarModules() { $start_page = AuthAccount::getStartPage(); $menu = array(); ## Modules info $mod_info = Config::get('mod_info'); $mod_menu = Config::get('mod_menu'); #Helper::dd($mod_info); #Helper::d($mod_menu); $dic_entities = array(); if (class_exists('AdminDicvalsController')) { $entity_dics = Dic::where('entity', '1')->orderBy(DB::raw('-`order`'), 'DESC')->get(); #Helper::tad($entity_dics); if (count($entity_dics)) { $controller = new AdminDicvalsController(); foreach ($entity_dics as $entity_dic) { if (!$controller->is_available($entity_dic)) { continue; } $dic_entities[$entity_dic->slug] = array(array('title' => $entity_dic->name, 'link' => Helper::clearModuleLink(URL::route('entity.index', $entity_dic->slug)), 'class' => $entity_dic->icon_class, 'module' => 'dictionaries', 'permit' => 'dicval_entity_view')); } ##$dic_entities += $mod_menu; ##$mod_menu = $dic_entities; #Helper::d($dic_entities); #Helper::dd($mod_menu); } } ## If exists menu elements... if (isset($mod_menu) && is_array($mod_menu) && count($mod_menu)) { #foreach( $mod_menu as $mod_name => $menu_elements ) { foreach ((array) @$dic_entities + Allow::modules() as $mod_name => $module) { #Helper::d($mod_name); ## Hardcode... $menu_elements = @is_object($module) && @is_array($mod_menu[$mod_name]) ? $mod_menu[$mod_name] : $module; if (is_array($menu_elements) && count($menu_elements)) { #Helper::d($mod_name); #continue; #Helper::d($menu_elements); #continue; foreach ($menu_elements as $m => $menu_element) { #Helper::d($menu_element); #continue; ## If permit to view menu element $rules = @$menu_element['permit']; $module = @$menu_element['module'] ?: $mod_name; $permit = $rules ? Allow::action($module, $rules, true, false) : true; #Helper::d($module . " :: " . $permit . " :: " . $rules); #Helper::d( $menu_element['title'] . " - " . (int)$permit ); if ($permit) { $menu[] = $menu_element; } } } } } #Helper::dd($menu); return $menu; }
?> @extends(Helper::layout()) <?php $route = Route::current(); #dd($route); $id = $route->getParameter('id'); $event = Dic::valueBySlugAndId('events', $id, ['fields', 'textfields']); if (!$event) { echo json_encode(['responseType' => 'error', 'responseCode' => 404]); return; } $event = DicLib::loadImages($event, ['image', 'header_img']); #Helper::tad($event); $others_events = Dic::valuesBySlug('events', function ($query) use($event) { #$query->where('id', '!=', $event->id); $query->filter_by_field('date_start', '>=', date('Y-m-d')); $query->order_by_field('date_start', 'asc'); $query->take(5); }, ['fields', 'textfields']); $others_events = DicLib::loadImages($others_events, ['image']); #Helper::tad($others_news); ?> @section('style') @stop @section('content') <section class="b-title " style="background-image: url({{ isset($event->header_img) && is_object($event->header_img) ? $event->header_img->full() : '' }});">
public function postAjaxCheckDicvalSlugUnique() { $input = Input::all(); #Helper::dd(Input::all()); $json_request = array('status' => FALSE, 'responseText' => ''); $dic_id = Input::get('_dic_id'); $dic = Dic::find($dic_id); /** * Если словарь не найден - сообщаем об ошибке */ if (!is_object($dic)) { $json_request['responseText'] = 'Вы пытаетесь добавить запись в несуществующую сущность'; return Response::json($json_request, 200); } $id = Input::get('_id'); $slug = trim(Input::get('slug')); $name = Input::get('name'); $element = new DicVal(); if ($id) { $element = DicVal::find($id); } if (!is_object($element)) { $element = new DicVal(); } switch ((int) $dic->make_slug_from_name) { case 1: $input['slug'] = Helper::translit($input['name']); break; case 2: if (!$dic->hide_slug && !@$input['slug']) { $input['slug'] = Helper::translit($input['name']); } break; case 3: if ($dic->hide_slug && $element->slug == '') { $input['slug'] = Helper::translit($input['name']); } break; case 4: $input['slug'] = Helper::translit($input['name'], false); break; case 5: if (!$dic->hide_slug && !@$input['slug']) { $input['slug'] = Helper::translit($input['name'], false); } break; case 6: if ($dic->hide_slug && $element->slug == '') { $input['slug'] = Helper::translit($input['name'], false); } break; case 7: $input['slug'] = $input['name']; break; case 8: if (!$dic->hide_slug && !@$input['slug']) { $input['slug'] = $input['name']; } break; case 9: if ($dic->hide_slug && $element->slug == '') { $input['slug'] = $input['name']; } break; } $new_slug = $input['slug']; $json_request['new_slug'] = $new_slug; #Helper::d($new_slug); #Helper::tad($input); /** * Ищем записи в текущем словаре с новым системным именем */ $dicval = DicVal::where('slug', $new_slug)->where('dic_id', $dic_id); /** * Если мы редактируем существующую запись - исключаем ее ID из проверки */ if ($element->id) { $dicval = $dicval->where('id', '!=', $element->id); } $dicval = $dicval->first(); #Helper::ta($dicval); if (is_object($dicval)) { $json_request['responseText'] = 'Запись с таким системным именем уже существует'; $json_request['also_exists'] = $dicval->id; } else { $json_request['status'] = TRUE; } return Response::json($json_request, 200); }
public function ajaxChangeCity() { $city_id = Input::get('city_id'); $response = ['status' => false, 'errorText' => '']; $user_city_cache_key = self::$user_city_cache_key; $user_city_cache_min = self::$user_city_cache_min; if (is_numeric($city_id)) { $city = Dic::valueBySlugAndId('city', $city_id, 'all'); if (is_object($city) && $city->id) { Session::set($user_city_cache_key, $city->id); setcookie('change_city', true, time() + 60 * $user_city_cache_min, '/'); $response['status'] = true; $response['session'] = Session::all(); } else { $response['errorText'] = 'wrong city_id'; } } else { $response['errorText'] = 'bad city_id'; } return Response::json($response); }
<? /** * TITLE: Меню * AVAILABLE_ONLY_IN_ADVANCED_MODE */ ?> <?php $categories = Dic::valuesBySlug('product_category', function ($query) { $query->orderBy("dictionary_values.lft"); }, 'all', TRUE); $current_category = array(); if ($page->sysname == 'menu') { echo json_encode(['responseType' => 'redirect', 'redirectUrl' => URL::route('page.category_menu', array('category' => $categories->first()->slug)), 'redirectCode' => 301]); return; } elseif ($page->sysname == 'category_menu') { $current_category_slug = Request::segment(2); foreach ($categories as $category) { if ($category->slug == $current_category_slug) { $current_category = $category; break; } } } if (!is_object($current_category)) { echo json_encode(['responseType' => 'redirect', 'redirectUrl' => URL::route('page.category_menu', array('category' => $categories->first()->slug)), 'redirectCode' => 301]); return; } ?> @section('title'){{{ $current_category->seo->title }}}@stop @section('description'){{{ $current_category->seo->description }}}@stop @section('keywords'){{{ $current_category->seo->keywords }}}@stop
#Helper::tad($dics); Config::set('temp.index_dics', $dics); ## Получаем список с нужными индексами $cities = Dic::makeLists($dics['city']['values_no_conditions'], null, 'name', 'id'); #Helper::ta($cities); Config::set('temp.cities', $cities); ## Получаем список с нужными индексами $types = Dic::makeLists($dics['type']['values_no_conditions'], null, 'name', 'id'); #Helper::ta($types); Config::set('temp.types', $types); /** * Создаем списки из полученных данных */ $dic_ids = Dic::makeLists($dics, false, 'id'); #Helper::d($dic_ids); $dicval_ids = Dic::makeLists($dicvals, false, 'id'); #Helper::d($dicval_ids); /** * Получаем количество необходимых нам данных, одним SQL-запросом. * Сохраняем данные в конфиг - для дальнейшего использования в функции-замыкании actions (см. выше). */ $counts = array(); if (count($dic_ids) && count($dicval_ids)) { $counts = DicVal::counts_by_fields($dic_ids, array('course_id' => $dicval_ids)); } #Helper::dd($counts); Config::set('temp.index_counts', $counts); }, 'after_store_update_destroy_order' => function ($dic = NULL, $dicval = NULL) { Cache::forget('dic_' . $dic->slug); }), 'second_line_modifier' => function ($line, $dic, $dicval) { #Helper::ta($dicval);
## Paginator Set Current Page - It is WORK!! ## http://stackoverflow.com/questions/17386641/specify-a-page-for-pagination-laravel-4 ## $current_page = Input::get('tab') == 'blog' ? Input::get('page') : 1; Paginator::setCurrentPage($current_page); $blogs = Dic::valuesBySlug('blog', function ($query) { $query->orderBy('created_at', 'desc'); }, ['fields', 'textfields'], true, true, true, 6); $blogs = DicLib::loadImages($blogs, ['image']); #Helper::tad($blogs); #dd($blogs); $current_page = Input::get('tab') == 'events' ? Input::get('page') : 1; Paginator::setCurrentPage($current_page); $events = Dic::valuesBySlug('events', function ($query) use($current_city) { $query->filter_by_field('city_id', '=', $current_city->id); $query->filter_by_field('date_start', '>=', date('Y-m-d')); $query->order_by_field('date_start', 'asc'); }, ['fields', 'textfields'], true, true, true, 1); $events = DicLib::loadImages($events, ['image']); #Helper::tad($events); #dd($events); Paginator::setCurrentPage(1); $current_tab = 'blog'; if (Input::get('tab') == 'events') { $current_tab = Input::get('tab'); } elseif (Input::get('tab') == 'social') { $current_tab = Input::get('tab'); } ?>
<?php return array('fields' => function () { /** * Предзагружаем нужные словари с данными, по системному имени словаря, для дальнейшего использования. * Делается это одним SQL-запросом, для снижения нагрузки на сервер БД. */ $dics_slugs = array('city', 'course'); $dics = Dic::whereIn('slug', $dics_slugs)->with('values')->get(); $dics = Dic::modifyKeys($dics, 'slug'); #Helper::tad($dics); $lists = Dic::makeLists($dics, 'values', 'name', 'id'); #Helper::dd($lists); $lists_ids = Dic::makeLists($dics, null, 'id', 'slug'); #Helper::dd($lists_ids); return array('company' => array('title' => 'Компания', 'type' => 'text'), 'position' => array('title' => 'Должность', 'type' => 'text'), 'quote' => array('title' => 'Цитата в шапке', 'type' => 'textarea'), 'header_img' => array('title' => 'Изображение в шапке', 'type' => 'image', 'params' => array('maxFilesize' => 4)), 'avatar' => array('title' => 'Аватар', 'type' => 'image', 'params' => array('maxFilesize' => 4)), 'gender' => array('title' => 'Пол', 'type' => 'select', 'values' => Config::get('site.genders')), 'short' => array('title' => 'Короткий текст', 'type' => 'textarea'), 'full' => array('title' => 'Полный текст', 'type' => 'textarea_redactor'), 'city_id' => array('title' => 'Город', 'type' => 'select', 'values' => $lists['city'], 'default' => Input::get('filter.fields.city_id') ?: null), 'course_id' => array('title' => 'Обучался на курсе', 'type' => 'select', 'values' => array('Выберите..') + $lists['course'], 'default' => Input::get('filter.fields.course_id') ?: null), '-' => array('type' => 'custom', 'content' => '<br/><strong>ИЛИ</strong><br/><br/>'), 'course_text' => array('title' => 'Название курса', 'type' => 'text'), 'fb_link' => array('title' => 'Facebook', 'type' => 'text', 'others' => ['placeholder' => 'http://']), 'vk_link' => array('title' => 'VKontakte', 'type' => 'text', 'others' => ['placeholder' => 'http://']), 'ig_link' => array('title' => 'Instagram', 'type' => 'text', 'others' => ['placeholder' => 'http://']), 'tw_link' => array('title' => 'Twitter', 'type' => 'text', 'others' => ['placeholder' => 'http://']), 'yt_link' => array('title' => 'YouTube', 'type' => 'text', 'others' => ['placeholder' => 'http://']), 'mainpage' => array('no_label' => true, 'title' => 'Показывать на главной', 'type' => 'checkbox', 'label_class' => 'normal_checkbox')); }, 'hooks' => array('after_store_update_destroy_order' => function ($dic = NULL, $dicval = NULL) { Cache::forget('dic_' . $dic->slug); }));
public static function by_id($id) { Dic::preload(); $cache_key = self::$cache_key; $dics = Config::get($cache_key); $dic = @$dics['by_id'][$id]; return $dic ?: NULL; }
<?php return array('fields' => function () { /** * Предзагружаем нужные словари с данными, по системному имени словаря, для дальнейшего использования. * Делается это одним SQL-запросом, для снижения нагрузки на сервер БД. */ $dics_slugs = array('city', 'course'); $dics = Dic::whereIn('slug', $dics_slugs)->with('values')->get(); $dics = Dic::modifyKeys($dics, 'slug'); #Helper::tad($dics); $lists = Dic::makeLists($dics, 'values', 'name', 'id'); #Helper::dd($lists); $lists_ids = Dic::makeLists($dics, null, 'id', 'slug'); #Helper::dd($lists_ids); return array('email' => array('title' => 'E-mail', 'type' => 'text'), 'phone' => array('title' => 'Телефон', 'type' => 'text'), 'course_id' => array('title' => 'Курс', 'type' => 'select', 'values' => $lists['course'], 'default' => Input::get('filter.fields.course_id') ?: null), 'city_id' => array('title' => 'Город', 'type' => 'select', 'values' => $lists['city'], 'default' => Input::get('filter.fields.city_id') ?: null)); }, 'hooks' => array('before_index_view' => function ($dic, $dicvals) { $temp = Dic::valuesBySlug('city', null, [], true, true, true); #Helper::tad($temp); Config::set('temp.city', $temp); $temp = Dic::valuesBySlug('course', null, [], true, true, true); #Helper::tad($temp); Config::set('temp.course', $temp); }, 'after_store_update_destroy_order' => function ($dic = NULL, $dicval = NULL) { Cache::forget('dic_' . $dic->slug); }), 'second_line_modifier' => function ($line, $dic, $dicval) { #Helper::ta($dicval); $cities = Config::get('temp.city'); $courses = Config::get('temp.course'); return (isset($cities[$dicval->city_id]) && is_object($cities[$dicval->city_id]) ? $cities[$dicval->city_id]->name : '') . ' - ' . (isset($courses[$dicval->course_id]) && is_object($courses[$dicval->course_id]) ? $courses[$dicval->course_id]->name : ''); });
public static function returnRoutes($prefix = null) { ## Предзагружаем все словари (с кешированием) Dic::preload(); #Helper::tad(Cache::get('app.dics')); }
public function manage($id) { Allow::permission($this->module['group'], $this->module['name']); $element = Storage::find($id); if (!is_object($element)) { App::abort(404); } $element->extract(); #Helper::tad($element); #Helper::dd($element->items->{5}->title); /* Helper::dd( StringView::make( array( 'template' => $element->items->{5}->title, 'cache_key' => sha1($element->items->{5}->title), 'updated_at' => time() ), array('key' => 'val') )->render() ); */ #Helper::dd(StringView::force($element->items->{5}->title)); $pages = Page::where('version_of', NULL)->orderBy('created_at', 'DESC')->get(); $pages = Dic::modifyKeys($pages, 'id'); #Helper::ta($pages); /** * Убираем из набора ссылок меню те страницы, которых несуществует (скорее всего они были удалены) */ #/* if (isset($element->items) && count($element->items) && $pages !== NULL && count($pages)) { foreach ($element->items as $i => $item) { if (!is_object($item) || $item->type != 'page') { continue; } #Helper::d($i); #Helper::d($item); if (!isset($pages[$item->page_id])) { unset($element->items->{$i}); } } #Helper::tad($element); } #*/ $functions = array(); $temp = Config::get('menu.functions'); if (count($temp)) { foreach ($temp as $name => $closure) { $result = $closure(); $functions[$name] = is_array($result) && isset($result['text']) ? @$result['text'] . " (" . $name . ")" : $name; } } return View::make($this->module['tpl'] . 'manage', compact('element', 'pages', 'functions')); }
<? /** * TITLE: Главная страница * AVAILABLE_ONLY_IN_ADVANCED_MODE */ ?> <?php $sliders = Dic::valuesBySlug('slider_in_main', function ($query) { $query->orderBy("dictionary_values.lft"); }, 'all', TRUE); $images = array(); if (count($sliders)) { $images_ids = array(); foreach ($sliders as $index => $slider) { if (!empty($slider->slide)) { $images_ids[] = $slider->slide; } } if (!empty($images_ids)) { foreach (Photo::whereIn('id', $images_ids)->get() as $image) { $images[$image->id] = $image->name; } } } ?> @extends(Helper::layout()) @section('style') @stop @section('content') @if(count($sliders)) <div id="carousel" class="cf" style="margin-bottom: 0;">
if ($real_city) { ## Редирект на нужный адрес echo json_encode(['responseType' => 'redirect', 'redirectUrl' => URL::route('page.course', [$real_city->slug, $course_id])]); return; } else { ## 404 echo json_encode(['responseType' => 'error', 'responseCode' => 404]); return; } } #$course->load('related_dicvals'); ## пусто #Helper::tad($course); $teacher = isset($dic_teachers[$course->teacher_id]) ? $dic_teachers[$course->teacher_id] : null; #Helper::tad($teacher); $lessons = Dic::valuesBySlug('lessons', function ($query) use($course) { $query->filter_by_field('course_id', '=', $course->id); }, 'all', true, true, true); #Helper::tad($lessons); $students_works = new Collection(); if (isset($dic_students_work) && is_object($dic_students_work) && $dic_students_work->count()) { foreach ($dic_students_work as $work) { if ($work->type_id == $course->type_id) { $students_works[] = $work; } } } #Helper::tad($students_works); $reviews = new Collection(); if (isset($dic_reviews) && is_object($dic_reviews) && $dic_reviews->count()) { foreach ($dic_reviews as $review) { if ($review->course_id == $course->id) {
/** * !!! NEED TO ADD RELATED_DICVALS SUPPORT !!! * * @param $dic_slug * @param $dicval_id * @param $array * * @return bool|\Illuminate\Support\Collection|null|static */ public static function refresh($dic_slug, $dicval_id, $array) { #Helper::d($dic_slug); #Helper::d($array); ## Find DIC $dic = Dic::where('slug', $dic_slug)->first(); if (!is_object($dic)) { return false; } ## Find dicval $dicval = DicVal::find($dicval_id); if (!is_object($dicval)) { return false; } if ($dicval->dic_id != $dic->id) { $dicval->dic_id = $dic->id; } if (isset($array['slug'])) { $dicval->slug = $array['slug']; } if (isset($array['name'])) { $dicval->name = $array['name']; } $dicval->save(); ## UPDATE FIELDS if (@isset($array['fields']) && is_array($array['fields']) && count($array['fields'])) { #$fields = new Collection(); foreach ($array['fields'] as $key => $value) { $dicval_field_search_array = array('dicval_id' => $dicval->id, 'key' => $key); if (is_array($value) && isset($value['language'])) { $dicval_field_search_array['language'] = @$value['language'] ?: NULL; } $dicval_field = DicFieldVal::firstOrNew($dicval_field_search_array); $dicval_field->value = is_array($value) ? @$value['value'] : $value; $dicval_field->save(); #$fields[] = $dicval_field; } #$dicval->relations['fields'] = $fields; } ## CREATE FIELDS_I18N if (@isset($array['fields_i18n']) && is_array($array['fields_i18n']) && count($array['fields_i18n'])) { #$fields_i18n = new Collection(); foreach ($array['fields_i18n'] as $locale_sign => $fields) { if (!@is_array($fields) || !@count($fields)) { continue; } #$temp = new Collection(); foreach ($fields as $key => $value) { $dicval_field_search_array = array('dicval_id' => $dicval->id, 'language' => $locale_sign, 'key' => $key); $dicval_field = DicFieldVal::firstOrNew($dicval_field_search_array); $dicval_field->value = is_array($value) ? @$value['value'] : $value; $dicval_field->save(); #$temp[] = $dicval_field_i18n; } #$fields_i18n[$locale_sign] = $temp; } #$dicval->relations['fields_i18n'] = $fields_i18n; } ## CREATE TEXT FIELDS if (@isset($array['textfields']) && is_array($array['textfields']) && count($array['textfields'])) { #$textfields = new Collection(); foreach ($array['textfields'] as $key => $value) { $dicval_field_search_array = array('dicval_id' => $dicval->id, 'key' => $key); if (is_array($value) && isset($value['language'])) { $dicval_field_search_array['language'] = @$value['language'] ?: NULL; } $dicval_field = DicTextFieldVal::firstOrNew($dicval_field_search_array); $dicval_field->value = is_array($value) ? @$value['value'] : $value; $dicval_field->save(); #$textfields[] = $dicval_textfield; } #$dicval->relations['textfields'] = $textfields; } ## CREATE TEXT FIELDS_I18N if (@isset($array['textfields_i18n']) && is_array($array['textfields_i18n']) && count($array['textfields_i18n'])) { #$textfields_i18n = new Collection(); foreach ($array['textfields_i18n'] as $locale_sign => $textfields) { if (!@is_array($textfields) || !@count($textfields)) { continue; } #$temp = new Collection(); foreach ($textfields as $key => $value) { $dicval_field_search_array = array('dicval_id' => $dicval->id, 'language' => $locale_sign, 'key' => $key); $dicval_field = DicTextFieldVal::firstOrNew($dicval_field_search_array); $dicval_field->value = is_array($value) ? @$value['value'] : $value; $dicval_field->save(); #$temp[] = $dicval_textfield_i18n; } #$textfields_i18n[$locale_sign] = $temp; } #$dicval->relations['textfields_i18n'] = $textfields_i18n; } ## CREATE META if (@isset($array['meta']) && is_array($array['meta']) && count($array['meta'])) { #$metas = new Collection(); foreach ($array['meta'] as $locale_sign => $fields) { if (!@is_array($fields) || !@count($fields)) { continue; } $temp = new Collection(); foreach ($fields as $key => $value) { $dicval_field_search_array = array('dicval_id' => $dicval->id, 'language' => $locale_sign); $dicval_field = DicValMeta::firstOrNew($dicval_field_search_array); $dicval_field->name = is_array($value) ? @$value['name'] : $value; $dicval_field->save(); #$temp[] = $dicval_meta; } #$metas[$locale_sign] = $temp; } #$dicval->relations['metas'] = $metas; } $dicval->load('allfields', 'alltextfields', 'metas'); ## RETURN DICVAL return $dicval; }
public function postClear($dic_id) { #Helper::tad($dic_id); #Helper::tad(URL::route('dicval.index', ['dic_id' => $dic_id])); $dic = Dic::by_id($dic_id); $dicvals = Dic::valuesBySlug($dic->slug, NULL, []); #Helper::tad($dicvals); $adc = new AdminDicvalsController(); if (count($dicvals)) { foreach ($dicvals as $dicval) { $id = $dicval->id; $adc->full_destroy($dic_id, $id); } } return Redirect::route('dicval.index', ['dic_id' => $dic_id]); }
?> @extends(Helper::layout()) <?php $route = Route::current(); #dd($route); $id = $route->getParameter('id'); $record = Dic::valueBySlugAndId('blog', $id, ['fields', 'textfields']); if (!$record) { echo json_encode(['responseType' => 'error', 'responseCode' => 404]); return; } $record = DicLib::loadImages($record, ['image', 'header_img']); #Helper::tad($record); $others_news = Dic::valuesBySlug('blog', function ($query) use($record) { $query->where('id', '!=', $record->id); $query->orderBy('created_at', 'desc'); $query->take(5); }, ['fields', 'textfields']); $others_news = DicLib::loadImages($others_news, ['image']); #Helper::tad($others_news); ?> @section('style') @stop @section('content') <section class="b-title " style="background-image: url({{ isset($record->header_img) && is_object($record->header_img) ? $record->header_img->full() : '' }});">
<?php return array('fields' => function () { /** * Предзагружаем нужные словари с данными, по системному имени словаря, для дальнейшего использования. * Делается это одним SQL-запросом, для снижения нагрузки на сервер БД. */ $dics_slugs = array('city'); $dics = Dic::whereIn('slug', $dics_slugs)->with('values')->get(); $dics = Dic::modifyKeys($dics, 'slug'); #Helper::tad($dics); $lists = Dic::makeLists($dics, 'values', 'name', 'id'); #Helper::dd($lists); $lists_ids = Dic::makeLists($dics, null, 'id', 'slug'); #Helper::dd($lists_ids); return array('city_id' => array('title' => 'Город', 'type' => 'select', 'values' => $lists['city'], 'default' => Input::get('filter.fields.city_id') ?: null)); }, 'hooks' => array('before_index_view' => function ($dic, $dicvals) { $temp = Dic::valuesBySlug('city', null, [], true, true, true); #Helper::tad($temp); Config::set('temp.city', $temp); }, 'after_store_update_destroy_order' => function ($dic = NULL, $dicval = NULL) { Cache::forget('dic_' . $dic->slug); }), 'second_line_modifier' => function ($line, $dic, $dicval) { #Helper::ta($dicval); $cities = Config::get('temp.city'); return isset($cities[$dicval->city_id]) && is_object($cities[$dicval->city_id]) ? $cities[$dicval->city_id]->name : ''; });