Recommended Posts

Добрый день.

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

У вас улица выводится минимум в 5 в местах:  

  1. Улицу видно из категории/списка (в двух шаблонах "realty_grid_list.tpl" и "realty_grid_thumbs.tpl");
  2. Улицу видно в тайтле страницы объявления;
  3. Улицу видно в заголовке H1 также на странице объявления;
  4. Улицу видно в таблице "Кратко"  на странице объявления;
  5. И улица выводится в поиске;

Может быть улица выводится где-то еще я не проверял досконально.

Из перечисленных пунктов  улицу можно спрятать только в пункте 4. Не понимаю какой смысл от этой настройки? Если прятать то тогда уже везде а не в одном месте.

Собственно суть вопроса уже наверное понятно, как допилить вашу настройку, чтобы улицы можно было прятать везде? Но было бы ещё круче если бы можно было настроить так, чтобы для каждого объявления индивидуально, можно было скрыть улицу. Странно что у вас не предусмотрено такая настройка, так как часто бывает потребность спрятать отдельное поле. Вариант с полным отключением поля улицы в редакторе форм, не подходит.

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


Ссылка на сообщение
Поделиться на других сайтах
11 час назад, artseo сказал:

Добрый день.

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

У вас улица выводится минимум в 5 в местах:  

  1. Улицу видно из категории/списка (в двух шаблонах "realty_grid_list.tpl" и "realty_grid_thumbs.tpl");
  2. Улицу видно в тайтле страницы объявления;
  3. Улицу видно в заголовке H1 также на странице объявления;
  4. Улицу видно в таблице "Кратко"  на странице объявления;
  5. И улица выводится в поиске;

Может быть улица выводится где-то еще я не проверял досконально.

Из перечисленных пунктов  улицу можно спрятать только в пункте 4. Не понимаю какой смысл от этой настройки? Если прятать то тогда уже везде а не в одном месте.

Собственно суть вопроса уже наверное понятно, как допилить вашу настройку, чтобы улицы можно было прятать везде? Но было бы ещё круче если бы можно было настроить так, чтобы для каждого объявления индивидуально, можно было скрыть улицу. Странно что у вас не предусмотрено такая настройка, так как часто бывает потребность спрятать отдельное поле. Вариант с полным отключением поля улицы в редакторе форм, не подходит.

А самое главное, поиск по улицам будет работать... :) Пользователю все равно будет выведен список объектов на нужной улице.

Но что еще важнее, это понять нафига вам надо создавать для посетителя проблему?

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Chernetskiy сказал:

А самое главное, поиск по улицам будет работать... :) Пользователю все равно будет выведен список объектов на нужной улице.

Но что еще важнее, это понять нафига вам надо создавать для посетителя проблему?

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

2 часа назад, Chernetskiy сказал:

Посетитель это поймет как не информативный сайт и очень быстро покинет его.

У вас и статистика такая есть? или сами придумали?

2 часа назад, Chernetskiy сказал:

Поисковики это воспримут так-же и возможно понизят сайт в рейтинге.

Да ладно, :D  яндекс и гугл рассказали Вам о факторах ранжирования сайтов? Авито прячет контактные даные в объявлениях, от поисковых систем, и ни че, нормально себя в поиске чувствует, ни кто его не понижает.

2 часа назад, Chernetskiy сказал:

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

 Вы и здесь знаете как и кто себя поведет?

3 часа назад, Chernetskiy сказал:

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

Сайт делается как торговая площадка, что бы торговать недвижимостью. Вы путаете его с доской объявлений видимо. 

Может вместе с улицей еще номер дома и телефон хозеев размещать в объявлениях, пусть напрямую с покупателями договариваются:D

Я вас очень прошу, если у Вас нет ответов на заданные вопросы в первом посте, не флудите в топике. Надеюсь я Вас не задел, по крайней мере я этого не хотел.

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


Ссылка на сообщение
Поделиться на других сайтах
22 часа назад, artseo сказал:

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

Да ладно, :D  яндекс и гугл рассказали Вам о факторах ранжирования сайтов? Авито прячет контактные даные в объявлениях, от поисковых систем, и ни че, нормально себя в поиске чувствует, ни кто его не понижает...

1. В таком случае отключите в data строку street и не заморачивайтесь.

2. А поисковики этого и не скрывают, я имею ввиду их особый подход к высокопосещаемым брендовым сайтам. Когда станете Авитой или ЦИАНом, тогда и в отношении вашего сайта они будут на многое закрывать глаза. :) 

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


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

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

Да, для гигиантов свои правила, им доверия больше со стороны пс. Но в моем случае, городские улицы должны быть указаны, а вот частный сектор может быть (частично) и без улиц, просто название районов, деревень и тп. За такое точно ни кто ни кого с поиска не выкинет. По аналоги, если в интеренет магазине не указана цена у нескольких товаров, его ни кто за это не писсимизирует.

Повторюсь:

В 23.03.2018 в 13:32, artseo сказал:

Вариант с полным отключением поля улицы в редакторе форм, не подходит.

 

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


Ссылка на сообщение
Поделиться на других сайтах
11 час назад, artseo сказал:

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

Да, для гигиантов свои правила, им доверия больше со стороны пс. Но в моем случае, городские улицы должны быть указаны, а вот частный сектор может быть (частично) и без улиц, просто название районов, деревень и тп. За такое точно ни кто ни кого с поиска не выкинет. По аналоги, если в интеренет магазине не указана цена у нескольких товаров, его ни кто за это не писсимизирует.

Повторюсь...

Ну в таком случае надо писать условия вывода улиц. Если исходить из требований большинства порталов к выгрузке, то для них улицы актуальны только для городской недвижимости (квартиры, таунхаусы, офисы и т.п.), а для загородной это не обязательно, что собственно вам и подходит. Соответственно, для realty_grid_list.tpl и realty_grid_thumbs.tpl можно прописать условие вывода заголовка типа:

<h2><a href="{$grid_items[i].href}">
                {if intval($grid_items[i].country_id)==1}
                {if intval($grid_items[i].region_id)==1}
                {else}
                {$grid_items[i].region},{/if}
                {if $grid_items[i].raion ne ''}{$grid_items[i].raion},{/if}
                {if $grid_items[i].city ne ''}{$grid_items[i].city},{/if}
                {if $grid_items[i].street ne ''}{$grid_items[i].street},{/if}
                {if $grid_items[i].number ne ''}{$grid_items[i].number}{/if}
                {else}
                {$grid_items[i].country},
                {if $grid_items[i].region ne ''}{$grid_items[i].region},{/if}
                {if $grid_items[i].city ne ''}{$grid_items[i].city}{/if}
                {/if}
                </a>
              </h2>

В данном случае у меня логика:

  • если зарубежка, выводим страну, регион, город
  • если Москва (в коде город и регион id=1) то выводим город, улицу, номер дома (если указано)
  • для остального выводим регион, город, улицу, номер дома (если указано)

для заголовка в realty_view.tpl наверняка вышеуказанный способ тоже подойдет, вместо имеющегося в коде {$title}  а для вывода улиц в колонке, тут надо пудумать какой код прикрутить, скорее всего с определяйкой категории посетителя по id:

  • либо показывать улицу только админу и владельцу объявления, остальным не показывать, по типу сокрытия кадастрового номера от посторонних, показывать только админу с id=1
{elseif $data_item.name eq "cadastral_number" && $smarty.session.user_id!=1 && $data_shared.user_id.value!=$smarty.session.user_id}
  • либо показывать всем всем кроме "Гость/Незарегистрированный" ,
  • либо показывать всем но для Незарегистрированных вывод названия улицы поменять словом "скрыто от посторонних" и т.п.

с этим пожалуй Константин лучше подскажет, поскольку на текущий момент вывод адреса осуществляется по общему приницу для позиций с селект-боксом: 

{elseif $data_item.type eq "select_by_query"}
          {if $data_item.value_string!=''}
          <tr><td>{$data_item.title}</td><td>{$data_item.value_string}</td></tr>
          {/if}

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

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


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

Спасибо большое за ответ, но я к сожалению не знаю пхп, не могли бы вы мне прокоментировать ваш код:
 

В 25.03.2018 в 15:57, Chernetskiy сказал:

 


<h2><a href="{$grid_items[i].href}">
                {if intval($grid_items[i].country_id)==1}
                {if intval($grid_items[i].region_id)==1}
                {else}
                {$grid_items[i].region},{/if}
                {if $grid_items[i].raion ne ''}{$grid_items[i].raion},{/if}
                {if $grid_items[i].city ne ''}{$grid_items[i].city},{/if}
                {if $grid_items[i].street ne ''}{$grid_items[i].street},{/if}
                {if $grid_items[i].number ne ''}{$grid_items[i].number}{/if}
                {else}
                {$grid_items[i].country},
                {if $grid_items[i].region ne ''}{$grid_items[i].region},{/if}
                {if $grid_items[i].city ne ''}{$grid_items[i].city}{/if}
                {/if}
                </a>
              </h2>

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, artseo сказал:

Спасибо большое за ответ, но я к сожалению не знаю пхп, не могли бы вы мне прокоментировать ваш код:

Ну, батенька, мне это еще на пальцах, на уроках школьной программы по основам ЭВМ в 1984 или 85 году объясняли. Я и сейчас не намного дальше продвинулся, но так-же на пальцах объясню... :) Погугли про операторы скрипта if, then, else (если, то, иначе), - это вроде еще ноги от Паскаля растут ... 

Здесь простая логика, 2 условия в 1-м коде для формирования заголовка - ссылки (прямо по строкам кода выше):

  • выводим в заголовок (<h2>) ссылкой (a href=...) значение по условиям выборки
  • если id страны = 1 (у меня это Россия, это условие 1)
  • если id региона = 1 (у меня это Москва, это условие 2) 
  • то выводим регион, условие 2 закрыто.
  • если есть значение район то выводим район, 
  • если есть значение город то выводим город,
  • если есть значение улица то выводим улица,
  • если есть значение номер (дома) то выводим номер
  • иначе (если страна не id=1 - условие 1) выводим страну,
  • если есть значение региона, то выводим регион,
  • если есть значение города, то выводим город
  • условие 1 закрыто
  • ссылка закрыта
  • заголовок (</h2>) закрыт

В итоге: 

  • если страна id=1 (Россия) и регион id=1 (Москва), то показываем район, город, улицу, номер дома
  • если страна  id=1 (Россия) и регион не id=1 (не Москва), то показываем регион, район, город, улицу, номер дома
  • если страна  не id=1 (не Россия) и регион не id=1 (не Москва), то показываем страну, регион, город

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


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

Блин, написал и понял, что я уже древний, как гавно мамонта... :) Помню свои трудовые будни на оборонном предприятии, когда 4 компьютера ЭВМ занимали здание размером с 3-х этажный дом, систему вентиляции до соплей среди лета, перепайку транзисторов и микросхем с 16 ножками и 2 ручками :)на полетевших платах, перфокарты, винчестеры на 20 Мб размером со стиральную машину, на которых каждый день головки настраивали с микроной точностью, чтобы на пакет магнитных пластин не упали ... Ну и рац.предложения, за которые давали премии :) , типа перевести индикацию кода ошибок со светодиодов в логике 1-2-4-8 на диагностических платах на что-то типа FF на цифровые индикаторы :) А ведь такую рацуху сочинил за 5 минут на салфетке, по памяти, вспомнив логику работы одной из микросхем. :) 

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


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

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

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

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

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

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

Войти

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

Войти сейчас