abushyk

Модераторы
  • Публикации

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

  • Посещение

  • Days Won

    269

Все публикации пользователя abushyk

  1. 1. Проверьте в редакторе форм для таблицы user поле видимости (Доступно для...) для элемента group_id. Именно этот параметр регулирует видимость элементов модели в разрезе групп. Для Группы должо стоять Администратор. 2. Так же бывает подобный артефакт (видимость выбора группы в регистрации), даже при уставновленной видимости для нее только Администратору, если не выйти из админки с помощь кнопки Выйти в админпанели, но перейти на фронтальную часть сайта. Тогда сайт все еще помнит вас как админа и может показать это поле.
  2. Это шаблон вывода списка для пользователя в сайт. А тот, что я вам говорил копировать в подпапку apps/admin - это для администратора. По карте - можете дать ссылку на страницу на который вы хотите изменить масштаб?
  3. 1. Не понял о какой именно карте речь, поэтому привожу два варианта /template/frontend/agency/map.tpl строка zoom: 16, измените 16 на меньшее число. 16 - это максимум /template/frontend/agency/realty_grid.tpl аналогично предыдущему. 2. Не меняете его там! Делаете копию в свой шаблон с соблюдением пути. т.е. если папок /apps/admin нет, просто содайте их. Потом в них положите скопированный файл. И только тогда начинайте его править - тот, что вы скопировали себе в шаблон.
  4. Не прошло и полгода... http://www.etown.ru/s/topic/702-%D0%BC%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%BE%D0%B2-%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%BE%D0%B2/ Пробуем читать и задавать вопросы.
  5. Суть Разрешить просмотр контактных данных объявления для пользователей, которые подключили и оплатили некоторый список просмотра (СП). Список просмотра регламентирует количество дней на протяжении которых доступен просмотр контактов и стоимость данного периода. Подключение СП проходит через раздел Личного кабинета (ЛК), а оплата списка производится из ЛК посредством Робокассы. Намеренно исключаю возможность задания СП при регистрации, когда вместе с регистрационными данными пользователь должен выбрать конкретный вариант СП, что бы унифицировать процедуру пользования СП для обычных пользователей и пользователей регистрирующихся через соцсети. Пример будет приведен на базе шаблона realia, но для любого другого шаблона принцип будет аналогичен. Приницип работы При загрузке страницы происходит извлечение СП для текущего пользователя. Если есть в наличии хоть один активный для данного момента времени СП в переменную сессии сохраняется состояние "открыто". Этот параметр проверяется в местах, где необходим вывод контактны данных и средствами шаблона принимается решение - выводить или скрыть блок с контактными данными. Задействованные приложения registersms - приложение используется формально. Находится в выключенном состоянии и служит для хранения настроки соотношения периода СП и цены за этот период. В принципе не критично и может быть реализовано отдельной настройкой watchlistmanager - приложение-хранилище функционала для работы СП. Должно быть, быть включенным и установленным. настройки Робокассы - must have Необходимые файлы Набор вспомогательных файлов можно скачать тут Файлы в архиве расфасованы согласно структуре шаблона. Т.е. то, что находится в папке main должно лечь в папку main вашего шаблона etc. Изменения В файле main.php Внутри class frontend_main extends SiteBill_Krascap {...} добавляем функцию getViewOptions, которая загружает СП для пользователя. Код функции копируем из http://pastebin.com/8rMZNU4U В функции main() производим вызов вставленной выше функции и загрузку цен на СП из конфигурации. Общий код изменений тут Блок А вставляем после строк $work_subcontroller='';$has_result=false;$undetected_url=false;Блоком Б заменяем блок if ( !$has_result && preg_match('/\/robox/', $_SERVER['REQUEST_URI']) ) {...}Блоком В дополняем ветвистость if ( preg_match('/^account\/profile/', $REQUESTURIPATH) ) {перед последним }else{ В файле header.tpl Добавляем кусочек, заносящий цены в переменные скриптов {literal}<script type="text/javascript">var _costs={/literal}{if $_costs ne ''}{$_costs}{else}[]{/if}{literal};</script>{/literal}Блок ставится в любом месте между тегами <head> и </head> В файле realty_view.tpl Фактически основные функциональные изменения, которые скрывают контактные данные. Находим блок, отображающий контактные данные и обрамляем его конструкцией {if $smarty.session.viewOptions.mode=='opened'}<!--Тут собственно контактные данные-->{else}Оплатите доступ к данным или другая информация{/if}Настройка Руководящими настройками для работы СП являются настройка цен. Соответствие цен и длительности периодов указывается в переменной Настройки - Регистрация через SMS - Стоимость категорий (apps.registersms.costs_array). Значения задаются в виде строки {N1:P1}{N2:P2}{N3:P3}{N4:P4}{N5:P5} - где N- длительность периода. По-умолчанию в днях. Р- стоимость этого периода. Например: {1:70}{2:100}{3:150}мы предусматриваем открытие просмотров контактов в вариантах на 1, 2 или 3 дня с соответствующими стоимостями 70, 100 и 150 рублей. Кроме этого места необходимо еще указать допустимые периоды (продублировать) в обработчике СП - /template/frontend/шаблон/main/local_watchlistmanager.php. В этом файле необходимо найти функцию getWLModel() и в ней изменить строку $form_data['period']['grade_values'] = array('1', '2', '3', '7', '31');где указать наш перечень периодов $form_data['period']['grade_values'] = array('1', '2', '3');Замечание Шаблон realia оборудован плагином-украшателем ezMark, который, не смотря на свою красивость, доказал несостоятельность при работе с элементами типа radio - кружочки с точечками в форме. Поскольку форма добавления СП использует именно такие элементы, а в остальных формах мы практически не используем их, то рекомендую сузить область работы этого плагина только элементами типа checkbox. Для этого в файле /template/frontend/realia/js/realia.js в функции InitEzmark() следует закомментировать строку $('input[type="radio"]').ezMark();
  6. Нет. Такого решения нет. Но если конкретизировать, что такое "материал", то можно прикинуть.
  7. Суслики - это класс) Живенькое такое)
  8. Какой шаблон? И какая это карта? Та, что выводится на главной? Берем файл /apps/admin/admin/template/realty_grid.tpl Делаем его точную копию в /template/frontend/имя_вашего_шаблона/apps/admin/template/realty_grid.tpl и уже в нем убираем строки <td width=13% class="row_title">{$L_CITY} <a href="{$url}&order=city&asc=asc">↓</a> <a href="{$url}&order=city&asc=desc">↑</a></td>и <td>{$grid_items[i].city}</td>
  9. Не заполняются для того, что бы обеспечить гибкость. Иногда объявления привязаны к пользователю, но этот пользователь не является реальным владельцем, а скорее коллектором объявлений. А реальные сдатчики\продавцы указаны именно в адресных полях объявления. Можно сделать и принудительное заполнение из данных профиля. Для этого используется локальный\шаблонный data_manager.php. Отпишите в ПМ с указанием какой шаблон.
  10. В редакторе форм в таблице data выберите поле street_id, откройте его на редактирование и в разделе параметры добавьте пераметр autocomplete=1 и посмотрите в форме это ли имелось в виду.
  11. Если именно в head, то практически в каждом шаблоне есть файл header.tpl который содержит голову страницы. Кажется только для realty его нет и все лежит в main.tpl Как сделать правильно. Я так понимаю, что речь о странице с картинками поэтажных планов. Логика такая - картинки фасуются в блоки по этажам. При смене состояния выпадающего списка скрипт вычисляет какой этаж выбран и прячет все блоки этажей+открывать нужный блок выбранного этажа.
  12. Разница в логике добавления. Если подается через /account/data/?do=new происходит обычное добавление в личный кабинет. Если через /add/ то там еще туева хуча вспомогательных операций в зависимости от настроек, включая автодобавление юзера.
  13. На всякий случай добавлю - фактически шаблоном главной страницы для эстетико является /template/frontend/estetico/layout_grid.tpl
  14. Данные через поле типа price заходят в формате, в котором разделителем разрядов является пробел. При вставке в базу строка с этим числом превращается в целое, когда поле int(10). Т.е. в число, которое до первого пробела. Для поля с именем price предусмотрена обработка. А вот для типа "price" - нет Лекарство /apps/system/lib/model/model.php ф-ция init_model_data_from_request внутрь добавить блок if ( $model_array[$key]['type'] == 'price' ) { $model_array[$key]['value']=preg_replace('/[^0-9.,]/', '', $this->getRequestValue($key)); continue; }например перед строкой if ( $model_array[$key]['type'] == 'photo' ) { В свежем обновлении это будет исправлено.
  15. Стилями тут не выйдет, так как элемент заменяется яваскриптом. Есть немного другой, кустарный вариант. В /template/frontend/realia/js/interface.js добавить доводчик, который после смены элемента в результате перезагрузки данных при изменении родителя, будет накладывать стиль на измененный элемент. Например, для вашего случая, при выборе региона отменяются стили на выборку городов. Тогда $(document).on('change', '.property-filter select[name=region_id]', function(){ setTimeout(function(){ $(".property-filter select[name=city_id]").chosen({ disable_search_threshold: 10 }); }, 500);});Суть в том, что после изменения региона через 0,5 секунды запустится накатчик стиля. Почему через 0,5с? Потому, что мы не можем перехватить точный момент окончания обновления зависимого поля из-за асинхронности вызова и не можем позволить себе врезаться в системную функцию. Поэтому мы делаем отложенную операцию. Если количество городов на регион на конкретном сайте исчисляется сотнями, либо отзыв сервера не страдает скоростью, то 500 (0,5с) лучше увеличить, для того, что бы применение стилей происходило гарантированно после завершения обновления содержимого зависимого элемента.
  16. В приложении Статичные страницы есть файл-шаблон /apps/page/site/template/pages_column.tpl Этот файл определяет шаблон колонки страниц. Для того, что бы изменить его, например убрать ненужные заголовки, сменить структуру оформления, вы должны скопировать этот файл в папку своего шаблона, сохранив его структуру вложения Например вы решили переопределить вывод для /apps/page/site/template/pages_column.tpl Тогда ваш, кастомный, файл должен лечь в /template/frontend/имя_вашего_шаблона/apps/page/site/template/pages_column.tpl В свой шаблон вы тянете только тот файл, который хотите изменить. В папке /apps/page/site/template/ есть и другие файлы, но в данный момент вам необходим только один pages_column.tpl При обработке шаблонных файлов в большинстве случаев движек сам проверит, а нет ли в вашем шаблоне такого же файла и, если есть, подменит базовый вашим. После копирования вы можете удалить строку <h5 class="PagesColumnRecords-title"><a href="{$estate_folder}/blog/">Блог</a></h5>либо заменить на что-либо более подходящее. В самом общем случае, практически любой файл из шаблонов приложений может быть переопределен таким способом, а при переопределении используется простое правило замены /apps/application_name/site/template/template.tpl на /template/frontend/имя_вашего_шаблона/apps/application_name/site/template/template.tpl
  17. Если используется RealtyMap, то нет. Если используется вживленный код карты в шаблон, то при некотором усердии можно.
  18. Для тех шаблонов, где нет огромной простыни кода карты, а есть подключение такого вида $(document).ready(function(){ var RM=new RealtyMap(); if(loc_objects.length==0){ RM.initGeocoded('property-map', rname, map_type, {defaultZoom: 16, yandexMapType: 'yandex#map'}); }else{ RM.initJSON('property-map', loc_objects, map_type, {defaultZoom: 16, yandexMapType: 'yandex#map'}); }}); Можно управлять картой следующими параметрами scrollZoom - зуммить карту прокруткой колеса мышки. По умолчанию включено. Для выключения scrollZoom:false minimap - выводить ли миникарту на большой карте. По умолчанию включено. Для выключения minimap:false defaultZoom - масштаб выводимой карты. По умолчанию 16. Для изменения defaultZoom:N где N-допустимое числовое значение для данного типа карты. Работает ТОЛЬКО для карт в карточке, там где один объект. Для вывожа в сетке, где несколько, масштаб вычисляется автоматически, что бы поместить все маркеры в блок, ограничивающий карту. Прмер тонкой настройки $(document).ready(function(){ var RM=new RealtyMap(); if(loc_objects.length==0){ RM.initGeocoded('property-map', rname, map_type, {defaultZoom: 8, scrollZoom:false, minimap:false}); }else{ RM.initJSON('property-map', loc_objects, map_type, {defaultZoom: 8, scrollZoom:false, minimap:false}); }});Карта с дефолтным масштабом 8, без минкарты, без масштабирования колесом мышки.
  19. Настройки - Общее - Использовать карту Google (use_google_map) Если опция отмечена, то "рабочей" картой будет гуглокарта, в противном случае - яндекскарта.
  20. Вам не следовало обновляться. То, что я вам сделал, еще не вошло в обновки.
  21. Очень спорное суждение. Адреса, в том числе и ЧПУ, должны\могут имитировать иерархичность, но не обязаны следовать правилам файловых систем. Тем более конкретным реализациям файловых систем для ОС Windows. Да и не любой файл имеет расширение.
  22. В /template/frontend/agency/realty_grid.tpl найдите строку preset: "twirl#yellowStretchyIcon" и вместо twirl#yellowStretchyIcon впишите код другого маркера из списка http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/option.presetStorage.xml