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

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

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

  • Посещение

  • Days Won

    363

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

  1. Гугл к сожалению выключил такую возможность кастомными кнопками переводить. Теперь в браузере нативные кнопки есть для перевода. В шаблоне добавьте свой язык в хидере https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language У яндекса еще не изучал эту функцию.
  2. Это один класс для генерации вообще всех табличек (не только клиентов) /apps/system/lib/system/view/grid.php function construct_grid
  3. Паника нарастает. Любой сайт открыть или телевизор включить, обязательно про коронавирус увидишь. Будто людей больше уже ничего не интересует.
  4. Пока готового рецепта для этого нет, можете заказать такую доработку.
  5. По переводу тут http://wiki.sitebill.ru/index.php?title=Перевод И тут тема на форуме
  6. Я вам писал уже вариант решения. Можете оплатить аудит вашего кода, разберемся с ним и если функция хорошая добавим ее в общую версию. Или же помогу вам ее локализовать, чтобы при обновлениях она не слетала.
  7. Да на форум это я уже сам поставил рекламу.
  8. Тогда бы остальные видели рекламу, а так только вы.
  9. Сто процентов это вирус на вашем компе.
  10. Я захожу на сайт, рекламы не вижу. В исходнике странички тоже ничего. Попросите у знакомых своих, пусть тоже зайдут - спросите видят ли они рекламу.
  11. В шаблоне мы не добавляем рекламы. 1. Может быть не у нас купили шаблон? 2. Также велика вероятность что дело не в шаблоне, а у вас на компьютере вирус просто.
  12. Если нужно составить свое описание Включаем опцию Тип формирования фида объявлений (0-стандартный, 1-расширенный) (apps.rss.data_mode) Затем тут Список системных имен полей для описания объекта (apps.rss.data_descriptionfields) Через запятую пишем список колонок, из которых у вас будет составляться описание.
  13. function yandex_data_hook($data_item) { switch ($_SERVER['REQUEST_URI']) { case '/export/feed1': $data_item['phone'] = '11111111111'; $data_item['fio'] = 'ФИО1'; $data_item['email'] = 'fio1@ya.ru'; break; case '/export/feed2': $data_item['phone'] = '22222222222'; $data_item['fio'] = 'ФИО2'; $data_item['email'] = 'fio2@ya.ru'; break; default: } return $data_item; }
  14. Да, просто возьмите весь код что я скинул и поставьте себе.
  15. Вот я вам и предлагаю замените у себя функцию на ту что я скинул вам выше.
  16. У вас в вашем файле везде realty алиас стандартный. Вы напишите какой у вас алиас?
  17. Видите этот код preg_match('/realty/', $requesturi) Поменяйте там realty на свой алиас, и попробуйте.
  18. в /template/frontend/ВАШ_ШАБЛОН/main/main.php у вас есть такая функция? У нее такие же строчки? 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); exit(); }/* 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; }
  19. В коде баг, нет учета нестандарного алиаса. Верните realty и будет работать. У вас если он все-равно нигде не используется, то вам какая разница? С адресов /realty123 - идет редирект на нужный адрес со статусом 301 поэтому поисковик не будет видеть эти дубли.
  20. Смотрите эти опции нужны для того чтобы генерировался URL объявления в момент сохранения. Т.е. вам не нужно в этом случае ломать стандартную маршрутизацию apps.seo.realty_alias, потому что все-равно алиас не будет привязан напрямую к этому значению. Стандартный алиас будет использоваться системой. Сохраняется нестандартный алиас в поле data.translit_alias в базе данных. Поэтому у вас у объявлений будут свои алиасы, и вам нужно просто вернуть опцию в исходное значение = realty Подстановочная часть стандартного алиаса объявления (apps.seo.realty_alias) Тогда из писем у вас будет правильный редирект при переходе на адреса вида /realty123
  21. Для новостей нет разделения на добавление/удаление. Есть только простое включение/выключение доступа к новостям в целом. Можем вам сделать платную доработку - чтобы в ЛК видели только свои новости пользователи.
  22. Приложения - Редактор форм, открываем таблицу data И нажимаем оранжевую кнопку (после того как она станет серой, поле перестанет быть обязательным)