Компонент iProperty

У меня идея но нет времени ее реализовывать и проверять. Опишу...
Переведи bath - как комнат (т.к. beds - спальные места, для аренды)
В "Общих настройках" компонента есть: "Дробные указатели комнат" - baths fraction - включаем ее
Вот полное количество комнат - остается полным...
А 1+1 (1 комната + 1 гостиная) или 2+1 и т.п. - это дробные указатели комнат...
и поиск будет нормальным.
итого получим:
-1
-1+1
-2
-2+1
-3
-3+1
и т.п.
переделки в файле \administrator\components\com_iproperty\models\fields\bath.php - минимальны и элементарны (см. стр. 37,38,39).
удаляем 37, 39
и переформатируем - 38
Все получилось, способо действительно несложный и логичный. Только вот быстрый поиск ведет по целым значениям. И информация отображается в виде 0.+1 ни в какую точка не убирается. Кроме того, при выборе в опции объекта - компонент не принимает, и скидывает на ноль.
 
Последнее редактирование:
Информация быстрого поиска - это Вы про модуль mod_ip_quicksearch ???
Смотрите в нем почему он не отображает дроби...
0.+1 -- строка 38 в bath.php "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" ??? должно показываться нормально ... тогда откуда точка берется???
 
Информация быстрого поиска - это Вы про модуль mod_ip_quicksearch ???
Смотрите в нем почему он не отображает дроби...
0.+1 -- строка 38 в bath.php "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" ??? должно показываться нормально ... тогда откуда точка берется???

Все верно, про этот модуль. Вот про точку и я не могу выяснить.
0
0.+1
1
1.+1
Проблема видомо в quicksearch, так как кроме этой функции не отображается и
Show price dropdowns
При включении - система вылетает
 

Вложения

  • Adsız.jpg
    Adsız.jpg
    45,6 KB · Просмотры: 9
  • 2.jpg
    2.jpg
    123,2 KB · Просмотры: 8
Последнее редактирование:
проверь еще раз т.к. 38 строка должна выглядеть именно "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" а не "$options[] = array('value' => $i.'+1', 'text' => $i.$nformat.'+1');"
здесь может точка и появляется...

при добавлении объекта комнаты + гостинные отображаются верно ? без точки? если да - то ковыряй именно mod_ip_quicksearch
если и при добавлении тоже с точкой - смотреть надо в другом месте
 
проверь еще раз т.к. 38 строка должна выглядеть именно "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" а не "$options[] = array('value' => $i.'+1', 'text' => $i.$nformat.'+1');"
здесь может точка и появляется...

при добавлении объекта комнаты + гостинные отображаются верно ? без точки? если да - то ковыряй именно mod_ip_quicksearch
если и при добавлении тоже с точкой - смотреть надо в другом месте

Спасибо тебе, добрый человек. Дело было в $i.$nformat.'+1
Вроде все! Теперь search наладить! Ну вот, а говорили: времени нет! А душа то хочет помочь. Правда - спасибо! Думаю, еще не все закончилось, но уже прогресс есть.Правда система все равно не принимает почему-то вылетает и становится нулем. Целые числа - ставит
 
Правда система все равно не принимает почему-то вылетает и становится нулем. Целые числа - ставит
Уточни - не понял просто что вы описываете. Что значит нулем становится? в поиске mod_ip_quicksearch или в админке/агенте при добавлении объекта...
Сейчас определиться надо - верно ли работает после переделки компонент...
а модуль проще всего допилить будет - главное чтобы ядро компонента без колосальных переделок работало как надо...
а лучше выложите сайт на тестовый хостинг, чтобы я визуально видел о чем вы пишите... я помогаю по мере свободности, ну и если модераторы не банят меня со своими правилами :) .
 
при добавление объекта устанавливаю на 2+1 или другое такое же значение, при нажатии на кнопку сохранить, обнуляется. При целых числах проблем не возникает, сохраняется.
 
Давайте попробуем разобраться с нулями...
меняем "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" на "$options[] = array('value' => $i.'.5', 'text' => $i.'+1');" и остальные строки по аналогии
пусть система думает что задание комнат - 1.5 а отображает их как 1+1

++++++++++++++++++++
У меня сохранилось!!! А у Вас??? Ниже для примера, как пробовал...
PHP:
                $options[] = array('value' => $i.'.25', 'text' => $i.'+1');
                $options[] = array('value' => $i.'.5', 'text' => $i.'+2');
                $options[] = array('value' => $i.'.75', 'text' => $i.'+3');
Только не забывайте что до точки - это количество основных комнат, а после точки (плюса) - количество гостинных... но не наоборот, т.е. поиск идет по первой цифре а не по второй (после плюса)
++++++++++++++++++++
Переходим к модулю поиска?
\modules\mod_ip_quicksearch\tmpl\default.php
ищем строку 154 - "<?php echo JHTML::_('select.options', $tmpbaths->getOptions(false), 'value', 'text'); ?>"
и меняем на "<?php echo JHTML::_('select.options', $tmpbaths->getOptions(true), 'value', 'text'); ?>"
Вот и получили ваш вид в быстром поиске!!!
+++++++++++++++++
теперь осталось разобраться с отображением в описании объекта и в перечне объектов на фронте дробных в наш формат... нужно дробные переформатировать в ваш формат... .25 -> +1, .5 -> +2, .75 -> +3 ... это совсем малость, большее мы уже сделали - поищите сами...
 
Последнее редактирование:
Давайте попробуем разобраться с нулями...
меняем "$options[] = array('value' => $i.'+1', 'text' => $i.'+1');" на "$options[] = array('value' => $i.'.5', 'text' => $i.'+1');" и остальные строки по аналогии
пусть система думает что задание комнат - 1.5 а отображает их как 1+1

++++++++++++++++++++
У меня сохранилось!!! А у Вас??? Ниже для примера, как пробовал...
PHP:
                $options[] = array('value' => $i.'.25', 'text' => $i.'+1');
                $options[] = array('value' => $i.'.5', 'text' => $i.'+2');
                $options[] = array('value' => $i.'.75', 'text' => $i.'+3');
Только не забывайте что до точки - это количество основных комнат, а после точки (плюса) - количество гостинных... но не наоборот, т.е. поиск идет по первой цифре а не по второй (после плюса)
++++++++++++++++++++
Переходим к модулю поиска?
\modules\mod_ip_quicksearch\tmpl\default.php
ищем строку 154 - "<?php echo JHTML::_('select.options', $tmpbaths->getOptions(false), 'value', 'text'); ?>"
и меняем на "<?php echo JHTML::_('select.options', $tmpbaths->getOptions(true), 'value', 'text'); ?>"
Вот и получили ваш вид в быстром поиске!!!
+++++++++++++++++
теперь осталось разобраться с отображением в описании объекта и в перечне объектов на фронте дробных в наш формат... нужно дробные переформатировать в ваш формат... .25 -> +1, .5 -> +2, .75 -> +3 ... это совсем малость, большее мы уже сделали - поищите сами...

Все сделала, как Вы описали, все сохраняет, теперь, но quick search все равно не отображает.
 
Проверьте еще раз параметр <?php echo JHTML::_('select.options', $tmpbaths->getOptions(true), 'value', 'text'); ?>

именно в getOptions в скобках должен быть true именно для строки с переменной $tmpbaths... возможно вы не ту строку заменили т.к. там похожих много! если делаете как я написал - все будет работать, т.к. сделал на локалке - и у меня работает в быстром поиске
+++++++++++
в нашем случае в базе mysql комнаты отображаются с точкой и двумя цифрами после нее... т.е. 1.00, 1.25, 1.50, 1.75 ... 3.00 ... 3.75 и т.п.
++++ и еще рекомендую дать доступ мне к сайту, а то я здесь как слепой котенок, тыкаю в небо пальцем на авось...
+++++++++++++++++
Вам нужны обязательно 1, 1+1, 1+2, 1+3, 2, 2+1, 2+2, 2+3 ... или достаточно 1, 1+1, 2, 2+1, 3 , 3+1 ... ???
 
Последнее редактирование:
Назад
Сверху