XTRO

Участники
  • Публикации

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

  • Посещение

  • Days Won

    59

Изменения репутации

  1. Like
    XTRO изменил репутацию Дмитрий Кондин в Добавляем свои переменные и массивы в шаблон   
    Движком всегда запускается функция main() из 
    /template/frontend/ваш_шаблон/main/main.php Также все что лежит внутри шаблона не обновляется из центра обновлений, следовательно мы можем там делать все что нам нужно и это сохраниться при обновлениях.
    Сейчас мы поместим произвольную переменную из кода PHP в шаблон, для этого в функции main(), можно в самом начале сделаем инициализацию переменной:
    /** * Main * @param void * @return string */ function main () { $this->template->assign('my_var', 'Моя переменная'); ......... дальше идет системный код, его не трогаем Теперь в шаблоне это нам будет доступно так:
    {$my_var} На сайте эта переменная преобразуется в ее значение
    Моя переменная Более сложный пример, сделаем SQL-запрос для выборки данных из таблицы.
    Также в main()
    /** * Main * @param void * @return string */ function main () { //Класс для работы с базой данных $DBC=DBC::getInstance(); //Подготовим SQL-запрос (получить строчку с данными пользователя по его логину (вместо ? будет подставляться значение) $query = 'SELECT * FROM '.DB_PREFIX.'_user WHERE login=?'; //будем искать пользователя с логином admin //NB использовать '*' при выборке данных пользователя не стоит, лучше конкретно перечислять нужные поля. Потому что можете забыть убрать отладочный вывод и ВСЕ данные пользователя могут быть перехвачены посторонними. $login = 'admin'; //выполняем запрос, смотрите как передаются аргументы $login $stmt=$DBC->query($query, array($login)); if ( $stmt ) { //выжимаем массив данных $ar = $DBC->fetch($stmt); //присваиваем массив в шаблон $this->template->assign('user_array', $ar); } ......... дальше идет системный код, его не трогаем Теперь в шаблоне мы можем получить доступ к этому массиву, этот код выведет все содержимое массива
    <pre>{$user_array|@print_r}</pre> NB2. Когда отладочный вывод, как в коде выше, вам перестанет быть нужным - удаляйте его или, если комментируете, то комментируйте как {*$user_array|@print_r*} но ни в коем случае не
    <!--<pre>{$user_array|@print_r}</pre>--> Увидим на сайте примерно такое
    Array( [user_id] => 1 [login] => admin [pass] => admin [active] => 1 [reg_date] => 2013-07-30 11:18:10 [password] => 21dsfsdfs57a5a743894a0e4a801fc3 [fio] => Кондин Дмитрий Валерьевич [email] => kondin@etown.ru [account] => 0 [group_id] => 1 [company_id] => 0 [phone] => 234-44-23 [site] => http://www.sitebill.ru [imgfile] => img529befac1ca89_1385951148_941.jpg [mobile] => +79138317494 [icq] => 73072365 [newpass] => [newpass_retype] => [admnf] => [tariff_id] => 1) А чтобы получить доступ к отдельному значению из массива, например, к fio, то делаем так:
    {$user_array.fio} Будет выведено
    Кондин Дмитрий Валерьевич
  2. Like
    XTRO изменил репутацию smetagenus в Вопрос по title у странице товара(квартиры)   
    atrox, здравствуйте. Насколько я знаю, title для обЪявления формируется здесь - apps\system\lib\frontend\view\kvartira_view.php.
     
    Чтобы его не ковырять, можете прямо в шаблоне вместо {$title} использовать нужные вам переменные  - {$data.city_id.value_string}, {$data.street_id.value_string} и другие.
  3. Like
    XTRO изменил репутацию Дмитрий Кондин в Использование переменных в шаблоне   
    Возьмем для примера шаблон вывода VIP-объявлений (спец.предложений).
     
    /template/frontend/ваш_шаблон/right_special.tpl
     
    Ключевой цикл перебора вариантов находится тут
    {section name=i loop=$special_items2}...{/section} В процессе обхода этого цикла будет доступен следующий массив для каждой итерации
    {$special_items2[i]} Если нам нужно вытащить какие нибудь поля из него и вывести, например, площадь то мы можем сделать это так:
    {$special_items2[i].square_all} А вот можно увидеть весь массив и что в нем лежит, если в цикле вызовем это
    <pre> {$special_items2[i]|@print_r}</pre> Мы увидим такое:
    Array( [currency_code] => RUR [currency_name] => р. [price_ue] => 0 [id] => 400896 [user_id] => 1 [type_id] => 0 [topic_id] => 6143 [country_id] => 0 [city_id] => 1 [metro_id] => 32 [district_id] => 0 [street] => ВАЛОВАЯ [price] => 0 [text] => Русское описание [contact] => [date_added] => 2014-01-29 13:13:54 [agent_tel] => [room_count] => 2 [elite] => 0 [session_id] => [active] => 1 [sub_id1] => 0 [sub_id2] => 0 [reviews_count] => 0 [hot] => 1 [floor] => 10 [floor_count] => 15 [walls] => Монолит [balcony] => [square_all] => 74 [square_live] => [square_kitchen] => [bathroom] => [img1] => [img2] => [img3] => [img4] => [img5] => [img1_preview] => [img2_preview] => [img3_preview] => [img4_preview] => [img5_preview] => [is_telephone] => 1 [furniture] => 1 [plate] => нет [agent_email] => [number] => [spec] => 0 [floor_cover] => [square_room] => [is_kitchen] => 0 [region_id] => 0 [street_id] => 139 [planning] => [dom] => [flat_number] => [owner] => [source] => [adv_date] => [more1] => [more2] => [more3] => [youtube] => [fio] => [phone] => [realty_type_id] => 0 [view_count] => 38 [best] => 0 [email] => [distance] => [tmp_password] => [ad_mobile_phone] => [ad_stacionary_phone] => [can_call_start] => [can_call_end] => [currency_id] => 1 [meta_title] => аренда квартир Москва Достоевская Парковая улица (пос. Новобратцевский) [meta_description] => аренда квартир Москва Достоевская Парковая улица (пос. Новобратцевский) [meta_keywords] => аренда квартир Москва Достоевская Парковая улица (пос. Новобратцевский) [geo_lat] => 55.722469 [geo_lng] => 37.472991 [vip_status_end] => 0 [premium_status_end] => 0 [bold_status_end] => 0 [text_en] => English description [optype] => [sdfsdfs] => [complex_id] => 1 [image] => Array ( [0] => Array ( [preview] => prv533a69d43da5b_1396337108_1.jpg [normal] => img533a69d43da55_1396337108_1.jpg [type] => graphic [mime] => jpg ) [1] => Array ( [preview] => prv533a69d467dea_1396337108_2.jpg [normal] => img533a69d467de2_1396337108_2.jpg [type] => graphic [mime] => jpg ) [2] => Array ( [preview] => prv533a69d489eda_1396337108_3.jpg [normal] => img533a69d489ed3_1396337108_3.jpg [type] => graphic [mime] => jpg ) [3] => Array ( [preview] => prv533a69d4bb78e_1396337108_4.jpg [normal] => img533a69d4bb787_1396337108_4.jpg [type] => graphic [mime] => jpg ) [4] => Array ( [preview] => prv533a69d4df23d_1396337108_5.jpg [normal] => img533a69d4df233_1396337108_5.jpg [type] => graphic [mime] => jpg ) ) [expire_date] => 0000-00-00 00:00:00 [payed_adv] => 0 [manually_added] => 0 [direction] => [time_on_transport] => [time_on_foot] => [railway_station] => [not_for_agents] => 0 [haggle] => 0 [mortgage] => 0 [prepayment] => [rent_pledge] => 0 [agent_fee] => [with_pets] => 0 [with_children] => 0 [renovation] => [lot_type] => [lot_area] => [new_flat] => 0 [rooms] => 0 [rooms_offered] => 0 [open_plan] => 0 [rooms_type] => [internet] => 0 [room_furniture] => 0 [kitchen_furniture] => 0 [television] => 0 [washing_machine] => 0 [refrigerator] => 0 [bathroom_unit] => [floor_covering] => [window_view] => [building_name] => [building_type] => [building_series] => [building_state] => не выбрано [built_year] => [ready_quarter] => [lift] => 0 [rubbish_chute] => 0 [is_elite] => 0 [parking] => 0 [alarm] => 0 [ceiling_height] => [pmg] => 0 [kitchen] => 0 [pool] => 0 [billiard] => 0 [sauna] => 0 [heating_supply] => 0 [water_supply] => 0 [sewerage_supply] => 0 [electricity_supply] => 0 [gas_supply] => 0 [toilet] => не выбрано [shower] => не выбрано [cpos_id] => 0 [cuch_id] => 0 [type_sh] => arenda kvartir [company] => [city] => Москва [metro] => Достоевская [user] => Кондин Дмитрий Валерьевич [currency] => RUR [path] => arenda kvartir [date] => 29.01 [datetime] => 29.01 13:13 [topic_info] => Array ( [id] => 6143 [name] => arenda kvartir [name_en] => [active] => 0 [parent_id] => 0 [order] => 3 [sql_where] => [obj_type_id] => 0 [def_id1] => 0 [def_id2] => 0 [operation_type_id] => 0 [url] => arenda-kvartir [description] => [meta_title] => [meta_keywords] => [meta_description] => [name_am] => [name_cn] => [name_ua] => ) [parent_category_url] => arenda-kvartir/ [href] => /arenda-kvartir/realty400896 [img] => Array ( [0] => Array ( [preview] => prv533a69d43da5b_1396337108_1.jpg [normal] => img533a69d43da55_1396337108_1.jpg [type] => graphic [mime] => jpg ) [1] => Array ( [preview] => prv533a69d467dea_1396337108_2.jpg [normal] => img533a69d467de2_1396337108_2.jpg [type] => graphic [mime] => jpg ) [2] => Array ( [preview] => prv533a69d489eda_1396337108_3.jpg [normal] => img533a69d489ed3_1396337108_3.jpg [type] => graphic [mime] => jpg ) [3] => Array ( [preview] => prv533a69d4bb78e_1396337108_4.jpg [normal] => img533a69d4bb787_1396337108_4.jpg [type] => graphic [mime] => jpg ) [4] => Array ( [preview] => prv533a69d4df23d_1396337108_5.jpg [normal] => img533a69d4df233_1396337108_5.jpg [type] => graphic [mime] => jpg ) )) Если проанализировать этот массив, то можно понять, что улица у нас доступна так
    {$special_items2[i].street} Если нам нужны данные, которые лежат внутри вложенного массива, например, название категории, то делаем так
    {$special_items2[i].topic_info.name}
  4. Like
    XTRO получил репутацию от Лина в Вопросы от новичка 1.0   
    тогда в своём теплейте a#send_friend {display: none;}
    и не надо трогать бутстрап, тем более что он, по хорошему, должен быть сжат
  5. Like
    XTRO изменил репутацию TopRaN в Вопросы от новичка 1.0   
    1.создать в папке шаблона папку apps
    2. вынести туда локально mailbox/site/template/form.tpl
    3. в main.php переопределить путь до /form.tpl
    4. ковырять form.tpl коментируем строку <span><a href="#" id="send_friend" class="btn btn-info"><i class="icon-white icon-thumbs-up"></i> {if $message_to_friend_title != ''}{$message_to_friend_title}{else}Поделиться{/if}</a></span>
    и ни чего у вас не затрется.
  6. Like
    XTRO изменил репутацию TopRaN в Вопросы от новичка 1.0   
    однажды я сказал "правильно ты меня тыкаешь, как котенка в какашку" на что мне очень хороший человек ответил "я не тыкаю, я тебя от туда вынимаю".
    Вывод этой басни: не попробовав - не получиться!
  7. Like
    XTRO изменил репутацию jjack40 в Вопросы от новичка 1.0   
    Спецы не "наехав" на новичка плохо спят? И чего было шуметь? Достаточно бало написать "чайник, замени в админке значение поля "Количество просмотров" с hidden на safe_string и будет тебе счастье". Что я и сделал - счастлив до невозможности!)))
  8. Like
    XTRO получил репутацию от makarella в Как убрать поле Тип в поиске   
    здравствуйте, поздравляем
     
    если я правильно понял что вы хотите, то скорее всего вам придётся создать свою форму поиска.
    Перечитайте эту ветку форума, там много ответов на аналогичные задачи.
  9. Like
    XTRO изменил репутацию Дмитрий Кондин в Альфа-тестирование мобильного приложения   
    Теперь приложение можно скачать из Google Play, только для этого вам нужно сначала стать участником сообщества в G+
    https://plus.google.com/communities/117300576756896657152
     
    Из новых функций - добавлена кнопка оплаты тарифа.
  10. Like
    XTRO изменил репутацию Дмитрий Кондин в Группы и пользователи   
    Присвоение группы в регистрации
    if(0!=(int)$this->getConfigValue('newuser_registration_groupid')){ $form_data[$this->table_name]['group_id']['value'] = (int)$this->getConfigValue('newuser_registration_groupid'); }else{ $form_data[$this->table_name]['group_id']['value'] = $this->getGroupIdByName('realtor'); } Если есть в настройках значение для newuser_registration_groupid, тогда вносим пользователя в нее.
    Если нет, тогда берем идентификатор группы realtor.
  11. Like
    XTRO получил репутацию от Дмитрий Кондин в Рекламные баннеры sitebill   
    можно body заменить на textarea_editor в редакторе форм
  12. Like
    XTRO получил репутацию от Дмитрий Кондин в Активация объявления.   
    тому же яндексу сейчас более важен поведенческий фактор целевого посетителя, чем ссылочная масса. + те же острова. Так что толку имхо от старых объяв будет === 0, а нагрузка на сервер останется.
  13. Like
    XTRO изменил репутацию Realtor в Предложения для будущих версий.   
    В настройках приложений
     
    Заявка на аренду
     
    добавить поле email по которому будет пересылыться поданная заявка, в этом случае сотрудники агентства не будут ждать когда админ соизволит скачать и переслать данные заявки. В аренде играет быстрота принятия решений
     
     
    Почтовый ящик
     
    В настройках добавить отправлять сообщение на email
    При отправке пользователю на его email указанный в профиле будет приходить сообщение
    Вам пришло сообщение в Личный кабинет на ....

    Экспорт объявлений в pdf 
     
    В настройках сделать возможность брендирования, т.е.подключения header и footer для идентифицирования - в header шапку в виде картинке логотипа, в footer картинку в виде контактов
     
    Избранное и выборка по поиску с главной - возможность сформированную таблицу   раcпечатать в pdf или отправить по email
    А также чтобы объявления из таблицы  были с активными ссылками
     
     
    Рассылка объявлений недвижимости
     
    В настройках добавить отправлять сообщение на email Клиенту
    В таблице данного приложения будут добавлены поля Имя клиента, телефон и email
    И при выполнении условий поиска, будет приходить сформированная ссылка, не только в ЛК агента  Клиента которого он ведет, но и самому Клиенту.
    Т.е. это приложение можно будет использовать как клиентскую базу, с так называемыми отчетами агента, что он предложил клиенту, пока он его вел.
     
  14. Like
    XTRO изменил репутацию Chernetskiy в Предложения для будущих версий.   
    Поскольку в Sitebill'e есть модуль Робокассы и возможность клиенту внести деньги на счет агентства, может есть смысл организовать платные услуги для клиентов - запрос выписок из ЕГРП, кадастровых паспортов, внесение денег в счет бронирования объектов (если клиент не местный)...
     
    Смысл предполагается в том, что клиент заходит на сайт, заказывает ту или иную услугу (список и расценки на которые редактирует админ), выставляет себе счет и оплачивает через Робокассу (соглашаясь с договором оферты)... далее риэлтор бегает ножками а клиент впоследствии получает свою справочку...
     
    Если тема интересна, наверное есть смысл сразу продумать форму заказа, поскольку от клиента нужны будут сведения по объекту недвижимости - адрес, кадастровый или условный номер и т.п., собственно эти сведения могу указать дополнительно. Может быть и решить вопрос таким образом, чтобы по результату запроса клиента, на стороне агентства сразу составлялась или печаталась форма заявления в Росреестр.... Образцы тоже могу выслать. Может быть и в ЛК клиента сделать список заказов и присваивать им статус, как в интернет-магазине "Принято", "В работе", "Исполнено" с отправкой результата по электронке или иным вариантом. Клиенты иногда такими услугами интересуются, почему-бы не автоматизировать?
     
    Как идея?
  15. Like
    XTRO получил репутацию от Anatolii в ОШИБКА при нажатии на объявление   
    пробовали очистить кэш (/admin/index.php?action=seo&do=update) и обновить альясы (/admin/index.php?action=seo) ?
  16. Like
    XTRO получил репутацию от Дмитрий Кондин в Предложения для будущих версий.   
    поскольку пункты меню выводим юзая массив, в админке добавить опцию enable/disable для конкретного пункта любого меню.
  17. Like
    XTRO изменил репутацию abushyk в Слайдер   
    1. Инициализация значений в шаблон.
    Нам необходиом поймать знчения из запроса в шаблон для полей площадей.
    В /template/frontend/realia/standart_search_form.tpl в самом начале шаблона добавляем перехваты
    {if isset($smarty.request.square_min) && $smarty.request.square_min!=''}{assign var='square_min' value=$smarty.request.square_min}{else}{assign var='square_min' value=0}{/if}{if isset($smarty.request.square_max) && $smarty.request.square_max!=''}{assign var='square_max' value=$smarty.request.square_max}{else}{assign var='square_max' value=1000000}{/if} и чуть ниже, после 
    var max_price={/literal}{if $max_price ne ''}{$max_price}{else}0{/if}{literal};var price_from=Number({/literal}{if isset($price_min)}{$price_min}{else}0{/if}{literal});var price_for=Number({/literal}{if (isset($price)) && ($price ne '')}{$price}{else}{$max_price}{/if}{literal}); добавляем
    var square_all_max=Number(1000000); 2. Формируем разметку.
    Слайдер состоит из трех элементов - двух межевых полей ввода и собственно слайдера.
    <!-- Межевое поле --><div class="beds control-group">                <div class="controls">                    <input type="text" class="square_from square_field" name="square_min" value="{$square_min}"/>                </div><!-- /.controls -->            </div><!-- /.control-group --><!-- Межевое поле -->            <div class="baths control-group">                <div class="controls">                    <input type="text" class="square_for square_field" name="square_max" value="{$square_max}"/>                </div><!-- /.controls -->            </div><!-- /.control-group --> <!-- Слайдер -->                       <div class="price-value control-group">                <div class="controls">                    <div class="square_slider"></div>                </div><!-- /.controls -->            </div> Значения межевых полей мы устанавливаем теми значениями, которые мы инициализировали в п.1
    Разметку разместить в  /template/frontend/realia/standart_search_form.tpl в теле формы поиска.
     
    3. Навеска слайдера.
    /template/frontend/realia/js/search_form.js
    После функций asMoney() и number_format() доюавляем функцию
    function buidSlider(slider_el, min_el, max_el, maxvalue, asMoneyType){var min_value_now=min_el.val().replace(/\D/g,'');var max_value_now=max_el.val().replace(/\D/g,'');slider_el.slider({        range: true,        min: 0,        max: maxvalue,        values: [ min_value_now, max_value_now ],        slide: function( event, ui ) {            if (ui.values[0]<0){                ui.values[0] = 0;            }            min_el.val(asMoneyType==true ? asMoney(ui.values[0]) : ui.values[0]);            max_el.val(asMoneyType==true ? asMoney(ui.values[1]) : ui.values[1]);        }    });min_el.change(function(){        var value1=min_el.val().replace(/\D/g,'');        var value2=max_el.val().replace(/\D/g,'');        if (value1 > maxvalue) { value1 = maxvalue; min_el.val(asMoneyType==true ? asMoney(maxvalue) : maxvalue)}        if(parseInt(value1) > parseInt(value2)){            value1 = value2;            min_el.val(asMoneyType==true ? asMoney(value1) : value1);        }        slider_el.slider("values", 0, value1);     });max_el.change(function(){        var value1=min_el.val().replace(/\D/g,'');        var value2=max_el.val().replace(/\D/g,'');        if (value2 > maxvalue) { value2 = maxvalue; max_el.val(asMoneyType==true ? asMoney(maxvalue) : maxvalue)}        if(parseInt(value1) > parseInt(value2)){             value2 = value1;             min_el.val(asMoneyType==true ? asMoney(value2) : value2);        }        slider_el.slider("values", 1, value2);    });} которая и удет рисовать наши слайдеры.
    Функция потребляет в себя jQuery элементы сладйера, межевых полей и максимального значения.
     
    Расположенный чуть выше блок
    $(document).ready(function(){...}); приводим к следующему виду
    $(document).ready(function(){$("input.price_field").autoNumeric({aSep: ' ', vMax: '999999999999', vMin: '0'});var simple_slider=$("div.property-filter .slider");var simple_price_from=$("div.property-filter input.price_from");var simple_price_for=$("div.property-filter input.price_for");buidSlider(simple_slider, simple_price_from, simple_price_for, max_price, true);var simple_slider=$("div.property-filter .square_slider");var simple_price_from=$("div.property-filter input.square_from");var simple_price_for=$("div.property-filter input.square_for");buidSlider(simple_slider, simple_price_from, simple_price_for, square_all_max);$('a.search_page_toggle').click(function(){$('div#simple_search').slideToggle();$('div#extended_search').slideToggle();return false;});}); В принципе уже сейчас слайдер должен работать.
  18. Like
    XTRO изменил репутацию abushyk в Баги после обновления System 2.8.10   
    @Закрыть сайт (is_underconstruction)
    Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. @
    © http://wiki.sitebill.ru/index.php?title=%D0%9E%D0%B1%D1%89%D0%B8%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8
     
    Я делал так.
    В main.tpl охватывал вывод нормальной страницы условием
    {if $is_underconstruction_mode==1}{include file='main_closed.tpl'}{else}Тут все что было в main.tpl до добавления{/if} И верстал полноценный main_closed.tpl с видом в Закрытый сайт - какую-нибудь чистую страничку с красивым значком посредине и ахтунгом "Сайт закрыт".
  19. Like
    XTRO изменил репутацию Дмитрий Кондин в Привязка профилей социальных сетей   
    Если будет заходить из разных соц.сетей, то будет создавать разные учетные записи.
    В будущих версиях сделаем связывание аккаунтов разных соц.сетей.
  20. Like
    XTRO получил репутацию от TopRaN в Уроки СSS   
    Раскопал тут http://enjoycss.com/ (online css3 code generator)
    действительно, enjoy !
  21. Like
    XTRO получил репутацию от abushyk в Уроки СSS   
    Раскопал тут http://enjoycss.com/ (online css3 code generator)
    действительно, enjoy !
  22. Like
    XTRO получил репутацию от Дмитрий Кондин в Уроки СSS   
    Раскопал тут http://enjoycss.com/ (online css3 code generator)
    действительно, enjoy !
  23. Like
    XTRO изменил репутацию abushyk в Отдельные пункты   
    Я так понимаю, что вы создали таки форму поиска (Редактор форм - Формы поиска).
     
    Дмитрий дал вам два видео. На первом показан принцип создания именно форм поиска - т.е. форм выводимых в страницу по которым осуществляется только поиск.
    На втором видео приведено описание как создать изменяемую форму добавления объявления. Тут идея такая - каждый элемент формы (Цена, Площадь и т.д.) имеют поле "Активно в" и селектбокс в котором перечисленны существующие пункты структуры. При редактировании каждого элемента вы можете указать категорию, в которой этот пункт будет активен. Например поле Цена присуще всем типам - для него Активно в не указывается. А вот поле Площадь участка логично, что активно в категориях, которые связаны с землей. Поэтому для него следует установить Активно в в категориях так или иначе связанных с землей.
    После этих манипуляций ваша форма добавления будет учитывать эту установки и формировать набор полей в форме добавления согласно выбранного в данный момент пункта Структуры.
  24. Like
    XTRO изменил репутацию abushyk в Заявка на ипотеку (редактирование страницы)   
    1. Добавляем логотипы банков.
     
    1.1. Создаем папку /template/frontend/имя_шаблона/main/form
    1.2. В ней файл local_ipoteka.php
    1.3. В файле содержимое
    <?phpclass Local_Ipoteka_Order_Form extends Ipoteka_Order_Form {function main () {$rs='<div class="row-fluid">';$rs.='<div class="span6">';$rs.=parent::main();$rs.='</div>';$rs.='<div class="span6">';$rs.='тут логотипы';$rs.='</div>';$rs.='</div>';return $rs;}} 1.4. В /template/frontend/имя_шаблона/main/main.php ищем блок
    if ( !$has_result && preg_match('/^ipotekaorder/', $REQUESTURIPATH) ) {...} 1.5. В этом блоке ищем $ipoteka_order = new Ipoteka_Order_Form(); и заменяем на
    require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/form/local_ipoteka.php');$ipoteka_order = new Local_Ipoteka_Order_Form(); 1.6. PROFIT
     
    ПС. Разметка в 1.3 - условная. Вы можете ее перепилить как надо, главное помнить, что $rs.=parent::main(); выводит форму и результат ее обработки на страницах заявки на ипотеку. Т.е. должно быть. Все остальное - дело вашей фантазии.
     
    2. Убираем форму поиска недвижимости на странице ипотеки
     
    2.1. В блоке из пункта 1.4 добавляем строку $this->template->assert('hide_realty_serach_form', '1');. Другими словами ставим метку, что мы в "ипотеке".
    2.2. В шаблоне, там где у нас выводится форма поиска проверяем условие 
    {if isset($hide_realty_serach_form) && $hide_realty_serach_form==1}
    <!--тут не делаем подключения файла с формой поиска-->
    {else}
    <!--тут делаем подключение файла с формой поиска-->
    {/if}
     
    3. Добавить поле под доки.
     
    В принципе можно было бы прилепить с помощью uploadify_file, но в данный момент обработчик заявок не способен прнять загруженные файлы и адекватно их разместить-переслать. так что, в целом, попытки решить эту задачу не имеют смысла.
  25. Like
    XTRO изменил репутацию Дмитрий Кондин в Обновление system 2.8.6   
    1. Исправлена уязвимость XSS для полей safe_string. Больше нет возможности в строковых полях ввода вводить разметку.
     
    2. Для поля textarea добавлена опция разрешающая все теги. (Достигается установкой параметра allow_htmltags и значения для него 1 в разделе Параметры для выбранного элемента. По умолчанию, с этого обновления, из поля типа textarea - тех, которые отображаются стандартным html-полем ввода текста - вся разметка будет вырезаться). Не касается поле с типом textarea_editor, снабженных полноценными редакторами.
    NB. Обратите на это внимание те, кто использует приложение Баннеры.
     
    3. В конфиге добавлены опции
    Уведомлять администратора о платежах по email (notify_about_payment) При использовании базового модуля оплаты через Робокассу устанавливает необходимость отправки уведомления администратору о наличии платежа. Закрыть сайт (is_underconstruction) Закрывает фронтальную часть сайта на обслуживание. Так как опция новая, то, для полноценной ее работы, необходимы некоторые изменения в шаблоне. IP разрешенный для доступа в закрытом режиме (is_underconstruction_allowed_ip) Указывает IP адрес пользователя, который может иметь доступ к сайту, закрытому на обслуживание. Описание всех опций конфига тут http://wiki.sitebill.ru/index.php?title=%D0%9E%D0%B1%D1%89%D0%B8%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8
    4. Добавлена автоматическая установка системных утилит
     
    5. Добавлено приложение apps.logger http://wiki.sitebill.ru/index.php?title=System_logger
     
    6. Добавлено приложение apps.customentity для управления пользовательскими элементами, которые нужны, но для которых нет фабричного приложения.
    Для работы этого приложения необходимо сделать операцию установки перейдя в админке по адресу 
    /admin/index.php?action=customentity&do=install
    В ответ вы не увидите ничего, но в БД должна появиться таблица re_customentity.
     
    6а. Вводится в стадию бета концепция Связанных элементов http://wiki.sitebill.ru/index.php?title=%D0%A1%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B , которая будет связана с элементами из предыдущего пункта и не только.
     
    7. Добавлено приложение toolbox (для миграции картинок из старого uploadify -> uploads) http://wiki.sitebill.ru/index.php?title=%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%22Toolbox%22.
    Приложение рассчитано на понимающего, что делает, пользователя и не обладает интуитивным интерфейсом. Если сомневаетесь - лучше не тыкайте по кнопкам, а проконсультируйтесь со мной (abushyk). Бекапы БД и файлов сайта, перед использованием этого приложения, обязательны.
     
    8. Исправлен баг - при удалении всех категорий выскакивала ошибка.
     
    9. Теперь при включении опции use_new_realty_grid видна минимальная сетка для объявлений, раньше было пусто. Остальные поля добавлять также через редактор форм - Grid manager.
     
    10. Для поля uploads теперь максимальный размер загружаемого фото = установленному системой. Максимальный размер устанавливается автоматически из настроек сервера. Если сервер у вас пропускает 200М, то для картинок этот размер весьма избыточен. Дабы не дать врагам замусорить сервак стомегапиксельными картинками каждый элемент uploads поддерживает свою автономную настройку пропускной способности в виде параметра max_file_size и значения для него в виде целого числа допустимых мегабайтов на картинку.
     
    10а. uploads так же поддерживают свои размеры картинок (размеры для полноэкранки и превью) с помощю параметров prev_width, prev_height, norm_width, norm_height и указанными пиксельными размерами. Єти настройки перекрывают базовые. Так же поддерживается настройка в виде параметра preview_smart_resizing, которая аналогична настройке из Настройки - Дополнительно - Использовать умную подгонку превьюшек, но в отличии от нее, работает не только на картинках для объявлений.
     
    11. Создание пользовательских форм заявок http://wiki.sitebill.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D1%83%D1%8E_%D1%84%D0%BE%D1%80%D0%BC%D1%83_%D0%B7%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8