wefunkpz
Участники-
Публикации
47 -
Зарегистрирован
-
Посещение
Все публикации пользователя wefunkpz
-
Пожалуйста, разместите инструкцию по установке Akismet без глобального обновления Sitebill Проведено много изменений в файлах движка, "трогать" не очень хочется. Желательно поставить только антиспам-фильтр.
-
Окей, как изменить это условие? Где поправить код?
-
правильно ли я понимаю, что установив "Сохранять картинки без вотермарка", новые изображения в фиде будут без вотермарков, а на сайте с ними? спасибо за оперативный ответ
-
Здравствуйте, уважаемые разработчики Есть необходимость в фиде выгружать не изображения с водяными знаками, а их копии без обработки или превью (на котором отсутстует вотермарк). Что изменить или добавить в коде ? $image_field=trim($this->getConfigValue('apps.yandexrealty.images_field')); $uploadsField=false; $hasUploadify=false; if($image_field!='' && isset($this->form_data_shared[$image_field]) && in_array($this->form_data_shared[$image_field]['type'], array('uploads', 'uploadify_image'))){ if($this->form_data_shared[$image_field]['type']=='uploadify_image'){ $hasUploadify=true; }else{ $uploadsField=$image_field; } }else{ foreach($this->form_data_shared as $model_item){ if($model_item['type']=='uploadify_image'){ $hasUploadify=true; $uploadsField=false; break; }elseif($uploadsField===false && $model_item['type']=='uploads'){ $uploadsField=$model_item['name']; } } }
-
Уважаемые разработчики, когда ожидать обновление шаблона с возможностью вывода карты на всю ширину страницы? в оригинальном Realia есть такая возможность
-
получилось! спасибо!
-
Добрый день! Пытаюсь добавить баннер: присваиваю метку и в тело прописываю html - ругается "Не заполнено поле Тело баннера"
-
yandexrealty
- 34 ответа
-
- CMS Sitebill
- Скрипт
- (и ещё %d)
-
проблема с выгрузкой This page contains the following errors:error on line 13 at column 20: Encoding errorBelow is a rendering of the page up to the first error.куда лезть?
- 34 ответа
-
- CMS Sitebill
- Скрипт
- (и ещё %d)
-
спасибо большое! А как это значение при выгрузке в Яндекс.Недвижимость будет работать? (как 0 и 1, или текстовым значением?)
-
вариант тоже не "прокатывает" {if $grid_items[i].optype.value == '0'}Продажа{/if}{if $grid_items[i].optype.value == '1'}Аренда{/if}
-
выводит пустую строку
-
Добрый день! Подскажите, почему не работает конструкция в шаблоне? {if $grid_items[i].optype = '0'}Продажа{/if}{if $grid_items[i].optype = '1'}Аренда{/if}и эта {if $grid_items[i].optype != '1'}Продажа{else}Аренда{/if}
-
спасибо! помогло!
-
$news_list_column.img_preview_src у меня ничего не возвращает
-
Добрый день! Возникла необходимость прикреплять к новостям превью и выводить в блоке. Воспользовался новым типом загрузчика, зовел поле image типа uploads в таблице news. Изображение в редакторе новостей прикрепляю, сохраняю. Вывод в блоке организовал таким образом {if $news_list_column[i].image != '' } <div class="image"> <img class="previewi" src="{$estate_folder}/img/data/{$news_list_column[i].image}"/> </div>{/if}Изображение не вывыодит, т.к. вместо ссылки на фото в колонке значение в виде a:1:{i:0;a:4:{s:7:"preview";s:33:"prv53d7380e2a9e5_1406613518_1.png";s:6:"normal";s:33:"img53d7380e2a9e0_1406613518_1.png";s:4:"type";s:7:"graphic";s:4:"mime";s:3:"png";}}wtf?
-
Добрый день, уважаемые разработчики и пользователи! Подскажите как реализовать в форме добавления объявления наборы полей формы в зависимости от значения в одном из полей (например, селект-бокс). Если на моём примере: завёл поле optype (со значениями 0-Продажа, 1-Аренда), теперь при выборе необходимо подгрузить только те поля, что нужны (убрать - такие как "готовность документов" и т.д., добавить - "оплата вперед" и т.д.. Спасибо
-
Включить SEO-режим с расширенными ссылками объявлений. (apps.seo.data_alias_enable)При активации этой опции URL объявлений будет формироваться на основании поля data.translit_alias, которое должно содержать URL объявления в виде строки без слешей.Например, если объявление с ИД=17 имеет поле translit_alias = 'otlichnaya_kvartira_v_egipte', то при включении этой опции ссылка на это объявление будет иметь вид.../otlichnaya_kvartira_v_egipteЕсли же опция отключена, то.../realty17[.html] алиасы уже можно использовать кириллические
- 1 ответ
-
- seo
- оптимизация
-
(и ещё %d)
Теги:
-
То же самое, я предполагаю это связано с отключением в форме подачи объявления таких полей как "Страна", "Регион", "Метро". Конечно, хотелось услышать мнение разработчиков.
-
Еще раз проверил, да, действительно! Все работает. Нужно было почистить кэш на сервере.
-
Сегодня вернулся к вопросу, решил повторно попробовать, результат - даже блок с агентами не выводится main.php <?phpclass frontend_main extends SiteBill_Krascap { private function getAgentsListing(){ if(isset($_SESSION['user_list'])){ return $_SESSION['user_list']; } $ret=array(); $DBC=DBC::getInstance(); $query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN ( 2, 3 ) GROUP BY d.user_id ORDER BY _cnt DESC'; $stmt=$DBC->query($query); if($stmt){ while($ar=$DBC->fetch($stmt)){ $ret[]=$ar; } } $_SESSION['user_list']=$ret; return $ret; } function check_local_config () { require_once (SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/object_manager.php'); require_once (SITEBILL_DOCUMENT_ROOT.'/apps/config/admin/admin.php'); $config_admin = new config_admin(); if ( !$config_admin->check_config_item('grid_type') ) { $config_admin->addParamToConfig('grid_type','list','Тип списка объявлений (list - обычная таблица, thumbs - div-блоки'); } if ( !$config_admin->check_config_item('template.realia.homepagetype') ) { $config_admin->addParamToConfig('template.realia.homepagetype','classic','Тип главной страницы (classic|slider|carousel|search)'); } if ( !$config_admin->check_config_item('vip_cost') ) { $config_admin->addParamToConfig('vip_cost','100','Цена VIP-объявления за 1 день'); $query = "alter table ".DB_PREFIX."_data add column vip_status_end int(11) not null default 0"; $this->db->exec($query); if ( !$this->db->success ) { echo $this->db->error.'<br>'; } } if ( !$config_admin->check_config_item('premium_cost') ) { $config_admin->addParamToConfig('premium_cost','100','Цена Премиум-объявления за 1 день'); $query = "alter table ".DB_PREFIX."_data add column premium_status_end int(11) not null default 0"; $this->db->exec($query); if ( !$this->db->success ) { echo $this->db->error.'<br>'; } } if ( !$config_admin->check_config_item('bold_cost') ) { $config_admin->addParamToConfig('bold_cost','100','Цена выделения объявления за 1 день'); $query = "alter table ".DB_PREFIX."_data add column bold_status_end int(11) not null default 0"; $this->db->exec($query); if ( !$this->db->success ) { echo $this->db->error.'<br>'; } } if ( !$config_admin->check_config_item('vip_rotator_number') ) { $config_admin->addParamToConfig('vip_rotator_number','5','Количество VIP-объявлений в колонке'); } if ( !$config_admin->check_config_item('ups_price') ) { $config_admin->addParamToConfig('ups_price','400','(Цена одного поднятия'); } } /** * Main * @param void * @return string */ function main () { $layouts=array( '_default'=>'layout_basic.tpl', 'home'=>'layout_home.tpl', 'apps'=>'layout_basic.tpl', 'realtygrid'=>'layout_full.tpl', 'realtyview'=>'layout_full.tpl', 'account'=>'layout_account.tpl', ); $this->check_local_config(); /*require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/sitebill_includer.php'); $Sitebill_Includer=Sitebill_Includer::getInstance(); $Sitebill_Includer->addCss('/template/frontend/agency/css/style.css'); $Sitebill_Includer->addCss('/template/frontend/agency/css/style3.css'); */ /*if(!preg_match('/\/login/', $_SERVER['REQUEST_URI']) && (int)$_SESSION['user_id']==0){ header('location:'.SITEBILL_MAIN_URL.'/login/'); }*/ $work_subcontroller=''; $has_result=false; $undetected_url=false; global $__site_title, $folder, $smarty; $REQUESTURIPATH=Sitebill::getClearRequestURI(); $this->template->assign('agents_list', $this->getAgentsListing()); if($this->getConfigValue('use_google_map')){ $this->template->assign('map_type', 'google'); }else{ $this->template->assign('map_type', 'yandex'); } $this->getNewest(); $this->getAgents(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/apps/apps_processor.php'); $apps_processor = new Apps_Processor(); $apps_processor->run_preload(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_manager.php'); $Structure_Manager = new Structure_Manager(); if ( $_SESSION['theme'] != '' ) { $theme = $_SESSION['theme']; } else { $theme = $this->getConfigValue('theme'); } $this->template->assert('template_vars_logo', $this->getConfigValue('template.'.$theme.'.logo')); $this->template->assert('current_theme_name', $theme); $this->template->assert('allow_register_account', $this->getConfigValue('allow_register_account')); $result=$this->_detectUrlParams($_SERVER['REQUEST_URI']); if($result['topic_id'] && !is_array($result['topic_id'])){ $this->setRequestValue('topic_id', $result['topic_id']); } if($result['city_id']){ $this->setRequestValue('city_id', $result['city_id']); } $this->template->assert('navmenu', $this->getTemplateMenu()); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/search/kvartira_search.php'); $kvartira_search_form = new Kvartira_Search_Form(); $kvartira_search_form->main(); $this->template->assert('search_form_template', 'search_form.tpl'); //$this->template->assert('available_langs', Multilanguage::availableLanguages()); if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/apps/upper/upper.xml') ) { $this->template->assert('show_upper', 'true'); } /* require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/plugin/plugin_processor.php'); $Plugin_Processor = new Plugin_Processor(); $Plugin_Processor->main(); */ $extendedSearchFormParams=$this->getExtendedSearchFormParams(); $this->template->assert('max_floor_count', $extendedSearchFormParams['max_floor_count']); $this->template->assert('max_price', $extendedSearchFormParams['max_price']); if(file_exists(SITEBILL_DOCUMENT_ROOT.'/apps/billing/lib/billing.php') && $this->getConfigValue('apps.billing.enable')==1){ $this->template->assert('apps_billing', 'on'); $this->template->assert('per_day_price', $this->getConfigValue('vip_cost')); $this->template->assert('per_day_price_premium', $this->getConfigValue('premium_cost')); $this->template->assert('ups_price', $this->getConfigValue('ups_price')); $this->template->assert('per_day_price_bold', $this->getConfigValue('bold_cost')); $this->template->assert('now', time()); $this->grid_vip_right(); }else{ $this->template->assert('apps_billing', 'off'); $this->grid_special_right(); } //$this->template->assert('type_list', $this->getTypeString()); //set default value $this->template->assert('base', SITEBILL_MAIN_URL); $this->template->assert('show_demo_banners', $this->getConfigValue('show_demo_banners')); $this->template->assert('REQUEST_URI', $_SERVER['REQUEST_URI']); $this->template->assert('type_list2', ''); $this->template->assert('type_list3', ''); $this->template->assert('title', $this->getConfigValue('site_title')); $this->template->assert('city_by_default', $this->getConfigValue('city')); $this->template->assert('estate_folder', $folder); $this->template->assert('right_column', 1); $this->template->assert('structure_box', $Structure_Manager->getCategorySelectBoxWithName('topic_id', $this->getRequestValue('topic_id') )); //print_r($_SESSION); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/login.php'); $Login = new Login(); if ( preg_match('/\/logout/', $_SERVER['REQUEST_URI']) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/logout.php'); $Logout = new Logout; $Logout->main(); } if(1==$this->getConfigValue('apps.company.enable')){ $this->template->assign('app_company_namespace',$this->getConfigValue('apps.company.namespace')); } $this->template->assert('user_id', $Login->getSessionUserId()); //$this->template->assert('auth_menu', $Login->getAuthMenu()); $this->template->assert('user_menu', $Login->getUserMenu()); if ( $this->getConfigValue('allow_register_account') ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/users/user_object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/register_using_model.php'); $Register = new Register_Using_Model(); //$smarty->assign->assert('main', $Register->main()); $rs1 = $Register->getRegisterFormElements(); $this->template->assert('register_form_elements', $rs1); } /* if ( $_SERVER['REQUEST_URI'] == '/' ) { $this->grid_special(); } */ //$this->grid_special_right(); /* if ( $_SERVER['REQUEST_URI'] == '/' and ($page_array = $this->getPageByURI('/index.html')) ) { } else { $page_array = $this->getPageByURI($_SERVER['REQUEST_URI']); } if ( $page_array ) { $this->template->assert('main', $page_array['body']); $this->template->assert('title', $page_array['title']); $this->template->assert('meta_keywords', $page_array['meta_keywords']); $this->template->assert('meta_description', $page_array['meta_description']); $this->template->render(); $rs = $this->template->toHTML(); return $rs; } */ if($this->getConfigValue('apps.freeorder.enable')==1){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/freeorder/admin/admin.php'; require_once SITEBILL_DOCUMENT_ROOT.'/apps/freeorder/site/site.php'; $FreeOrder=new freeorder_site(); $this->template->assert('freeorder_form', $FreeOrder->getForm()); $this->template->assert('freeorder_on', 'yes'); }else{ $this->template->assert('freeorder_on', 'no'); } $this->template->assert('meta_keywords', ''); $this->template->assert('meta_description', ''); if ( preg_match('/^myfavorites/', $REQUESTURIPATH) ) { $this->template->assert('main', '<p><br></p>'.$this->grid_adv_favorites()); $work_subcontroller='realtygrid'; $has_result=true; } if ( !$has_result && preg_match('/\/robox/', $_SERVER['REQUEST_URI']) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/robokassa/robokassa.php'); $robokassa = new Robox(); $rs = $robokassa->main(); if ( preg_match('/result/', $_SERVER['REQUEST_URI']) ) { echo $rs; exit; } $this->template->assert('main', $rs); $work_subcontroller='robox'; $has_result=true; /*$this->template->render(); $rs = $this->template->toHTML(); return $rs;*/ } if ( !$has_result && preg_match('/^map(\/(\?.*)?)?$/', $REQUESTURIPATH) ) { $this->template->assert('main', '<p><br></p>'.$this->map()); $work_subcontroller='realtygrid'; $has_result=true; //$this->map(); //return true; } if ( !$has_result && preg_match('/^map_full_screen(\/(\?.*)?)?$/', $REQUESTURIPATH) ) { echo ' '; $this->template->assert('data', $this->map(true)); $work_subcontroller='realtygrid'; $has_result=true; //return true; } //echo $REQUESTURIPATH; if ( $this->getConfigValue('apps.geodata.on_home') && $REQUESTURIPATH == '' ) { $this->template->assert('geodata_on_home', 1); $this->template->assert('_geo_data', $this->map(true)); } if ( !$has_result && preg_match('/^goroda\//', $REQUESTURIPATH) ) { $city=$this->getCityListTr(); $topic=$this->getTopicListTr(); if(count($city)>0 && count($topic)>0){ foreach($city as $c){ foreach($topic as $t){ $rs.='<a href="/'.$c['translit_name'].'-'.$t['translit_name'].'.html">'.$c['name'].' ('.$t['name'].')</a><br />'; } } } $this->template->assert('main', $rs); /*$this->template->assert('search_form', $land_front->getSearchForm()); */ $work_subcontroller='goroda'; $has_result=true; } if ( !$has_result && preg_match('/^register/', $REQUESTURIPATH) ) { if ( !$this->getConfigValue('allow_register_account') ) { $this->template->assert('main', 'Функция регистрации отключена администратором'); } else { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/users/user_object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/register_using_model.php'); $Register = new Register_Using_Model(); //$smarty->assign->assert('main', $Register->main()); $rs1 = $Register->main(); $this->template->assert('main', $rs1); } $work_subcontroller='register'; $has_result=true; } if ( !$has_result && preg_match('/^remind/', $REQUESTURIPATH) ) { if ( !$this->getConfigValue('allow_remind_password') ) { $this->template->assert('main', 'Функция напоминания пароля отключена администратором'); } else { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/user.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/remind.php'); $remind = new Remind; //$smarty->assign('main', $remind->main()); $this->template->assert('main', $remind->main()); } $work_subcontroller='register'; $has_result=true; } if ( !$has_result && preg_match('/^login/', $REQUESTURIPATH) ) { $this->template->assert('main', $Login->main()); if ( $Login->getSessionUserId() > 0 ) { $this->template->assert('auth_menu', $Login->getAuthMenu()); } $this->template->render(); $rs = $this->template->toHTML(); return $rs; //$resultString .= $this->getHomePageString(); //return $resultString; } if ( !$has_result && preg_match('/^add(\/?)$/', $REQUESTURIPATH) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/add.php'); $user_add = new User_Add(); $this->template->assert('main', $user_add->main()); $work_subcontroller='add'; $has_result=true; /* $this->template->render(); $rs = $this->template->toHTML(); return $rs;*/ } if ( !$has_result && preg_match('/^ipotekaorder/', $REQUESTURIPATH) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/ipoteka.php'); $ipoteka_order = new Ipoteka_Order_Form(); $this->template->assert('main', $ipoteka_order->main()); $work_subcontroller='ipotekaorder'; $has_result=true; } if ( !$has_result && preg_match('/^contactus/', $REQUESTURIPATH) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/form/contactus.php'); $contactus_form = new contactus_Form(); $this->template->assert('main', $contactus_form->main()); $work_subcontroller='contactus'; $has_result=true; /*$this->template->render(); $rs = $this->template->toHTML(); return $rs;*/ } if ( !$has_result && preg_match('/^land\//', $REQUESTURIPATH) ) { require_once('lib/admin/land/land_manager.php'); require_once('lib/frontend/land/land_front.php'); $land_front = new Land_Front(); $this->template->assert('main', $land_front->main()); $this->template->assert('search_form', $land_front->getSearchForm()); $this->template->render(); $rs = $this->template->toHTML(); return $rs; } if(!$has_result){ $apps_processor->run_frontend(); if ( count($apps_processor->get_executed_apps()) > 0 ) { $work_subcontroller='apps'; $has_result=true; /*$this->template->render(); $rs = $this->template->toHTML(); return $rs;*/ } } if ( !$has_result && preg_match('/^account/', $REQUESTURIPATH) ) { $this->template->assert('right_column', ''); $this->template->assert('is_account', '1'); $this->template->assert('search_form_template', ''); //return; require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/account.php'); $Account = new Account; if ( $Account->get_user_id() > 0 ) { $company_profile = $Account->get_company_profile($Account->get_user_id()); $this->template->assert('company', $company_profile); } $this->template->assert('breadcrumbs', $this->get_breadcrumbs( array( '<a href="'.$folder.'/">'.Multilanguage::_('L_HOME').'</a>', '<a href="'.$folder.'/account/">Личный кабинет</a>' ))); if ( preg_match('/^account\/profile/', $REQUESTURIPATH) ) { require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/profile.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/profile_using_model.php'); $profile = new User_Profile_Model(); $this->template->assert('breadcrumbs', $this->get_breadcrumbs( array( '<a href="'.$folder.'/">'.Multilanguage::_('L_HOME').'</a>', '<a href="'.$folder.'/account/">Личный кабинет</a>', '<a href="'.$folder.'/account/profile/">Профиль</a>' ))); $this->template->assert('main', $profile->main()); } elseif ( preg_match('/^account\/balance/', $REQUESTURIPATH) ) { $this->template->assert('breadcrumbs', $this->get_breadcrumbs( array( '<a href="'.$folder.'/">'.Multilanguage::_('L_HOME').'</a>', '<a href="'.$folder.'/account/">Личный кабинет</a>', '<a href="'.$folder.'/account/balance/">Баланс</a>' ))); $this->template->assert('main', $Account->main()); } elseif ( preg_match('/^account\/user/', $REQUESTURIPATH) ) { if ( $this->getConfigValue('apps.company.enable') ) { $this->template->assert('breadcrumbs', $this->get_breadcrumbs( array( '<a href="'.$folder.'/">'.Multilanguage::_('L_HOME').'</a>', '<a href="'.$folder.'/account/">Личный кабинет</a>', '<a href="'.$folder.'/account/user/">Риелторы</a>' ))); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/users/user_object_manager.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/user/user_company_manager.php'); $user_company_manager = new User_Company_Manager(); $this->template->assert('main', $user_company_manager->frontend_main()); } } else { $this->template->assert('breadcrumbs', $this->get_breadcrumbs( array( '<a href="'.$folder.'/">'.Multilanguage::_('L_HOME').'</a>', '<a href="'.$folder.'/account/">Личный кабинет</a>', '<a href="'.$folder.'/account/data/">Мои объявления</a>' ))); if(preg_match('/add/', $REQUESTURIPATH)){ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/sitebill_krascap_admin.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/sitebill_krascap_editor.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/data/user_data.php'); $user_data_manager = new User_Data_Manager(); $this->template->assert('main', $user_data_manager->add()); }else{ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/sitebill_krascap_admin.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/sitebill_krascap_editor.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/data/user_data.php'); $user_data_manager = new User_Data_Manager(); $this->template->assert('main', $user_data_manager->main()); } } $work_subcontroller='account'; $has_result=true; /* $this->template->render(); $rs = $this->template->toHTML(); return $rs;*/ } if(!$has_result && $this->isRealtyDetected($REQUESTURIPATH)){ $work_subcontroller='realtyview'; $has_result=true; } if(preg_match('/^user(\d+).html/', $REQUESTURIPATH, $matches)){ $this->setRequestValue('user_id', (int)$matches[1]); $this->template->assert('main', '<p><br></p>'.$this->grid_adv()); $work_subcontroller='realtygrid'; $has_result=true; } elseif( $this->getRequestValue('do') == 'news' ) { $this->template->assert('main', $this->viewNews( $this->getRequestValue('news_id') )); } elseif( $this->getRequestValue('do') == 'buy' ) { $this->template->assert('main', $this->processAdvancedForm('buy')); } elseif( $this->getRequestValue('do') == 'rent' ) { $this->template->assert('main', $this->processAdvancedForm('rent')); } elseif ( $this->getRequestValue('view') != '' ) { $this->template->assert('main', $this->getPage($this->getRequestValue('view'))); } else { if($this->getConfigValue('apps.realtypro.enable')!=1){ //$this->template->assert('_layout', 'layout_full.tpl'); if(!$has_result){ if($REQUESTURIPATH=='' && empty($_GET)){ $work_subcontroller='home'; if('classic'==$this->getConfigValue('template.realia.homepagetype')){ $work_subcontroller='realtygrid'; } }else{ $work_subcontroller='realtygrid'; } $this->template->assert('main', '<p><br></p>'.$this->grid_adv()); } } } if('slider'==$this->getConfigValue('template.realia.homepagetype')){ $this->template->assert('homepage_type', 'slider'); }elseif('carousel'==$this->getConfigValue('template.realia.homepagetype')){ $this->template->assert('homepage_type', 'carousel'); }elseif('search'==$this->getConfigValue('template.realia.homepagetype')){ $this->template->assert('homepage_type', 'search'); }else{ $this->template->assert('homepage_type', 'slider'); } //echo $work_subcontroller; //var_dump($work_subcontroller); if($work_subcontroller!=='' && isset($layouts[$work_subcontroller])){ $this->template->assert('_layout', $layouts[$work_subcontroller]); }else{ $this->template->assert('_layout', $layouts['_default']); } $this->template->render(); $rs = $this->template->toHTML(); return $rs; } function grid_vip_right () { require_once SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/grid/grid_constructor.php'; $grid_constructor = new Grid_Constructor(); $params['vip'] = '1'; $url_params=$this->_detectUrlParams($server_request_uri); $params['topic_id'] = $url_params['topic_id']; $grid_constructor->vip_right($params); } private function getTemplateMenu(){ $DBC=DBC::getInstance(); $additional_menu=array(); $stmt=$DBC->query('SELECT name, url FROM '.DB_PREFIX.'_menu_structure WHERE menu_id=(SELECT menu_id FROM '.DB_PREFIX.'_menu WHERE tag=? LIMIT 1) ORDER BY sort_order ASC', array('navigation_menu')); if($stmt){ while($ar=$DBC->fetch($stmt)){ $additional_menu[]=$ar; } } require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/realia/main/realia_menu_decorator.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_implements.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_manager.php'); $SM=new Structure_Manager(); $structure=$SM->loadCategoryStructure(); /* $structure['catalog'][]=array('url'=>'#', 'name'=>"О нас"); $indexes=array_keys($structure['catalog']); $last_index=$indexes[count($indexes)-1]; $structure['childs'][0][]=$last_index; */ return Realia_Menu_Decorator::getMenu($structure); } private function getNewest(){ require_once SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/grid/grid_constructor.php'; $grid_constructor = new Grid_Constructor(); $params['order'] = 'date_added'; $params['asc'] = 'desc'; $params['page_limit']=10; $params['page']=1; $res = $grid_constructor->get_sitebill_adv_ext( $params, false, false ); //echo count($res); //print_r($res); $this->template->assign('new_grid_items', $res); } private function getAgents(){ $ret=array(); $DBC=DBC::getInstance(); $query='SELECT * FROM '.DB_PREFIX.'_user WHERE group_id<>4 AND login<>\'_unregistered\' ORDER BY RAND() LIMIT 3'; $stmt=$DBC->query($query); if($stmt){ while($ar=$DBC->fetch($stmt)){ $ret[]=$ar; } } $this->template->assign('agentslist_items', $ret); } function isRealtyDetected($requesturi){ $result=false; $unknown_address=false; if(!$result && 1==$this->getConfigValue('apps.seo.data_alias_enable')){ $url_string_parts=explode('/',$requesturi); if(count($url_string_parts)>0){ $possible_alias=$url_string_parts[count($url_string_parts)-1]; $possible_alias=preg_replace('/[^A-Za-z0-9_-]/','',urldecode($possible_alias)); if($possible_alias!=''){ $q="SELECT id FROM ".DB_PREFIX."_data WHERE translit_alias='".$possible_alias."'"; $this->db->exec($q); if($this->db->success){ $this->db->fetch_assoc(); if((int)$this->db->row['id']>0){ $realty_id=(int)$this->db->row['id']; $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); /*require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/view/local_kvartira_view.php'); $kvartira_view = new Local_Kvartira_View(); */ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); if($html=$kvartira_view->main($realty_id)){ $this->template->assert('main', $kvartira_view->main($realty_id)); $result=true; } } } } } } if ( !$result && preg_match('/realty/', $requesturi) ) { if(1==$this->getConfigValue('apps.seo.level_enable') && preg_match('/^realty/', $requesturi)){ $realty_id = $this->getIDfromURI($requesturi); //echo 'realty_id = '.$realty_id; if($realty_id){ $query='SELECT topic_id FROM '.DB_PREFIX.'_data WHERE id='.$realty_id; $this->db->exec($query); $this->db->fetch_assoc(); $topic_id=$this->db->row['topic_id']; //echo $topic_id; require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_manager.php'); $Structure_Manager = new Structure_Manager(); $category_structure = $Structure_Manager->loadCategoryStructure(); if($category_structure['catalog'][$topic_id]['url']!=''){ $parent_category_url=$category_structure['catalog'][$topic_id]['url'].'/'; }else{ $parent_category_url=''; } if(1==$this->getConfigValue('apps.seo.html_prefix_enable')){ $new_location=SITEBILL_MAIN_URL.'/'.$parent_category_url.'realty'.$realty_id.'.html'; }else{ $new_location=SITEBILL_MAIN_URL.'/'.$parent_category_url.'realty'.$realty_id; } header('HTTP/1.1 301 Moved Permanently'); header('Location: '.$new_location); }/*else{ $unknown_address=true; header("Status: 404 Not Found"); $this->template->assign('title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND')); $this->template->assign('meta_title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND')); $this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>'); $this->template->assign('main_file_tpl', 'error_message.tpl'); }*/ }elseif(1==$this->getConfigValue('apps.seo.level_enable') && !preg_match('/^realty/', $requesturi)){ $realty_id = $this->getIDfromURI($requesturi); /*require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/view/local_kvartira_view.php'); $kvartira_view = new Local_Kvartira_View(); */ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); $html=$kvartira_view->main($realty_id); if($html){ $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); $this->template->assert('main', $html); $result=true; } } elseif(0==$this->getConfigValue('apps.seo.level_enable') && preg_match('/^realty/', $requesturi)){ $realty_id = $this->getIDfromURI($_SERVER['REQUEST_URI']); /*require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/view/local_kvartira_view.php'); $kvartira_view = new Local_Kvartira_View(); */ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php'); $kvartira_view = new Kvartira_View(); $html=$kvartira_view->main($realty_id); if($html){ $this->growCounter('data', 'id', $realty_id, $this->getSessionUserId()); $this->template->assert('main', $html); $result=true; } }/*else { $unknown_address=true; header("Status: 404 Not Found"); $this->template->assign('title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND')); $this->template->assign('meta_title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND')); $this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>'); $this->template->assign('main_file_tpl', 'error_message.tpl'); }*/ } return $result; } }?>agents_listing.tpl {if $agents_list|count>0} <div class="widget our-agents"> <div class="title"> <h2>{$L_OURAGENTS}</h2> </div> <div class="content"> {foreach from=$agents_list item=oneagent} <div class="agent"> <div class="image"> {if $oneagent.imgfile!=''} <img src="{$estate_folder}/img/data/user/{$oneagent.imgfile}"> {else} <img src="{$estate_folder}/template/frontend/{$current_theme_name}/img/userplaceholder.png"> {/if} </div> <div class="name"><a href="{$estate_folder}/user{$oneagent.user_id}.html">{$oneagent.fio}</a></div> <div class="phone">{$oneagent.phone}</div> <div class="email">Всего объявлений: {$oneagent._cnt}</div> </div> {/foreach} </div> </div> {/if}внедряю в шаб {include file='agents_listing.tpl'}
-
safe_string
-
Делал, поэтому и спрашиваю. Внимательно все перепроверил. У меня одно из полей company $query='SELECT COUNT( d.id ) AS _cnt, u.user_id, u.fio, u.phone, u.imgfile, u.company FROM `re_data` d LEFT JOIN re_user u USING ( user_id ) WHERE u.group_id IN (2, 3) GROUP BY d.user_id ORDER BY _cnt DESC';а выводил вот так (кста, у Вас в выводе тоже тэг закрывающий есть, а открытия нет) <div class="name">{$oneagent.company}</a></div>
-
Отлично! Все работает. Вопрос. Как в листинге вывести дополнительные поля у пользователя? Насколько я понял, в теле функции листинга использованы массивы re_data и re_user, в них данные о новых полях отсутствуют
-
решение, с описанием функций и вариантами смарти-шаблонов. Я думаю, будет популярным среди пользователей системы