-
Публикации
1039 -
Зарегистрирован
-
Посещение
-
Days Won
59
Изменения репутации
-
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} Будет выведено
Кондин Дмитрий Валерьевич -
XTRO изменил репутацию smetagenus в Вопрос по title у странице товара(квартиры)
atrox, здравствуйте. Насколько я знаю, title для обЪявления формируется здесь - apps\system\lib\frontend\view\kvartira_view.php.
Чтобы его не ковырять, можете прямо в шаблоне вместо {$title} использовать нужные вам переменные - {$data.city_id.value_string}, {$data.street_id.value_string} и другие.
-
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} -
XTRO получил репутацию от Лина в Вопросы от новичка 1.0
тогда в своём теплейте a#send_friend {display: none;}
и не надо трогать бутстрап, тем более что он, по хорошему, должен быть сжат
-
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>
и ни чего у вас не затрется.
-
XTRO изменил репутацию TopRaN в Вопросы от новичка 1.0
однажды я сказал "правильно ты меня тыкаешь, как котенка в какашку" на что мне очень хороший человек ответил "я не тыкаю, я тебя от туда вынимаю".
Вывод этой басни: не попробовав - не получиться!
-
XTRO изменил репутацию jjack40 в Вопросы от новичка 1.0
Спецы не "наехав" на новичка плохо спят? И чего было шуметь? Достаточно бало написать "чайник, замени в админке значение поля "Количество просмотров" с hidden на safe_string и будет тебе счастье". Что я и сделал - счастлив до невозможности!)))
-
XTRO получил репутацию от makarella в Как убрать поле Тип в поиске
здравствуйте, поздравляем
если я правильно понял что вы хотите, то скорее всего вам придётся создать свою форму поиска.
Перечитайте эту ветку форума, там много ответов на аналогичные задачи.
-
XTRO изменил репутацию Дмитрий Кондин в Альфа-тестирование мобильного приложения
Теперь приложение можно скачать из Google Play, только для этого вам нужно сначала стать участником сообщества в G+
https://plus.google.com/communities/117300576756896657152
Из новых функций - добавлена кнопка оплаты тарифа.
-
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.
-
XTRO получил репутацию от Дмитрий Кондин в Рекламные баннеры sitebill
можно body заменить на textarea_editor в редакторе форм
-
XTRO получил репутацию от Дмитрий Кондин в Активация объявления.
тому же яндексу сейчас более важен поведенческий фактор целевого посетителя, чем ссылочная масса. + те же острова. Так что толку имхо от старых объяв будет === 0, а нагрузка на сервер останется.
-
XTRO изменил репутацию Realtor в Предложения для будущих версий.
В настройках приложений
Заявка на аренду
добавить поле email по которому будет пересылыться поданная заявка, в этом случае сотрудники агентства не будут ждать когда админ соизволит скачать и переслать данные заявки. В аренде играет быстрота принятия решений
Почтовый ящик
В настройках добавить отправлять сообщение на email
При отправке пользователю на его email указанный в профиле будет приходить сообщение
Вам пришло сообщение в Личный кабинет на ....
Экспорт объявлений в pdf
В настройках сделать возможность брендирования, т.е.подключения header и footer для идентифицирования - в header шапку в виде картинке логотипа, в footer картинку в виде контактов
Избранное и выборка по поиску с главной - возможность сформированную таблицу раcпечатать в pdf или отправить по email
А также чтобы объявления из таблицы были с активными ссылками
Рассылка объявлений недвижимости
В настройках добавить отправлять сообщение на email Клиенту
В таблице данного приложения будут добавлены поля Имя клиента, телефон и email
И при выполнении условий поиска, будет приходить сформированная ссылка, не только в ЛК агента Клиента которого он ведет, но и самому Клиенту.
Т.е. это приложение можно будет использовать как клиентскую базу, с так называемыми отчетами агента, что он предложил клиенту, пока он его вел.
-
XTRO изменил репутацию Chernetskiy в Предложения для будущих версий.
Поскольку в Sitebill'e есть модуль Робокассы и возможность клиенту внести деньги на счет агентства, может есть смысл организовать платные услуги для клиентов - запрос выписок из ЕГРП, кадастровых паспортов, внесение денег в счет бронирования объектов (если клиент не местный)...
Смысл предполагается в том, что клиент заходит на сайт, заказывает ту или иную услугу (список и расценки на которые редактирует админ), выставляет себе счет и оплачивает через Робокассу (соглашаясь с договором оферты)... далее риэлтор бегает ножками а клиент впоследствии получает свою справочку...
Если тема интересна, наверное есть смысл сразу продумать форму заказа, поскольку от клиента нужны будут сведения по объекту недвижимости - адрес, кадастровый или условный номер и т.п., собственно эти сведения могу указать дополнительно. Может быть и решить вопрос таким образом, чтобы по результату запроса клиента, на стороне агентства сразу составлялась или печаталась форма заявления в Росреестр.... Образцы тоже могу выслать. Может быть и в ЛК клиента сделать список заказов и присваивать им статус, как в интернет-магазине "Принято", "В работе", "Исполнено" с отправкой результата по электронке или иным вариантом. Клиенты иногда такими услугами интересуются, почему-бы не автоматизировать?
Как идея?
-
XTRO получил репутацию от Anatolii в ОШИБКА при нажатии на объявление
пробовали очистить кэш (/admin/index.php?action=seo&do=update) и обновить альясы (/admin/index.php?action=seo) ?
-
XTRO получил репутацию от Дмитрий Кондин в Предложения для будущих версий.
поскольку пункты меню выводим юзая массив, в админке добавить опцию enable/disable для конкретного пункта любого меню.
-
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;});}); В принципе уже сейчас слайдер должен работать.
-
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 с видом в Закрытый сайт - какую-нибудь чистую страничку с красивым значком посредине и ахтунгом "Сайт закрыт".
-
XTRO изменил репутацию Дмитрий Кондин в Привязка профилей социальных сетей
Если будет заходить из разных соц.сетей, то будет создавать разные учетные записи.
В будущих версиях сделаем связывание аккаунтов разных соц.сетей.
-
-
-
XTRO получил репутацию от Дмитрий Кондин в Уроки СSS
Раскопал тут http://enjoycss.com/ (online css3 code generator)
действительно, enjoy !
-
XTRO изменил репутацию abushyk в Отдельные пункты
Я так понимаю, что вы создали таки форму поиска (Редактор форм - Формы поиска).
Дмитрий дал вам два видео. На первом показан принцип создания именно форм поиска - т.е. форм выводимых в страницу по которым осуществляется только поиск.
На втором видео приведено описание как создать изменяемую форму добавления объявления. Тут идея такая - каждый элемент формы (Цена, Площадь и т.д.) имеют поле "Активно в" и селектбокс в котором перечисленны существующие пункты структуры. При редактировании каждого элемента вы можете указать категорию, в которой этот пункт будет активен. Например поле Цена присуще всем типам - для него Активно в не указывается. А вот поле Площадь участка логично, что активно в категориях, которые связаны с землей. Поэтому для него следует установить Активно в в категориях так или иначе связанных с землей.
После этих манипуляций ваша форма добавления будет учитывать эту установки и формировать набор полей в форме добавления согласно выбранного в данный момент пункта Структуры.
-
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, но в данный момент обработчик заявок не способен прнять загруженные файлы и адекватно их разместить-переслать. так что, в целом, попытки решить эту задачу не имеют смысла.
-
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