Recommended Posts

Я на 1,5 - 2 месяца выпал из темы развития CMS Sitebill, при очередном обновлении обнаружил в Редакторе Таблиц таблицу Метро... Не подскажите, с какой целью она появилась в редакторе, ведь есть-же в справочнике? Или это в качестве шаблона для создания своих таблиц типа Районы (в регионе), Шоссе, Станции и подобных... можно-ли в этих таблицах делать увязку-зависимость с другими таблицами, например Станции или Шоссе будут привязаны к конкретному Району или Городу (нас.пункту), по типу привязки улиц к Городам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Появление таблицы связано с постепенным переходом на управляемые модели, которые можно будет расширить, напрмер, новыми полями. Все остальные вкусности, типа увязок и прочего пока не доступны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А если по образу этой таблицы "Метро" сделать таблицу, например "Шоссе", оно будет работать так-же как и остальные справочники? Чтобы не писать километровую строку select-box, из сотни наименований в Москве и Подмосковье...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для того, что бы не писать select-box не нужно даже создавать таблицу в Редакторе форм. Достаточно создать ее phpMyAdmin'ом в БД и установить тип поля в select_by_query, указать эту таблицу и поле ключа.

Эффект будет тот же.

Просто наличие таблицы в Редакторе формы все так же не дает возожности добавлять записи в эту таблицу через админку. Только напрямую через инструмент работы с БД.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если создать таблицу в MySQL и применить к ней autocomplete, то не все так страшно? Я имею ввиду, что не надо будет заполнять данные в phpMyAdmin а просто вносить их по ходу внесения новой записи об объекте недвижимости в админке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...применить к ней autocomplete,...вносить их по ходу внесения новой записи об объекте недвижимости в админке.

 

А вот так я даже не думал. Если проведете такой эксперимент, обязательно расскажите о результатах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уже провожу...

По ходу дела добавил Районы (в регионах), Шоссе и Станции, есть желание добавить Округа для Москвы, но тут возникает проблемка, наверное придется переподчинить таблицы (или оставить как есть, если работает autocomplete):

Страна - Регион - Район - Город (нас.пункт) - Район в нас. пункте (Если не Москва то и не нужен) - Улица

и для Москвы:

Страна - Регион - Город - Округ - Район (для Москвы) - Улица

 

Соответственно Шоссе, Станции и Метро можно привязать к Городу в Москве или Региону - Району в Регионе

 

К стати, как отвязать - переподчинить в MySQL таблицы?

Желательно подробнее... ввиду скудности ума :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К стати, как отвязать - переподчинить в MySQL таблицы?

 

Грубо говоря никак. MySQL - это лишь инструмент хранения-выборки. И все связи, как максимум, хранятся в БД как обычные данные, а вот их интерпретацией уже занимается сторонний код.

Есть тип таблиц InnoDB, который позволят установить некоторую связь между таблицами - выражающуюся в том, что при удалении родительской записи могут удалиться\выдатьпредупреждение при наличии подчиненных записей, но это скорее связь для целостности данных, а не для управления наборами детей-родителей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По добавленным таблицам в MySQL (Шоссе, Станции, и т.п.) autocomplete работает (данные в базу записываются)! Только зря я наверное привязал их к Регионам, придется уточнять в таблицах индекс региона. :(

Суть в том, что при добавлении объявления, пока регион не записан (при сохранении объявления), autocomplete не выдает список подбора по позиции Шоссе, а может и потому, что позиций этих мало? Пока не до конца понял, в чем проблема.

На остальных адресных позициях все работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Суть в том, что при добавлении объявления, пока регион не записан (при сохранении объявления), autocomplete не выдает список подбора по позиции Шоссе, а может и потому, что позиций этих мало?

 

Скорее потому, что не существует обработчика, который бы возвращал нужные данные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что самое интересное, autocomplete по Шоссе пару раз работал, в другие разы думал несколько секунд (задержка), сейчас подбор не работает но сведения в базу заносит. В то-же время autocomplete работает по Странам, Регионам, Городам, Метро...  по другим позициям еще не пробовал.

 

Попутно вопрос, если не удается переопределить зависимости Страна - Регион - Город, может попробовать снести в MySQL таблицу Город (city) и еще раз записать эту таблицу с зависимостью от Района (в регионе) или вообще без зависимости? Не возникнет косяков на уровне CMS? Не понимаю, какой код у вас прописан для Справочников в Админке и чем чем мои правки могут закончиться... :) Подозреваю, что переустановкой CMS...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Косяков не возникнет, но и результата не будет. Сейчас все зависимости вшиты в код и если их не учесть внутри движка, никакие ключи в таблицах не съиграют.

 

 

В то-же время autocomplete работает по Странам, Регионам, Городам, Метро...  

 

Еще по улицам. Больше не по чему.

Я вам смылю файлик для tlocation, который уже сможет сделать вам автокомплит по добавленным полям. Можете попробовать его в тестовом режиме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ок!

Может пригодится для tlocation, я добавил следующие таблицы:

okrug - для Округов Москвы

raion - для районов в Регионе

direction - шоссе

station - станции ж/д 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Abushyk, установил твой файлик tlocation, тест прошел, все работает на ура, спасибо!

Наверное стоит его применять в будущих версиях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Abushyk, установил твой файлик tlocation, тест прошел, все работает на ура, спасибо!

Наверное стоит его применять в будущих версиях.

Результат в студию, желательно с описанием, что бы долго не копаться. А лучше всего это положить в уроки или готовые решения

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Результат следующий:

Добавил в MySQL таблицы "Округа (для Москвы)", "Районы (в Регионах)", "Шоссе" и "Станции", однако autocomplete для этих полей толком не работал. Подправленным файлом tlocation проблема была решена, теперь база возвращает результат подбора в редактируемое поле, как и в основных справочниках - Страны, Регионы, Города, Улицы, Метро. Посмотреть можно на realty-centrum.com, правда пока эти поля есть в админке и форме подачи объявления с сайта. В поиск еще не выводил.

 

* В ходе экскримента были убиты 2 зайца (да простит меня Гринпис :) ) - решен вопрос с дополнительными справочниками и решен вопрос с заполнением базы - сведения в базу вносятся autocomplet'ом 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если интересны подробности процесса, то выглядит это так:

 

1. заходим на свой хостинг, лезем в PhpMyAdmin, вводим имя и пароль базы, заходим в свою базу и переходим в верхнюю вкладку меню SQL, в окно вставляем код:

 

CREATE TABLE IF NOT EXISTS `re_имя_сущности` (
  `имя_сущности_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '',
  `имя_родительской_сущности_id` int(11) UNSIGNED NOT NULL DEFAULT '0',
  PRIMARY KEY (`имя_сущности_id`),
  INDEX (`имя_родительской_сущности_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

имя_сущности - это direction (шоссе), raion (район), station (станция) или еще что-либо
имя_родительской_сущности - это то к чему сущность привязана region, city, и т.п... (можно ни к чему не привязывать)

 

Пример с таблицей Район с привязкой к региону (индекс региона потом проставите в таблице):

 

CREATE TABLE IF NOT EXISTS `re_raion` (
  `raion_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '',
  `region_id` int(11) UNSIGNED NOT NULL DEFAULT '0',
  PRIMARY KEY (`raion_id`),
  INDEX (`region_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

Или пример таблицы района без привязки, (autocomlet'y всё равно, если не прав, поправьте):

 

CREATE TABLE `re_raion` (
  `raion_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`raion_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;        

 

Жмем ОК.

У вас появилась таблица в MySQL. По такому принципу можете добавить и другие таблицы - Шоссе, Станции, Серии домов, телефоны любовниц :)


2. Загружаем список районов в эту таблицу с помощью phpMyAdmin, где в поле title будет название района. Можно и не загружать, а просто впоследствии их дописывать по ходу редактирования объявления.

3. Переходим в админку своего сайта, в редактор форм, и там добавляем колонку raion_id (по образцу города).
Тип select_by_query.

Название системное: raion_id

Название для человека: Район

Название таблицы из которой получаем данные для связки: raion

Название ключа связки с другой таблице: raion_id

Название переменной для select_box: name

Заголовок строчки в select_box по-умолчанию: выбрать район

Значение строчки в select_box по-умолчанию: 0

Хранить значение в таблице: ставим галочку

 

Комбобокс-виджет - отключить, если включен

 

Параметры: autocomplete=1

4. Сохраняем.

Теперь в редакторе объявления появиться поле списка со значениями из таблицы raion

 

Благодаря обновленному файлу Tlocation (требовать у Abushuk'a, файл тестируется но глюков не заметил), осуществляется автоподбор значений из таблицы и внесение в таблицу отсутствующих значений.

 

Таким образом можно организовать недостающие вам справочники без лишних танцев с бубном - Шоссе, Станции, Округа Москвы и другие с длинным списком значений... :D
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Дмитрий Кондин
      Мобильная версия панели управления для CMS Sitebill под Android.
      Поддерживает основные функции – просмотр списка объектов недвижимости, редактирование, создание, удаление. Добавление фотографий, комментарии, управление заявками, пользователями и справочниками.
      Для работы приложения требуется созданный ранее сайт на CMS Sitebill.
      Вход выполняется по имени сайта и логину, паролю администратора или пользователей, которые имеют доступ в панель управления.
      В списке объектов можно настраивать видимые колонки и выполнять фильтрацию по этим колонкам.
      Для работы приложения нужно обновиться до версии 4.0.12 (и обновить все остальные компоненты)
      Установить тут https://play.google.com/store/apps/details?id=ru.sitebill.crm
       











    • Автор: mykvartira
      Добрый вечер.
      Помогите с ошибкой перехода в админку. Проводил работы с index.php и .htaccess, после обновления файлов заметил ошибку 404 при входе в админку. Также подскажите где обнулять кэш сайта. Некоторые браузеры показывают старое меню, не все ссылки работают и сайт работает странно.
       
      Как решить проблему ошибку при переходе в админку? Ничего не могу найти. Спасибо за помощь 
    • Автор: Chernetskiy
      Открываем Админку -> Обновления и при моем графическом разрешении дисплея 1280х800 вижу панельки Моих приложений в 3 колонки. Справа места достаточно, но не настолько, чтобы туда уместилась 4 колонка приложений. Решил это дело поправить и вижу, что оформление основано на стиле, расположенном на сайте Sitebill  - https://www.sitebill.ru/apps/update/css/style.css , а конкретно позиция 15,  .litem {width: 230px;}
      размер панелек 230х39 пикс. можно уменьшить до 210х39 пикс. и приложения становятся в 4 колонки, но как поправить этот стиль? Почему этот стиль тянем со стороны, чего его не разместить прямо на сайте?


    • Автор: Chernetskiy
      Несколько раз сталкивался с такой ситуацией, когда пишешь статью на сайт или практически заполнил объявление но отвлекся на телефонный звонок, а вернувшись к админке, сохраняешь результат но вместо этого выкидывает на страницу авторизации...  Понятное дело, что все результаты работы отправляются коту под хвост.
      Эта проблема решаема? Наверняка большинство пользователей с этим сталкиваются.
    • Автор: VladSI
      Не зарегистрированный разместил объявление.
      После не зарегистрированный зарегистрировался.
      Зарегистрированному пользователю нужно прикрепить объявление.
      Админ назначает объявлению пользователя.
      Объявление не прикрепляется к пользователю пока админ не заполнит обязательные поля.(обязательные поля появились после размещения объявления)
      Админ вынужден выдумывать, что мог бы написать-назначить  сам пользователь.