Дмитрий Кондин

Администраторы
  • Публикации

    6535
  • Зарегистрирован

  • Посещение

  • Days Won

    362

Все публикации пользователя Дмитрий Кондин

  1. У вас было пару очень больших xml файлов на загрузке, хостинг не вытягивал. Убрал большие файлы из загрузки, теперь работает.
  2. Теперь пользователи CMS Sitebill могут внутри сделок Битрикс24 составлять подборки из объектов недвижимости. 1. Сначала создаем сайт недвижимости, если его еще нет https://www.sitebill.ru/arenda-cms-dlya-rieltorov 2. Устанавливаем приложение Sitebill-недвижимость в Битрикс24 3. Авторизуемся в сделках 4. Начинаем формировать подборки объектов недвижимости.
  3. Спец и вип это одно и тоже, просто мы их назвали по разному. Нужно добавить новый признак (checkbox в редакторе форм) и по нему фильтровать в новой функции.
  4. Старые никак не получится распределить.
  5. Словами опишите какое правило вывода нужно?
  6. Можно поставить ему видимость для групп - только админу. Выгрузка не учитывает видимость для групп, а на сайте его не увидят.
  7. Кэшировать я думаю стоит только статичный контент, а php выдачу не нужно кэшировать ни для авторизованных, ни для анонимов.
  8. Смотрите footer.tpl <div class="content"> {foreach from=$new_grid_items item=new_grid_item} <div class="property"> <div class="image"> <a href="{$new_grid_item.href}"></a> {if $new_grid_item.img != '' } <img src="{$estate_folder}/img/data/{$new_grid_item.img[0].preview}" class="previewi"> {else} <img src="{$estate_folder}/template/frontend/realia/img/no_foto_100x74.png" class="previewi"> {/if} </div><!-- /.image --> <div class="wrapper"> <div class="title"> <h3> <a href="{$new_grid_item.href}"> {if $new_grid_item.city ne ''} {$new_grid_item.city}{if $new_grid_item.street ne ''}, {$new_grid_item.street}{if $new_grid_item.number ne ''}, {$new_grid_item.number}{/if}{/if} {else} {if $new_grid_item.street ne ''} {$new_grid_item.street}{if $new_grid_item.number ne ''}, {$new_grid_item.number}{/if} {/if} {/if} </a> </h3> </div><!-- /.title --> <div class="location">{$new_grid_item.path}</div><!-- /.location --> {if $new_grid_item.price_discount > 0} <div class="price"> {$new_grid_item.price_discount|number_format:0:",":" "} {if $new_grid_item.currency_name != ''}{$new_grid_item.currency_name}{/if} <div class="price_discount_footer">{$new_grid_item.price|number_format:0:",":" "} {if $new_grid_item.currency_name != ''}{$new_grid_item.currency_name}{/if}</div> <!-- /.price --> </div> {else} <div class="price">{$new_grid_item.price|number_format:0:",":" "} {if $new_grid_item.currency_name != ''}{$new_grid_item.currency_name}{/if}</div> {/if} </div><!-- /.wrapper --> </div> <!-- /.property --> {/foreach} </div><!-- /.content --> Копируете этот код куда вам нужно в шаблоне и нужно только заменить $new_grid_items на $new_grid_items_my Параметры смотрите в методе private function getNewestMy()
  9. В /template/frontend/realia/main/main.php Вы можете задублировать метод 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'] = 3; $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); } Задать ему новое имя и изменить метку new_grid_items_my private function getNewestMy() { 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'] = 3; $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_my', $res); } Потом в методе main() вызваем наш дубль $this->getNewest(); $this->getNewestMy(); В итоге в шаблоне у нас будет доступен новый массив new_grid_items_my и мы можем его выводить где-то отдельно от остальных.
  10. Теперь можно добавлять записи в CMS Sitebill с помощью внешних систем. https://github.com/rumantic/sitebill_api_php_sdk
  11. У вас старая версия модуля ЦИАН, нужно новый поставить.
  12. На главной в новоселе выводится определенное количество новых объектов. в /template/frontend/novosel/main/main.php 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']=6; $params['page']=1; $res = $grid_constructor->get_sitebill_adv_ext( $params, false, false ); $this->template->assign('new_grid_items', $res); } Поправьте $params['page_limit']=6;
  13. Вижу у вас лимит 200 объектов, и сообщения о превышении лимита. Видимо у пользователя больше 200 объявлений. Можете лимит в тарифе поднять. Или можете скинуть доступы в админку в личку, посмотрю настройки.
  14. Адрес сайта скажите, посмотрю что еще поправить.
  15. А лучше так в шаблоне layyout_realtyview.tpl После этого кода {if isset($data.text) && $data.text.value != ''} <div> <h4>Описание:</h4> <p>{$data.text.value}</p> </div> {/if} Добавляем этот {if $data.youtube.value != ''} <div> <p><iframe width="560" height="315" src="//www.youtube.com/embed/{$data.youtube.value}" frameborder="0" allowfullscreen></iframe></p> </div> {/if}
  16. В настройках - Выгрузка Яндекс.Недвижимость Тут Алиас приложения (apps.yandexrealty.alias) Пропииште вместо yandexrealty Это yandexrealty.xml
  17. В новой админке есть просмотр комментариев http://estate.sitebill.ru/apps/admin/ Логин: admin Пароль: admin
  18. Ошибка возникает при обращении к сприпту /apps/system/js/uploadify/uploadify.php Скорей всего, что-то с конфигурацией сервера поменялось. Нужно смотреть логи апача, там ошибки.
  19. В шаблоне realty_grid.tpl Находим это <div id="map" style="margin: 10px 0;"> <iframe src="{$estate_folder}/js/ajax.php?action=iframe_map&{$QUERY_STRING}" style="border: 0px;" border="0" width="100%" height="100%"></iframe> </div> И меняем на это {if $REQUESTURIPATH != '' } <div id="map" style="margin: 10px 0;"> <iframe src="{$estate_folder}/js/ajax.php?action=iframe_map&{$QUERY_STRING}" style="border: 0px;" border="0" width="100%" height="100%"></iframe> </div> {/if}
  20. Если у вас все такое, значит проблема не в системе, а у вас в настройках где-то. Надо на месте разбираться.
  21. Решили это уже в обновлениях. Посмотрите тут \apps\system\lib\system\user\register_using_model.php Начиная со строчки 853 Есть такой код if (1 == $this->getConfigValue('use_registration_email_confirm')) { $DBC = DBC::getInstance(); $activation_code = md5(time() . '_' . rand(100, 999)); $query = 'UPDATE ' . DB_PREFIX . '_user SET pass=? WHERE user_id=?'; $stmt = $DBC->query($query, array($activation_code, $new_user_id)); $activation_link = '<a href="http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '">http://' . $_SERVER['HTTP_HOST'] . SITEBILL_MAIN_URL . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email . '</a>'; $tpl = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/system/template/mails/user_registration_conf.tpl'; global $smarty; $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email); $smarty->assign('mail_server', $this->getServerFullUrl()); $smarty->assign('mail_current_language', Multilanguage::get_current_language()); if (file_exists($tpl)) { global $smarty; $smarty->assign('mail_login', $login); $smarty->assign('mail_password', $password); $smarty->assign('mail_activation_link', $this->getServerFullUrl() . '/register?do=activate&activation_code=' . $activation_code . '&email=' . $email); $smarty->assign('mail_server', $this->getServerFullUrl()); $smarty->assign('mail_current_language', Multilanguage::get_current_language()); $message = $smarty->fetch($tpl); } else { $message = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_BODY', 'system'), $activation_link); } if (Multilanguage::is_set('LT_NEW_REG_EMAILACCEPT_TITLE', '_template')) { $subject = sprintf(Multilanguage::_('LT_NEW_REG_EMAILACCEPT_TITLE', '_template'), $_SERVER['HTTP_HOST']); } else { $subject = sprintf(Multilanguage::_('NEW_REG_EMAILACCEPT_TITLE', 'system'), $_SERVER['HTTP_HOST']); } $to = $email; $from = $this->getConfigValue('system_email'); $email_template_fetched = $this->fetch_email_template('registration_email_confirm'); if ($email_template_fetched) { $subject = $email_template_fetched['subject']; $message = $email_template_fetched['message']; $message_array['apps_name'] = 'register_using_model'; $message_array['method'] = __METHOD__; $message_array['message'] = "subject = $subject, message = $message"; $message_array['type'] = ''; //$this->writeLog($message_array); } $this->sendFirmMail($to, $from, $subject, $message); $query = 'DELETE FROM ' . DB_PREFIX . '_cache WHERE parameter=?'; $stmt = $DBC->query($query, array($activation_code)); $query = "insert into " . DB_PREFIX . "_cache (`parameter`, `value`) values (?, ?)"; $stmt = $DBC->query($query, array($activation_code, $password)); if (Multilanguage::is_set('LT_REGISTER_SUCCESS', '_template')) { $rs = '<h3>' . Multilanguage::_('LT_REGISTER_SUCCESS', '_template') . '</h3><br>'; } else { $rs = '<h3>' . Multilanguage::_('REGISTER_SUCCESS', 'system') . '</h3><br>'; } if ($form_data[$this->table_name]['active']['value'] != 1) { if (Multilanguage::is_set('LT_ACTIVATION_CODE_SENT', '_template')) { $rs .= Multilanguage::_('LT_ACTIVATION_CODE_SENT', '_template'); } else { $rs .= Multilanguage::_('ACTIVATION_CODE_SENT', 'system'); } } if ($json_mode) { return json_encode(array('result' => 1, 'subres' => 'email_confirm', 'msg' => $rs)); } return $rs; }